Chunked Unicode string parsing via parser.feed() now encodes the input data
to the native UTF-8 encoding directly, instead of going through Py_UNICODE / wchar_t encoding first, which previously required duplicate recoding in most cases.
GH#310: lxml.html.InputGetter supports __len__() to count the number of input fields.
Patch by Aidan Woolley.
lxml.html.InputGetter has a new .items() method to ease processing all input fields.
lxml.html.InputGetter.keys() now returns the field names in document order.
GH-309: The API documentation is now generated using sphinx-apidoc.
Patch by Chris Mayo.
LP#1869455: C14N 2.0 serialisation failed for unprefixed attributes
when a default namespace was defined.
TreeBuilder.close() raised AssertionError in some error cases where it
should have raised XMLSyntaxError. It now raises a combined exception to
keep up backwards compatibility, while switching to XMLSyntaxError as an