Lxml

Latest version: v5.3.1

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

Scan your dependencies

Page 5 of 28

4.6.0

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

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

* GH310: ``lxml.html.InputGetter`` supports ``__len__()`` to count the number of input fields.
Patch by Aidan Woolley.

* ``lxml.html.InputGetter`` has a new ``.items()`` method to ease processing all input fields.

* ``lxml.html.InputGetter.keys()`` now returns the field names in document order.

* GH-309: The API documentation is now generated using ``sphinx-apidoc``.
Patch by Chris Mayo.

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

* LP1869455: C14N 2.0 serialisation failed for unprefixed attributes
when a default namespace was defined.

* ``TreeBuilder.close()`` raised ``AssertionError`` in some error cases where it
should have raised ``XMLSyntaxError``. It now raises a combined exception to
keep up backwards compatibility, while switching to ``XMLSyntaxError`` as an
interface.

4.5.2

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

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

* ``Cleaner()`` now validates that only known configuration options can be set.

* LP1882606: ``Cleaner.clean_html()`` discarded comments and PIs regardless of the
corresponding configuration option, if ``remove_unknown_tags`` was set.

* LP1880251: Instead of globally overwriting the document loader in libxml2, lxml now
sets it per parser run, which improves the interoperability with other users of libxml2
such as libxmlsec.

* LP1881960: Fix build in CPython 3.10 by using Cython 0.29.21.

* The setup options "--with-xml2-config" and "--with-xslt-config" were accidentally renamed
to "--xml2-config" and "--xslt-config" in 4.5.1 and are now available again.

4.5.1

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

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

* LP1570388: Fix failures when serialising documents larger than 2GB in some cases.

* LP1865141, GH298: ``QName`` values were not accepted by the ``el.iter()`` method.
Patch by xmo-odoo.

* LP1863413, GH297: The build failed to detect libraries on Linux that are only
configured via pkg-config.
Patch by Hugh McMaster.

4.5.0

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

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

* A new function ``indent()`` was added to insert tail whitespace for pretty-printing
an XML tree.

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

* LP1857794: Tail text of nodes that get removed from a document using item
deletion disappeared silently instead of sticking with the node that was removed.

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

* MacOS builds are 64-bit-only by default.
Set CFLAGS and LDFLAGS explicitly to override it.

* Linux/MacOS Binary wheels now use libxml2 2.9.10 and libxslt 1.1.34.

* LP1840234: The package version number is now available as ``lxml.__version__``.

4.4.3

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

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

* LP1844674: ``itertext()`` was missing tail text of comments and PIs since 4.4.0.

4.4.2

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

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

* LP1835708: ``ElementInclude`` incorrectly rejected repeated non-recursive
includes as recursive.
Patch by Rainer Hausdorf.

Page 5 of 28

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.