[lxml-dev] lxml 1.3 is on cheeseshop
Hi all, I'm proud to announce the release of lxml 1.3. This is a major new release with various new features and lots of fixes compared to the 1.2 series. The complete changelog follows below. Major objectives of this release were: - API consolidation: make everything work with everything - improved namespace handling: avoid redundant namespaces wherever possible - simplicity and accessibility: improved, restructured documentation and simpler XML/HTML generation Future versions of lxml will continue this trend to make lxml the leading tool for XML and HTML in the Python world. Have fun, Stefan Behnel 1.3 (2007-06-24) ================ Features added -------------- * Module ``lxml.pyclasslookup`` implemens an Element class lookup scheme that can access the entire tree to determine a suitable Element class * Parsers take a ``remove_comments`` keyword argument that skips over comments * ``parse()`` function in ``objectify``, corresponding to ``XML()`` etc. * ``Element.addnext(el)`` and ``Element.addprevious(el)`` methods to support adding processing instructions and comments around the root node * Extended type annotation in objectify: cleaner annotation namespace setup plus new ``deannotate()`` function * Support for custom Element class instantiation in lxml.sax: passing a ``makeelement()`` function to the ElementTreeContentHandler will reuse the lookup context of that function * '.' represents empty ObjectPath (identity) Bugs fixed ---------- * Removing Elements from a tree could make them loose their namespace declarations * ``ElementInclude`` didn't honour base URL of original document * Replacing the children slice of an Element would cut off the tails of the original children * ``Element.getiterator(tag)`` did not accept ``Comment`` and ``ProcessingInstruction`` as tags * API functions now check incoming strings for XML conformity. Zero bytes or low ASCII characters are no longer accepted. * XSLT parsing failed to pass resolver context on to imported documents * More ET compatible behaviour when writing out XML declarations or not * ``Element.attrib`` was missing ``clear()`` and ``pop()`` methods * More robust error handling in ``iterparse()`` * Documents lost their top-level PIs and comments on serialisation * lxml.sax failed on comments and PIs. Comments are now properly ignored and PIs are copied. * Raise AssertionError when passing strings containing '\0' bytes 1.3beta (2007-02-27) ==================== Features added -------------- * ``DTD`` validator class (like ``RelaxNG`` and ``XMLSchema``) * HTML generator helpers by Fredrik Lundh in ``lxml.htmlbuilder`` * ``ElementMaker`` XML generator by Fredrik Lundh in ``lxml.builder.E`` * Support for pickeling ``objectify.ObjectifiedElement`` objects to XML * ``update()`` method on Element.attrib * Optimised replacement for libxml2's _xmlReconsiliateNs(). This allows lxml a better handling of namespaces when moving elements between documents. Bugs fixed ---------- * Possible memory leaks in namespace handling when moving elements between documents Other changes ------------- * major restructuring in the documentation
On 2007-06-24 23:20:07 +0200, Gary Poster <gary@zope.com> said:
On Jun 24, 2007, at 6:41 AM, Stefan Behnel wrote:
Hi all,
I'm proud to announce the release of lxml 1.3.
Anyone else getting a build error because of a missing pyclasslookup file? 1.3beta was fine, 1.3 not so much.
Yes, fails here too: Building lxml version 1.3 warning: no previously-included files found matching 'doc/pyrex.txt' warning: no previously-included files found matching 'src/lxml/etree.pxi' i686-apple-darwin8-gcc-4.0.1: src/lxml/pyclasslookup.c: No such file or directory i686-apple-darwin8-gcc-4.0.1: no input files error: Setup script exited with error: command 'gcc' failed with exit status 1 An error occured when trying to install lxml 1.3.Look above this message for any errors thatwere output by easy_install. -- Christian Zagrodnick gocept gmbh & co. kg · forsterstrasse 29 · 06112 halle/saale www.gocept.com · fon. +49 345 12298894 · fax. +49 345 12298891
Hi, Christian Zagrodnick wrote:
On 2007-06-24 23:20:07 +0200, Gary Poster <gary@zope.com> said:
Anyone else getting a build error because of a missing pyclasslookup file? 1.3beta was fine, 1.3 not so much.
Yes, fails here too:
Building lxml version 1.3 warning: no previously-included files found matching 'doc/pyrex.txt' warning: no previously-included files found matching 'src/lxml/etree.pxi' i686-apple-darwin8-gcc-4.0.1: src/lxml/pyclasslookup.c: No such file or directory i686-apple-darwin8-gcc-4.0.1: no input files error: Setup script exited with error: command 'gcc' failed with exit status 1 An error occured when trying to install lxml 1.3.Look above this message for any errors thatwere output by easy_install.
Yup, I noticed that, right after the release. Just didn't think it would matter since we have Pyrex in the source package. Since this isn't a real change, I'll just upload a new tar. Stefan
On 2007-06-25 10:32:05 +0200, Stefan Behnel <stefan_ml@behnel.de> said:
Hi,
Christian Zagrodnick wrote:
On 2007-06-24 23:20:07 +0200, Gary Poster <gary@zope.com> said:
Anyone else getting a build error because of a missing pyclasslookup file? 1.3beta was fine, 1.3 not so much.
Yes, fails here too:
Building lxml version 1.3 warning: no previously-included files found matching 'doc/pyrex.txt' warning: no previously-included files found matching 'src/lxml/etree.pxi' i686-apple-darwin8-gcc-4.0.1: src/lxml/pyclasslookup.c: No such file or directory i686-apple-darwin8-gcc-4.0.1: no input files error: Setup script exited with error: command 'gcc' failed with exit status 1 An error occured when trying to install lxml 1.3.Look above this message for any errors thatwere output by easy_install.
Yup, I noticed that, right after the release. Just didn't think it would matter since we have Pyrex in the source package.
Since this isn't a real change, I'll just upload a new tar.
Hey Stefan, thanks for the fast response. It compiles now :) Regarding the pyrex in the dist... I just don't know. All my setup does is easy_install (via zc.buildout). -- Christian Zagrodnick gocept gmbh & co. kg · forsterstrasse 29 · 06112 halle/saale www.gocept.com · fon. +49 345 12298894 · fax. +49 345 12298891
Hi, Christian Zagrodnick wrote:
Regarding the pyrex in the dist... I just don't know. All my setup does is easy_install (via zc.buildout).
Not sure either, but since Pyrex's distutils hack has a problem with dependencies anyway, I wouldn't mind pushing this on Pyrex and just getting on with the real work. :) Stefan
Hi Stefan, On 2007-06-24 12:41:50 +0200, Stefan Behnel <stefan_ml@behnel.de> said:
Hi all,
I'm proud to announce the release of lxml 1.3.
Thats great :) Would it be possible to change the index page of http://cheeseshop.python.org/pypi/lxml to contain the list of releases like with http://cheeseshop.python.org/pypi/zc.buildout for instance? -- Christian Zagrodnick gocept gmbh & co. kg · forsterstrasse 29 · 06112 halle/saale www.gocept.com · fon. +49 345 12298894 · fax. +49 345 12298891
Christian Zagrodnick wrote:
Would it be possible to change the index page of http://cheeseshop.python.org/pypi/lxml to contain the list of releases like with http://cheeseshop.python.org/pypi/zc.buildout for instance?
Done. Stefan
On 2007-06-25 10:36:39 +0200, Stefan Behnel <stefan_ml@behnel.de> said:
Christian Zagrodnick wrote:
Would it be possible to change the index page of http://cheeseshop.python.org/pypi/lxml to contain the list of releases like with http://cheeseshop.python.org/pypi/zc.buildout for instance?
Done.
Thanks. That's making my buildout live easier. BTW: sorry for not testing the 1.3 before it was actually out. :) -- Christian Zagrodnick gocept gmbh & co. kg · forsterstrasse 29 · 06112 halle/saale www.gocept.com · fon. +49 345 12298894 · fax. +49 345 12298891
participants (3)
-
Christian Zagrodnick -
Gary Poster -
Stefan Behnel