Sourced from lxml's changelog.
6.0.0 (2025-06-26)
Features added
GH#463:
lxml.html.diffis faster and provides structurally better diffs. Original patch by Steven Fernandez.GH#405: The factories
ElementandElementTreecan now be used in type hints.GH#448: Parsing from
memoryviewand other buffers is supported to allow zero-copy parsing.GH#437:
lxml.html.builderwas missing several HTML5 tag names. Patch by Nick Tarleton.GH#458:
CDATAcan now be written into the incrementalxmlfile()writer. Original patch by Lane Shaw.A new parser option
decompress=Falsewas 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_FEATURESandetree.LIBXML_FEATURES. This currently includescatalog,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
headandbodyproperties oflxml.htmlelements failed if no such element was found. They now returnNoneinstead. Original patch by FVolral.Tag names provided by code (API, not data) that are longer than
INT_MAXcould be truncated or mishandled in other ways.
.text_content()onlxml.htmlelements 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.monitoringsupport due to the lack of support in nedbat/coveragepy#1790
... (truncated)
2a67034
Prepare release of 6.0.0.e0b4e02
Update changelog.d3f4dcf
Build: Upgrade libxml2 to latest 2.14.4.014e51c
Build: Add Windows arm64 wheel builds (GH-465)d3914dc
Only use "xmlCtxtIsStopped()" from libxml2 2.15.0 on since it
fails to cover ...6e41390
Avoid reading the deprecated "disableSAX" attribute of
"xmlParserCtxt".f85da81
Use newer "language_level=3" in ElementPath module.787315e
Build: bump pypa/cibuildwheel in the github-actions group (#464)fb3adb1
Readme: Add project income report for 2024.8e61a75
Fit cached tuple more nicely into cachelines.