lxml 3.5.0 beta 1 released

Hi all, I just released the first beta version of the upcoming lxml 3.5. This is a feature release with many small and large improvements all over the place. Please give it some testing against your code. The documentation is here: http://lxml.de/ Download: http://lxml.de/files/lxml-3.5.0b1.tgz Signature: http://lxml.de/files/lxml-3.5.0b1.tgz.asc Changelog: http://lxml.de/3.5/changes-3.5.0b1.html Github: https://github.com/lxml/lxml/commit/717942131fe47584c45800970758d9b46ee077ff This release was built using Cython 0.23.2. If you are interested in commercial support or customisations for the lxml package, please contact me directly. Have fun, Stefan 3.5.0b1 (2015-09-18) ==================== Features added -------------- * ``cleanup_namespaces()`` accepts a new argument ``keep_ns_prefixes`` that does not remove definitions of the provided prefix-namespace mapping from the tree. * ``cleanup_namespaces()`` accepts a new argument ``top_nsmap`` that moves definitions of the provided prefix-namespace mapping to the top of the tree. * LP#1490451: ``Element`` objects gained a ``cssselect()`` method as known from ``lxml.html``. Patch by Simon Sapin. * API functions and methods behave and look more like Python functions, which allows introspection on them etc. One side effect to be aware of is that the functions now bind as methods when assigned to a class variable. A quick fix is to wrap them in ``staticmethod()`` (as for normal Python functions). * ISO-Schematron support gained an option ``error_finder`` that allows passing a filter function for picking validation errors from reports. * LP#1243600: Elements in ``lxml.html`` gained a ``classes`` property that provides a set-like interface to the ``class`` attribute. Original patch by masklinn. * LP#1341964: The soupparser now handles DOCTYPE declarations, comments and processing instructions outside of the root element. Patch by Olli Pottonen. * LP#1421512: The ``docinfo`` of a tree was made editable to allow setting and removing the public ID and system ID of the DOCTYPE. Patch by Olli Pottonen. * LP#1442427: More work-arounds for quirks and bugs in pypy and pypy3. * ``lxml.html.soupparser`` now uses BeautifulSoup version 4 instead of version 3 if available. Bugs fixed ---------- * Memory errors that occur during tree adaptations (e.g. moving subtrees to foreign documents) could leave the tree in a crash prone state. * Calling ``process_children()`` in an XSLT extension element without an ``output_parent`` argument failed with a ``TypeError``. Fix by Jens Tröger. * GH#162: Image data in HTML ``data`` URLs is considered safe and no longer removed by ``lxml.html.clean`` JavaScript cleaner. * GH#166: Static build could link libraries in wrong order. * GH#172: Rely a bit more on libxml2 for encoding detection rather than rolling our own in some cases. Patch by Olli Pottonen. * GH#159: Validity checks for names and string content were tightened to detect the use of illegal characters early. Patch by Olli Pottonen. * LP#1421921: Comments/PIs before the DOCTYPE declaration were not serialised. Patch by Olli Pottonen. * LP#659367: Some HTML DOCTYPE declarations were not serialised. Patch by Olli Pottonen. * LP#1238503: lxml.doctestcompare is now consistent with stdlib's doctest in how it uses ``+`` and ``-`` to refer to unexpected and missing output. * Empty prefixes are explicitly rejected when a namespace mapping is used with ElementPath to avoid hiding bugs in user code. * Several problems with PyPy were fixed by switching to Cython 0.23.

Am .09.2015, 09:44 Uhr, schrieb Stefan Behnel <stefan_ml@behnel.de>:
Please give it some testing against your code.
Works fine for the openpyxl test suite. Charlie -- Charlie Clark Managing Director Clark Consulting & Research German Office Kronenstr. 27a Düsseldorf D- 40217 Tel: +49-211-600-3657 Mobile: +49-178-782-6226

Am .09.2015, 09:44 Uhr, schrieb Stefan Behnel <stefan_ml@behnel.de>:
I am now seeing warnings in Python 3.4 that cgi.escape is deprecated and that html.escape should be used. Charlie -- Charlie Clark Managing Director Clark Consulting & Research German Office Kronenstr. 27a Düsseldorf D- 40217 Tel: +49-211-600-3657 Mobile: +49-178-782-6226

Charlie Clark schrieb am 20.09.2015 um 20:01:
Thanks. https://github.com/lxml/lxml/commit/20a9a8e808a93dc1acdade87f28d4bc84ced0092 Stefan

Am .09.2015, 09:44 Uhr, schrieb Stefan Behnel <stefan_ml@behnel.de>:
Stefan, one other thing: have there been any changes to xmlfile? We maintain a standard library clone of this (et_xmlfile, faster than SAX so what's not to like) that is programmed against the xmlfile tests. Charlie -- Charlie Clark Managing Director Clark Consulting & Research German Office Kronenstr. 27a Düsseldorf D- 40217 Tel: +49-211-600-3657 Mobile: +49-178-782-6226

Am .09.2015, 09:44 Uhr, schrieb Stefan Behnel <stefan_ml@behnel.de>:
Please give it some testing against your code.
Works fine for the openpyxl test suite. Charlie -- Charlie Clark Managing Director Clark Consulting & Research German Office Kronenstr. 27a Düsseldorf D- 40217 Tel: +49-211-600-3657 Mobile: +49-178-782-6226

Am .09.2015, 09:44 Uhr, schrieb Stefan Behnel <stefan_ml@behnel.de>:
I am now seeing warnings in Python 3.4 that cgi.escape is deprecated and that html.escape should be used. Charlie -- Charlie Clark Managing Director Clark Consulting & Research German Office Kronenstr. 27a Düsseldorf D- 40217 Tel: +49-211-600-3657 Mobile: +49-178-782-6226

Charlie Clark schrieb am 20.09.2015 um 20:01:
Thanks. https://github.com/lxml/lxml/commit/20a9a8e808a93dc1acdade87f28d4bc84ced0092 Stefan

Am .09.2015, 09:44 Uhr, schrieb Stefan Behnel <stefan_ml@behnel.de>:
Stefan, one other thing: have there been any changes to xmlfile? We maintain a standard library clone of this (et_xmlfile, faster than SAX so what's not to like) that is programmed against the xmlfile tests. Charlie -- Charlie Clark Managing Director Clark Consulting & Research German Office Kronenstr. 27a Düsseldorf D- 40217 Tel: +49-211-600-3657 Mobile: +49-178-782-6226
participants (2)
-
Charlie Clark
-
Stefan Behnel