- update to version 4.9.1:
* Bugs fixed
+ A crash was resolved when using iterwalk() (or canonicalize())
after parsing certain incorrect input. Note that iterwalk() can
crash on valid input parsed with the same parser after failing
to parse the incorrect input.
Note: The doc pdf seems to be outdated, but I couldn't find any newer ones on their webpage. Perhaps the doc package should be deleted?
OBS-URL: https://build.opensuse.org/request/show/988040
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=158
* GH#337: Path-like objects are now supported throughout the API instead of
just strings.
* The ``ElementMaker`` now supports ``QName`` values as tags, which always
override the default namespace of the factory.
* GH#338: In lxml.objectify, the XSI float annotation "nan" and "inf" were spelled in
lower case, whereas XML Schema datatypes define them as "NaN" and "INF" respectively.
* Built with Cython 0.29.28.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=155
* Chunked Unicode string parsing via ``parser.feed()`` now encodes the input data
to the native UTF-8 encoding directly, instead of going through ``Py_UNICODE`` /
``wchar_t`` encoding first, which previously required duplicate recoding in most cases.
* The standard namespace prefixes were mishandled during "C14N2" serialisation on Python 3.
* ``lxml.objectify`` previously accepted non-XML numbers with underscores (like "1_000")
as integers or float values in Python 3.6 and later. It now adheres to the number
format of the XML spec again.
* LP#1939031: Static wheels of lxml now contain the header files of zlib and libiconv
(in addition to the already provided headers of libxml2/libxslt/libexslt).
* Wheels include libxml2 2.9.12+ and libxslt 1.1.34 (also on Windows).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=154
* A vulnerability (CVE-2020-27783) was discovered in the HTML Cleaner by Yaniv Nizry,
which allowed JavaScript to pass through. The cleaner now removes more sneaky
"style" content.
* A vulnerability was discovered in the HTML Cleaner by Yaniv Nizry, which allowed
JavaScript to pass through. The cleaner now removes more sneaky "style" content.
* GH#310: ``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``.
* LP#1869455: 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.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=143
* ``Cleaner()`` now validates that only known configuration options can be set.
* LP#1882606: ``Cleaner.clean_html()`` discarded comments and PIs regardless of the
corresponding configuration option, if ``remove_unknown_tags`` was set.
* LP#1880251: 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.
* LP#1881960: 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.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=141
* A new function indent() was added to insert tail whitespace
for pretty-printing an XML tree.
* LP#1857794 Tail text of nodes that get removed from a document
using item deletion disappeared silently instead of sticking with the node
that was removed.
* LP#1840234: The package version number is now available as lxml.__version__
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=135
- version update to 4.4.0
* ``Element.clear()`` accepts a new keyword argument ``keep_tail=True`` to
clear everything but the tail text. This is helpful in some document-style
use cases.
* When creating attributes or namespaces from a dict in Python 3.6+, lxml now
preserves the original insertion order of that dict, instead of always sorting
the items by name. A similar change was made for ElementTree in CPython 3.8.
See https://bugs.python.org/issue34160
* Integer elements in ``lxml.objectify`` implement the ``__index__()`` special method.
* GH#269: Read-only elements in XSLT were missing the ``nsmap`` property.
Original patch by Jan Pazdziora.
* ElementInclude can now restrict the maximum inclusion depth via a ``max_depth``
argument to prevent content explosion. It is limited to 6 by default.
* The ``target`` object of the XMLParser can have ``start_ns()`` and ``end_ns()``
callback methods to listen to namespace declarations.
* The ``TreeBuilder`` has new arguments ``comment_factory`` and ``pi_factory`` to
pass factories for creating comments and processing instructions, as well as
flag arguments ``insert_comments`` and ``insert_pis`` to discard them from the
tree when set to false.
* A `C14N 2.0 <https://www.w3.org/TR/xml-c14n2/>`_ implementation was added as
``etree.canonicalize()``, a corresponding ``C14NWriterTarget`` class, and
a ``c14n2`` serialisation method.
* bugfixes, see CHANGES.txt
- deleted sources
- lxmldoc-4.3.3.pdf (renamed)
- added sources
+ lxmldoc-4.4.0.pdf
+ world.txt
OBS-URL: https://build.opensuse.org/request/show/720214
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=127
- Update to 4.2.4 (2018-08-03)
+ Features added
* GH#259: Allow using ``pkg-config`` for build configuration.
Patch by Patrick Griffis.
+ Bugs fixed
* LP#1773749, GH#268: Crash when moving an element to another document with
``Element.insert()``.
Patch by Alexander Weggerle.
- Update to 4.2.3
+ Bugs fixed
* Reverted GH#265: lxml links against zlib as a shared library again.
- Update to 4.2.2
+ Bugs fixed
* GH#266: Fix sporadic crash during GC when parse-time schema validation is used
and the parser participates in a reference cycle.
Original patch by Julien Greard.
* GH#265: lxml no longer links against zlib as a shared library, only on static builds.
Patch by Nehal J Wani.
OBS-URL: https://build.opensuse.org/request/show/627950
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=109
* GH#255: ``SelectElement.value`` returns more standard-compliant and
browser-like defaults for non-multi-selects. If no option is selected, the
value of the first option is returned (instead of None). If multiple options
are selected, the value of the last one is returned (instead of that of the
first one). If no options are present (not standard-compliant)
``SelectElement.value`` still returns ``None``.
* GH#261: The ``HTMLParser()`` now supports the ``huge_tree`` option.
Patch by stranac.
* LP#1551797: Some XSLT messages were not captured by the transform error log.
* LP#1737825: Crash at shutdown after an interrupted iterparse run with XMLSchema
validation.
- Add patch python-lxml-assert.patch to pass test fail on threading
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=105
- update to 4.1.1
- ElementPath supports text predicates for current node, like "[.='text']".
- ElementPath allows spaces in predicates.
- Custom Element classes and XPath functions can now be registered with
a decorator rather than explicit dict assignments.
- LP#1722776: Requesting non-Element objects like comments from
a document with PythonElementClassLookup could fail with a TypeError.
OBS-URL: https://build.opensuse.org/request/show/574238
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=103
- update to 3.6.1:
* Separate option ``inline_style`` for Cleaner that only removes ``style``
attributes instead of all styles.
* Windows build support for Python 3.5.
* Exclude ``file`` fields from ``FormElement.form_values`` (as browsers do).
* Try to provide base URL from ``Resolver.resolve_string()``.
* More accurate float serialisation in ``objectify.FloatElement``.
* Repair XSLT error logging.
OBS-URL: https://build.opensuse.org/request/show/419562
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=90
- Drop lxml-dont-depend-on-URL-formatting-in-test.patch, merged upstream
- Update to 3.4.3:
* Expression cache in ElementPath was ignored. Fix by Changaco.
* LP#1426868: Passing a default namespace and a prefixed namespace mapping
as nsmap into ``xmlfile.element()`` raised a ``TypeError``.
* LP#1421927: DOCTYPE system URLs were incorrectly quoted when containing
double quotes. Patch by Olli Pottonen.
* LP#1419354: meta-redirect URLs were incorrectly processed by
``iterlinks()`` if preceded by whitespace.
* LP#1415907: Crash when creating an XMLSchema from a non-root element
of an XML document.
* LP#1369362: HTML cleaning failed when hitting processing instructions
with pseudo-attributes.
* ``CDATA()`` wrapped content was rejected for tail text.
* CDATA sections were not serialised as tail text of the top-level element.
* New ``htmlfile`` HTML generator to accompany the incremental ``xmlfile``
serialisation API. Patch by Burak Arslan.
* ``lxml.sax.ElementTreeContentHandler`` did not initialise its superclass.
OBS-URL: https://build.opensuse.org/request/show/298550
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=80
- Update to version 3.3.2:
- The properties resolvers and version, as well as the methods
set_element_class_lookup() and makeelement(), were lost from iterparse
objects.
- LP#1222132: instances of XMLSchema, Schematron and RelaxNG did not clear
their local error_log before running a validation.
- LP#1238500: lxml.doctestcompare mixed up "expected" and "actual" in
attribute values.
- Some file I/O tests were failing in MS-Windows due to incorrect temp file
usage. Initial patch by Gabi Davar.
- LP#910014: duplicate IDs in a document were not reported by DTD
validation.
- LP#1185332: tostring(method="html") did not use HTML serialisation
semantics for trailing tail text. Initial patch by Sylvain Viollon.
- LP#1281139: .attrib value of Comments lost its mutation methods in 3.3.0.
Even though it is empty and immutable, it should still provide the same
interface as that returned for Elements.
- Run tests during build
OBS-URL: https://build.opensuse.org/request/show/224393
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=73