Lxml

Latest version: v5.3.1

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

Scan your dependencies

Page 15 of 28

3.1.2

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

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

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

* LP1136509: Passing attributes through the namespace-unaware API of
the sax bridge (i.e. the ``handler.startElement()`` method) failed
with a ``TypeError``. Patch by Mike Bayer.

* LP1123074: Fix serialisation error in XSLT output when converting
the result tree to a Unicode string.

* GH105: Replace illegal usage of ``xmlBufLength()`` in libxml2 2.9.0
by properly exported API function ``xmlBufUse()``.

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

3.1.1

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

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

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

* LP1160386: Write access to ``lxml.html.FormElement.fields`` raised
an AttributeError in Py3.

* Illegal memory access during cleanup in incremental xmlfile writer.

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

* The externally useless class ``lxml.etree._BaseParser`` was removed
from the module dict.

3.1.0

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

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

* GH89: lxml.html.clean allows overriding the set of attributes that it
considers 'safe'. Patch by Francis Devereux.

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

* LP1104370: ``copy.copy(el.attrib)`` raised an exception. It now returns
a copy of the attributes as a plain Python dict.

* GH95: When used with namespace prefixes, the ``el.find*()`` methods
always used the first namespace mapping that was provided for each
path expression instead of using the one that was actually passed
in for the current run.

* LP1092521, GH91: Fix undefined C symbol in Python runtimes compiled
without threading support. Patch by Ulrich Seidl.

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

3.1beta1

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

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

* New build-time option ``--with-unicode-strings`` for Python 2 that
makes the API always return Unicode strings for names and text
instead of byte strings for plain ASCII content.

* New incremental XML file writing API ``etree.xmlfile()``.

* E factory in lxml.objectify is callable to simplify the creation of
tags with non-identifier names without having to resort to getattr().

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

* When starting from a non-namespaced element in lxml.objectify, searching
for a child without explicitly specifying a namespace incorrectly found
namespaced elements with the requested local name, instead of restricting
the search to non-namespaced children.

* GH85: Deprecation warnings were fixed for Python 3.x.

* GH33: lxml.html.fromstring() failed to accept bytes input in Py3.

* LP1080792: Static build of libxml2 2.9.0 failed due to missing file.

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

* The externally useless class ``_ObjectifyElementMakerCaller`` was
removed from the module API of lxml.objectify.

* LP1075622: lxml.builder is faster for adding text to elements with
many children. Patch by Anders Hammarquist.

3.0.2

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

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

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

* Fix crash during interpreter shutdown by switching to Cython 0.17.3 for building.

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

3.0.1

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

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

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

* LP1065924: Element proxies could disappear during garbage collection
in PyPy without proper cleanup.

* GH71: Failure to work with libxml2 2.6.x.

* LP1065139: static MacOS-X build failed in Py3.

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

Page 15 of 28

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.