Lxml

Latest version: v5.3.0

Safety actively analyzes 682471 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 23 of 28

2.0.6

Not secure
==================

Features added
--------------

Bugs fixed
----------

* Incorrect evaluation of ``el.find("tag[child]")``.

* Windows build was broken.

* Moving a subtree from a document created in one thread into a
document of another thread could crash when the rest of the source
document is deleted while the subtree is still in use.

* Rare crash when serialising to a file object with certain encodings.

Other changes
-------------

* lxml should now build without problems on MacOS-X.

2.0.5

Not secure
==================

Features added
--------------

Bugs fixed
----------

* Resolving to a filename in custom resolvers didn't work.

* lxml did not honour libxslt's second error state "STOPPED", which
let some XSLT errors pass silently.

* Memory leak in Schematron with libxml2 >= 2.6.31.

Other changes
-------------

2.0.4

Not secure
==================

Features added
--------------

Bugs fixed
----------

* Hanging thread in conjunction with GTK threading.

* Crash bug in iterparse when moving elements into other documents.

* HTML elements' ``.cssselect()`` method was broken.

* ``ElementTree.find*()`` didn't accept QName objects.

Other changes
-------------

2.0.3

==================

Features added
--------------

* soupparser.parse() allows passing keyword arguments on to
BeautifulSoup.

* ``fromstring()`` method in ``lxml.html.soupparser``.

Bugs fixed
----------

* ``lxml.html.diff`` didn't treat empty tags properly (e.g.,
``<br>``).

* Handle entity replacements correctly in target parser.

* Crash when using ``iterparse()`` with XML Schema validation.

* The BeautifulSoup parser (soupparser.py) did not replace entities,
which made them turn up in text content.

* Attribute assignment of custom PyTypes in objectify could fail to
correctly serialise the value to a string.

Other changes
-------------

* ``lxml.html.ElementSoup`` was replaced by a new module
``lxml.html.soupparser`` with a more consistent API. The old module
remains for compatibility with ElementTree's own ElementSoup module.

* Setting the XSLT_CONFIG and XML2_CONFIG environment variables at
build time will let setup.py pick up the ``xml2-config`` and
``xslt-config`` scripts from the supplied path name.

* Passing ``--with-xml2-config=/path/to/xml2-config`` to setup.py will
override the ``xml2-config`` script that is used to determine the C
compiler options. The same applies for the ``--with-xslt-config``
option.

2.0.2

==================

Features added
--------------

* Support passing ``base_url`` to file parser functions to override
the filename of the file(-like) object.

Bugs fixed
----------

* The prefix for objectify's pytype namespace was missing from the set
of default prefixes.

* Memory leak in Schematron (fixed only for libxml2 2.6.31+).

* Error type names in RelaxNG were reported incorrectly.

* Slice deletion bug fixed in objectify.

Other changes
-------------

* Enabled doctests for some Python modules (especially ``lxml.html``).

* Add a ``method`` argument to ``lxml.html.tostring()``
(``method="xml"`` for XHTML output).

* Make it clearer that methods like ``lxml.html.fromstring()`` take a
``base_url`` argument.

2.0.1

==================

Features added
--------------

* Child iteration in ``lxml.pyclasslookup``.

* Loads of new docstrings reflect the signature of functions and
methods to make them visible in API docs and ``help()``

Bugs fixed
----------

* The module ``lxml.html.builder`` was duplicated as
``lxml.htmlbuilder``

* Form elements would return None for ``form.fields.keys()`` if there
was an unnamed input field. Now unnamed input fields are completely
ignored.

* Setting an element slice in objectify could insert slice-overlapping
elements at the wrong position.

Other changes
-------------

* The generated API documentation was cleaned up and disburdened from
non-public classes etc.

* The previously public module ``lxml.html.setmixin`` was renamed to
``lxml.html._setmixin`` as it is not an official part of lxml. If
you want to use it, feel free to copy it over to your own source
base.

* Passing ``--with-xslt-config=/path/to/xslt-config`` to setup.py will
override the ``xslt-config`` script that is used to determine the C
compiler options.

Page 23 of 28

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.