feat(Dependencies): Update dependency lxml to v5 #325
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.9.4
->5.3.0
Release Notes
lxml/lxml (lxml)
v5.3.0
Compare Source
==================
Features added
CDATA
sections are no longer rejected but split on outputto represent
]]>
correctly.Patch by Gertjan Klein.
Bugs fixed
LP#2060160: Attribute values serialised differently in
xmlfile.element()
andxmlfile.write()
.LP#2058177: The ISO-Schematron implementation could fail on unknown prefixes.
Patch by David Lakin.
Other changes
LP#2067707: The
strip_cdata
option inHTMLParser()
turned out to be useless and is now deprecated.Binary wheels use the library versions libxml2 2.12.9 and libxslt 1.1.42.
Windows binary wheels use the library versions libxml2 2.11.8 and libxslt 1.1.39.
Built with Cython 3.0.11.
v5.2.2
Compare Source
==================
Bugs fixed
GH#417: The
test_feed_parser
test could fail iflxml_html_clean
was not installed.It is now skipped in that case.
LP#2059910: The minimum CPU architecture for the Linux x86 binary wheels was set back to
"core2", without SSE 4.2.
If libxml2 uses iconv, the compile time version is available as
etree.ICONV_COMPILED_VERSION
.v5.2.1
Compare Source
==================
Bugs fixed
LP#2059910: The minimum CPU architecture for the Linux x86 binary wheels was set back to
"core2", but with SSE 4.2 enabled.
LP#2059977:
Element.iterfind("//absolute_path")
failed with aSyntaxError
where it should have issued a warning.
GH#416: The documentation build was using the non-standard
which
command.Patch by Michał Górny.
v5.2.0
Compare Source
==================
Other changes
LP#1958539: The
lxml.html.clean
implementation suffered from several (only if used)security issues in the past and was now extracted into a separate library:
https://github.com/fedora-python/lxml_html_clean
Projects that use lxml without "lxml.html.clean" will not notice any difference,
except that they won't have potentially vulnerable code installed.
The module is available as an "extra" setuptools dependency "lxml[html_clean]",
so that Projects that need "lxml.html.clean" will need to switch their requirements
from "lxml" to "lxml[html_clean]", or install the new library themselves.
The minimum CPU architecture for the Linux x86 binary wheels was upgraded to
"sandybridge" (launched 2011), and glibc 2.28 / gcc 12 (manylinux_2_28) wheels were added.
Built with Cython 3.0.10.
v5.1.1
Compare Source
==================
Bugs fixed
LP#2048920:
iterlinks()
inlxml.html
rejectedbytes
input in 5.1.0.High source line numbers from the parser are no longer truncated
(up to a C
long
) when using libxml2 2.11 or later.Other changes
GH#407: A compatibility test was adapted to recent expat versions.
Patch by Miro Hrončok.
Binary wheels use the library versions libxml2 2.12.6 and libxslt 1.1.39.
Windows binary wheels use the library versions libxml2 2.11.7 and libxslt 1.1.39.
Built with Cython 3.0.9.
v5.1.0
Compare Source
==================
Features added
Bugs fixed
Cleaner()
interpreted an accidentally provided string parameterfor the
host_whitelist
as list of characters and silently failed to reject any hosts.Passing a non-collection is now rejected.
Other changes
Support for Python 2.7 and Python versions < 3.6 was removed.
The wheel build was migrated to use
cibuildwheel
.Patch by Primož Godec.
v5.0.2
Compare Source
==================
Other changes
GH#407: A compatibility test was adapted to recent expat versions.
Patch by Miro Hrončok.
Binary wheels use the library versions libxml2 2.12.6 and libxslt 1.1.39.
Built with Cython 3.0.9.
v5.0.1
Compare Source
==================
Bugs fixed
LP#2046208: Parsing non-BMP Python Unicode strings could fail on macOS.
LP#2044225: When incrementally parsing broken HTML, reporting start events on
missing structural tags failed and could lead to subsequent exceptions.
LP#2045435: Some (not all) issues with stricter C compilers were resolved.
The binary wheels in the 5.0.0 release did not validate cleanly (but installed ok).
.. _latest_release:
v5.0.0
Compare Source
==================
Features added
Character escaping in
C14N2
serialisation now uses a single pass over the textinstead of searching for each unescaped character separately.
Early support for Python 3.13a2 was added.
Bugs fixed
LP#1976304: The
Element.addnext()
method previously inserted the new elementbefore existing tail text. The tail text of both sibling elements now stays on
the respective elements.
LP#1980767, GH#379:
TreeBuilder.close()
could fail with aTypeError
afterparsing incorrect input. Original patch by Enrico Minack.
Element.itertext(with_tail=False)
returned the tail text of comments andprocessing instructions, despite the explicit option.
GH#370: A crash with recent libxml2 2.11.x versions was resolved.
Patch by Michael Schlenker.
A compile problem with recent libxml2 2.12.x versions was resolved.
The internal exception handling in C callbacks was improved for Cython 3.0.
The exception declarations of
xmlInputReadCallback
,xmlInputCloseCallback
,xmlOutputWriteCallback
andxmlOutputCloseCallback
intree.pxd
werecorrected to prevent running Python code or calling into the C-API with a live
exception set.
GH#385: The long deprecated
unittest.m̀akeSuite()
function is no longer used.Patch by Miro Hrončok.
LP#1522052: A file-system specific test is now optional and should no longer fail
on systems that don't support it.
GH#392: Some tests were adapted for libxml2 2.13.
Patch by Nick Wellnhofer.
Contains all fixes from lxml 4.9.4.
Other changes
LP#1742885: lxml no longer expands external entities (XXE) by default to prevent
the security risk of loading arbitrary files and URLs. If this feature is needed,
it can be enabled in a backwards compatible way by using a parser with the option
resolve_entities=True
. The new default isresolve_entities='internal'
.With libxml2 2.10.4 and later (as provided by the lxml 5.0 binary wheels),
parsing HTML tags with "prefixes" no longer builds a namespace dictionary
in
nsmap
but considers theprefix:name
string the actual tag name.With older libxml2 versions, since 2.9.11, the prefix was removed. Before
that, the prefix was parsed as XML prefix.
lxml 5.0 does not try to hide this difference but now changes the ElementPath
implementation to let
element.find("part1:part2")
search for the tagpart1:part2
in documents parsed as HTML, instead of looking only forpart2
.LP#2024343: The validation of the schema file itself is now optional in the
ISO-Schematron implementation. This was done because some lxml distributions
discard the RNG validation schema file due to licensing issues. The validation
can now always be disabled with
Schematron(..., validate_schema=False)
.It is enabled by default if available and disabled otherwise. The module
constant
lxml.isoschematron.schematron_schema_valid_supported
can be usedto detect whether schema file validation is available.
Some redundant and long deprecated methods were removed:
parser.setElementClassLookup()
,xslt_transform.apply()
,xpath.evaluate()
.Some incorrect declarations were removed from
python.pxd
. In general, this fileshould not be used by external Cython code. Use the C-API declarations provided by
Cython itself instead.
Binary wheels use the library versions libxml2 2.12.3 and libxslt 1.1.39.
Built with Cython 3.0.7, updated to follow recent changes in Cython 3.1-dev.
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 is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.