[lxml-dev] lxml 1.2 released

Stefan Behnel stefan_ml at behnel.de
Tue Feb 20 14:30:01 CET 2007


Hi all,

after a period of reduced activity, lxml 1.2 has finally been released. This
is a somewhat conservative release in that it brings no major new features. It
rather contains a number of bug fixes and cleanups, both internally and at the
API level. Building lxml should have become easier again, and hacking the
build process should now be a lot simpler. The complete changelog follows.

Have fun,
Stefan


==========
ChangeLog:
==========

1.2 (2007-02-20)
================

Features added
--------------

* Rich comparison of QName objects

* Support for regular expressions in benchmark selection

* get/set emulation (not .attrib!) for attributes on processing instructions

* ElementInclude Python module for ElementTree compatible XInclude processing
  that honours custom resolvers registered with the source document

* ElementTree.parser property holds the parser used to parse the document

* setup.py has been refactored for greater readability and flexibility

* --rpath flag to setup.py to induce automatic linking-in of dynamic library
  runtime search paths has been renamed to --auto-rpath. This makes it
  possible to pass an --rpath directly to distutils; previously this was being
  shadowed.

Bugs fixed
----------

* Element instantiation now uses locks to prevent race conditions with threads

* ElementTree.write() did not raise an exception when the file wasn't writable

* Error handling could crash under Python <= 2.4.1 - fixed by disabling thread
  support in these environments

* Element.find*() did not accept QName objects as path

Other changes
-------------

* code cleanup: redundant _NodeBase super class merged into _Element class
  Note: although the impact should be zero in most cases, this change breaks
  the compatibiliy of the public C-API


More information about the lxml-dev mailing list