======================
Features added
--------------
* New event types 'comment' and 'pi' in ``iterparse()``.
* ``XSLTAccessControl`` instances have a property ``options`` that
returns a dict of access configuration options.
* Constant instances ``DENY_ALL`` and ``DENY_WRITE`` on
``XSLTAccessControl`` class.
* Extension elements for XSLT (experimental!)
* ``Element.base`` property returns the xml:base or HTML base URL of
an Element.
* ``docinfo.URL`` property is writable.
Bugs fixed
----------
* Default encoding for plain text serialisation was different from
that of XML serialisation (UTF-8 instead of ASCII).
Other changes
-------------
* Minor API speed-ups.
* The benchmark suite now uses tail text in the trees, which makes the
absolute numbers incomparable to previous results.
* Generating the HTML documentation now requires Pygments_, which is
used to enable syntax highlighting for the doctest examples.
.. _Pygments: http://pygments.org/
Most long-time deprecated functions and methods were removed:
- ``etree.clearErrorLog()``, use ``etree.clear_error_log()``
- ``etree.useGlobalPythonLog()``, use
``etree.use_global_python_log()``
- ``etree.ElementClassLookup.setFallback()``, use
``etree.ElementClassLookup.set_fallback()``
- ``etree.getDefaultParser()``, use ``etree.get_default_parser()``
- ``etree.setDefaultParser()``, use ``etree.set_default_parser()``
- ``etree.setElementClassLookup()``, use
``etree.set_element_class_lookup()``
Note that ``parser.setElementClassLookup()`` has not been removed
yet, although ``parser.set_element_class_lookup()`` should be used
instead.
- ``xpath_evaluator.registerNamespace()``, use
``xpath_evaluator.register_namespace()``
- ``xpath_evaluator.registerNamespaces()``, use
``xpath_evaluator.register_namespaces()``
- ``objectify.setPytypeAttributeTag``, use
``objectify.set_pytype_attribute_tag``
- ``objectify.setDefaultParser()``, use
``objectify.set_default_parser()``