Skip to content

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Jul 25, 2025

This PR contains the following updates:

Package Change Age Confidence
lxml (source, changelog) ==5.3.2 -> ==6.0.1 age confidence

Release Notes

lxml/lxml (lxml)

v6.0.1

Compare Source

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

Bugs fixed

  • LP#2116333: lxml.sax._getNsTag() could fail with an exception on malformed input.

  • GH#467: Some test adaptations were made for libxml2 2.15.
    Patch by Nick Wellnhofer.

  • LP2119510, GH#473: A Python compatibility test was fixed for Python 3.14+.
    Patch by Lumír Balhar.

  • GH#471: Wheels for "riscv64" on recent Python versions were added.
    Patch by ffgan.

  • GH#469: The wheel build no longer requires the wheel package unconditionally.
    Patch by Miro Hrončok.

  • Binary wheels use the library version libxml2 2.14.5.

  • Windows binary wheels continue to use a security patched library version libxml2 2.11.9.

v6.0.0

Compare Source

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

Features added

  • GH#463: lxml.html.diff is faster and provides structurally better diffs.
    Original patch by Steven Fernandez.

  • GH#405: The factories Element and ElementTree can now be used in type hints.

  • GH#448: Parsing from memoryview and other buffers is supported to allow zero-copy parsing.

  • GH#437: lxml.html.builder was missing several HTML5 tag names.
    Patch by Nick Tarleton.

  • GH#458: CDATA can now be written into the incremental xmlfile() writer.
    Original patch by Lane Shaw.

  • A new parser option decompress=False was added that controls the automatic
    input decompression when using libxml2 2.15.0 or later. Disabling this option
    by default will effectively prevent decompression bombs when handling untrusted
    input. Code that depends on automatic decompression must enable this option.
    Note that libxml2 2.15.0 was not released yet, so this option currently has no
    effect but can already be used.

  • The set of compile time / runtime supported libxml2 feature names is available as
    etree.LIBXML_COMPILED_FEATURES and etree.LIBXML_FEATURES.
    This currently includes
    catalog, ftp, html, http, iconv, icu,
    lzma, regexp, schematron, xmlschema, xpath, zlib.

Bugs fixed

  • GH#353: Predicates in .find*() could mishandle tag indices if a default namespace is provided.
    Original patch by Luise K.

  • GH#272: The head and body properties of lxml.html elements failed if no such element
    was found. They now return None instead.
    Original patch by FVolral.

  • Tag names provided by code (API, not data) that are longer than INT_MAX
    could be truncated or mishandled in other ways.

  • .text_content() on lxml.html elements accidentally returned a "smart string"
    without additional information. It now returns a plain string.

  • LP#2109931: When building lxml with coverage reporting, it now disables the sys.monitoring
    support due to the lack of support ihttps://github.com/nedbat/coveragepy/issues/179090

Other changes

  • Support for Python < 3.8 was removed.

  • Parsing directly from zlib (or lzma) compressed data is now considered an optional
    feature in lxml. It may get removed from libxml2 at some point for security reasons
    (compression bombs) and is therefore no longer guaranteed to be available in lxml.

    As of this release, zlib support is still normally available in the binary wheels
    but may get disabled or removed in later (x.y.0) releases. To test the availability,
    use "zlib" in etree.LIBXML_FEATURES.

  • The Schematron class is deprecated and will become non-functional in a future lxml version.
    The feature will soon be removed from libxml2 and stop being available.

  • GH#438: Wheels include the arm7l target.

  • GH#465: Windows wheels include the arm64 target.
    Patch by Finn Womack.

  • Binary wheels use the library versions libxml2 2.14.4 and libxslt 1.1.43.
    Note that this disables direct HTTP and FTP support for parsing from URLs.
    Use Python URL request tools instead (which usually also support HTTPS).
    To test the availability, use "http" in etree.LIBXML_FEATURES.

  • Windows binary wheels use the library versions libxml2 2.11.9, libxslt 1.1.39 and libiconv 1.17.
    They are now based on VS-2022.

  • Built using Cython 3.1.2.

  • The debug methods MemDebug.dump() and MemDebug.show() were removed completely.
    libxml2 2.13.0 discarded this feature.

v5.4.0

Compare Source

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

Bugs fixed

  • LP#2107279: Binary wheels use libxml2 2.13.8 and libxslt 1.1.43 to resolve several CVEs.
    (Binary wheels for Windows continue to use a patched libxml2 2.11.9 and libxslt 1.1.39.)
    Issue found by Anatoly Katyushin.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/lxml-6.x branch 2 times, most recently from 62eed87 to 560dac2 Compare August 22, 2025 09:26
@renovate renovate bot force-pushed the renovate/lxml-6.x branch from 560dac2 to dbc9c64 Compare August 22, 2025 09:32
@renovate renovate bot force-pushed the renovate/lxml-6.x branch from dbc9c64 to d7bf634 Compare August 24, 2025 07:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants