- Bugs fixed
-
- * Potential memory leak on exception handling. This was due to a
- problem in Cython, not lxml itself.
- * iter_links (and related link-rewriting functions) in lxml.html would
- interpret CSS like url("link") incorrectly (treating the quotation
- marks as part of the link).
- * Failing import on systems that have an io module.
- Features added
-
- * Allow lxml.html.diff.htmldiff to accept Element objects,
- not just HTML strings.
-
- Bugs fixed
-
- * Crash when using an XPath evaluator in multiple threads.
- * Fixed missing whitespace before Link:... in lxml.html.diff.
-
- Other changes
-
- * Export lxml.html.parse.
- Bugs fixed
-
- * Ref-count leaks when lxml enters a try-except statement while an
- outside exception lives in sys.exc_*(). This was due to a problem
- in Cython, not lxml itself.
- * Parser Unicode decoding errors could get swallowed by other
- exceptions.
- * Name/import errors in some Python modules.
- * Internal DTD subsets that did not specify a system or public ID
- were not serialised and did not appear in the docinfo property
- of ElementTrees.
- * Fix a pre-Py3k warning when parsing from a gzip file in Py2.6.
- * Test suite fixes for libxml2 2.7.
- * Resolver.resolve_string() did not work for non-ASCII byte strings.
- * Resolver.resolve_file() was broken.
- * Overriding the parser encoding didn't work for many encodings.
- Features added
-
- * lxml.etree now tries to find the absolute path name of files when
- parsing from a file-like object. This helps custom resolvers when
- resolving relative URLs, as lixbml2 can prepend them with the path of
- the source document.
-
- Bugs fixed
-
- * Memory problem when passing documents between threads.
- * Target parser did not honour the recover option and raised an exception
- instead of calling .close() on the target.