=======================
Features added
--------------
* New option ``handle_failures`` in ``make_links_absolute()`` and
``resolve_base_href()`` (lxml.html) that enables ignoring or
discarding links that fail to parse as URLs.
* New parser classes ``XMLPullParser`` and ``HTMLPullParser`` for
incremental parsing, as implemented for ElementTree in Python 3.4.
* ``iterparse()`` enables recovery mode by default for HTML parsing
(``html=True``).
Bugs fixed
----------
* LP1255132: crash when trying to run validation over non-Element (e.g.
comment or PI).
* Error messages in the log and in exception messages that originated
from libxml2 could accidentally be picked up from preceding warnings
instead of the actual error.
* The ``ElementMaker`` in lxml.objectify did not accept a dict as
argument for adding attributes to the element it's building. This
works as in lxml.builder now.
* LP1228881: ``repr(XSLTAccessControl)`` failed in Python 3.
* Raise ``ValueError`` when trying to append an Element to itself or
to one of its own descendants, instead of running into an infinite
loop.
* LP1206077: htmldiff discarded whitespace from the output.
* Compressed plain-text serialisation to file-like objects was broken.
* lxml.html.formfill: Fix textarea form filling.
The textarea used to be cleared before the new content was set,
which removed the name attribute.
Other changes
-------------
* Some basic API classes use freelists internally for faster
instantiation. This can speed up some ``iterparse()`` scenarios,
for example.
* ``iterparse()`` was rewritten to use the new ``*PullParser``
classes internally instead of being a parser itself.