2014-11-23 16:07:06 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Update to 3.4.1:
3.4.1 (2014-11-20)
==================
Features added
--------------
* New ``htmlfile`` HTML generator to accompany the incremental ``xmlfile``
serialisation API. Patch by Burak Arslan.
Bugs fixed
----------
* ``lxml.sax.ElementTreeContentHandler`` did not initialise its superclass.
|
2014-09-14 19:51:15 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Update to 3.4.0:
3.4.0 (2014-09-10)
==================
Features added
--------------
* ``xmlfile(buffered=False)`` disables output buffering and flushes the
content after each API operation (starting/ending element blocks or writes).
A new method ``xf.flush()`` can alternatively be used to explicitly flush
the output.
* ``lxml.html.document_fromstring`` has a new option ``ensure_head_body=True``
which will add an empty head and/or body element to the result document if
missing.
* ``lxml.html.iterlinks`` now returns links inside meta refresh tags.
* New ``XMLParser`` option ``collect_ids=False`` to disable ID hash table
creation. This can substantially speed up parsing of documents with many
different IDs that are not used.
* The parser uses per-document hash tables for XML IDs. This reduces the
load of the global parser dict and speeds up parsing for documents with
many different IDs.
* ``ElementTree.getelementpath(element)`` returns a structural ElementPath
expression for the given element, which can be used for lookups later.
* ``xmlfile()`` accepts a new argument ``close=True`` to close file(-like)
objects after writing to them. Before, ``xmlfile()`` only closed the file
if it had opened it internally.
* Allow "bytearray" type for ASCII text input.
Bugs fixed
----------
Other changes
-------------
* LP#400588: decoding errors have become hard errors even in recovery mode.
Previously, they could lead to an internal tree representation in a mixed
encoding state, which lead to very late errors or even silently incorrect
behaviour during tree traversal or serialisation.
* Requires Python 2.6, 2.7, 3.2 or later. No longer supports
Python 2.4, 2.5 and 3.1, use lxml 3.3.x for those.
* Requires libxml2 2.7.0 or later and libxslt 1.1.23 or later,
use lxml 3.3.x with older versions.
|
2014-08-31 23:32:45 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Update to 3.3.6:
3.3.6 (2014-08-28)
==================
Bugs fixed
----------
* Prevent tree cycle creation when adding Elements as siblings.
* LP#1361948: crash when deallocating Element siblings without parent.
* LP#1354652: crash when traversing internally loaded documents in XSLT
extension functions.
|
2014-04-25 10:57:17 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Update to 3.3.5:
3.3.5 (2014-04-18)
==================
Bugs fixed
----------
* HTML cleaning could fail to strip javascript links that mix control
characters into the link scheme.
|
2014-04-11 20:01:27 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Update to 3.3.4:
3.3.4 (2014-04-03)
==================
Features added
--------------
* Source line numbers above 65535 are available on Elements when
using libxml2 2.9 or later.
Bugs fixed
----------
* ``lxml.html.fragment_fromstring()`` failed for bytes input in Py3.
|
2014-03-12 10:59:28 by Thomas Klausner | Files touched by this commit (3) |
Log message:
Update to 3.3.3:
3.3.3 (2014-03-04)
==================
Bugs fixed
----------
* Crash when using Element subtypes with ``__slots__``.
Other changes
-------------
* The internal classes ``_LogEntry`` and ``_Attrib`` can no longer be
subclassed from Python code.
3.3.2 (2014-02-26)
==================
Bugs fixed
----------
* The properties ``resolvers`` and ``version``, as well as the methods
``set_element_class_lookup()`` and ``makeelement()``, were lost from
``iterparse`` objects in 3.3.0.
* LP#1222132: instances of ``XMLSchema``, ``Schematron`` and ``RelaxNG``
did not clear their local ``error_log`` before running a validation.
* LP#1238500: lxml.doctestcompare mixed up "expected" and \
"actual" in
attribute values.
* Some file I/O tests were failing in MS-Windows due to non-portable temp
file usage. Initial patch by Gabi Davar.
* LP#910014: duplicate IDs in a document were not reported by DTD validation.
* LP#1185332: ``tostring(method="html")`` did not use HTML serialisation
semantics for trailing tail text. Initial patch by Sylvain Viollon.
* LP#1281139: ``.attrib`` value of Comments lost its mutation methods
in 3.3.0. Even though it is empty and immutable, it should still
provide the same interface as that returned for Elements.
|
2014-02-20 10:32:25 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Update to 3.3.1:
3.3.1 (2014-02-12)
==================
Features added
--------------
Bugs fixed
----------
* LP#1014290: HTML documents parsed with ``parser.feed()`` failed to find
elements during tag iteration.
* LP#1273709: Building in PyPy failed due to missing support for
``PyUnicode_Compare()`` and ``PyByteArray_*()`` in PyPy's C-API.
* LP#1274413: Compilation in MSVC failed due to missing "stdint.h" standard
header file.
* LP#1274118: iterparse() failed to parse BOM prefixed files.
|
2014-01-27 20:08:50 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Update to 3.3.0:
3.3.0 (2014-01-26)
==================
Bugs fixed
----------
* The heuristic that distinguishes file paths from URLs was tightened
to produce less false negatives.
3.3.0beta5 (2014-01-18)
=======================
Features added
--------------
* The PEP 393 unicode parsing support gained a fallback for wchar strings
which might still be somewhat common on Windows systems.
Bugs fixed
----------
* Several error handling problems were fixed throughout the code base that
could previously lead to exceptions being silently swallowed or not
properly reported.
* The C-API function ``appendChild()`` is now deprecated as it does not
propagate exceptions (its return type is ``void``). The new function
``appendChildToElement()`` was added as a safe replacement.
* Passing a string into ``fromstringlist()`` raises an exception instead of
parsing the string character by character.
Other changes
-------------
* Document cleanup code was simplified using the new GC features in
Cython 0.20.
3.3.0beta4 (2014-01-12)
=======================
Bugs fixed
----------
* The (empty) value returned by the ``attrib`` property of Entity and Comment
objects was mutable.
* Element class lookup wasn't available for the new pull parsers or when using
a custom parser target.
* Setting Element attributes on instantiation with both the ``attrib`` argument
and keyword arguments could modify the mapping passed as ``attrib``.
* LP#1266171: DTDs instantiated from internal/external subsets (i.e. through
the docinfo property) lost their attribute declarations.
Other changes
-------------
* Built with Cython 0.20pre (gitrev 012ae82eb) to prepare support for
Python 3.4.
3.3.0beta3 (2014-01-02)
=======================
Features added
--------------
* Unicode string parsing was optimised for Python 3.3 (PEP 393).
Bugs fixed
----------
* HTML parsing of Unicode strings could misdecode the input on some platforms.
* Crash in xmlfile() when closing open elements out of order in an error case.
3.3.0beta2 (2013-12-20)
=======================
Features added
--------------
* ``iterparse()`` supports the ``recover`` option.
Bugs fixed
----------
* Crash in ``iterparse()`` for HTML parsing.
* Crash in target parsing with attributes.
Other changes
-------------
* The safety check in the read-only tree implementation (e.g. used by
``PythonElementClassLookup``) raises a more appropriate ``ReferenceError``
for illegal access after tree disposal instead of an ``AssertionError``.
This should only impact test code that specifically checks the original
behaviour.
3.3.0beta1 (2013-12-12)
=======================
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
----------
* LP#1255132: 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.
* LP#1228881: ``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.
* LP#1206077: 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.
3.2.5 (2014-01-02)
==================
Bugs fixed
----------
* Crash in xmlfile() when closing open elements out of order in an error case.
* Crash in target parsing with attributes.
* LP#1255132: crash when trying to run validation over non-Element (e.g.
comment or PI).
|
2014-01-25 11:30:32 by Thomas Klausner | Files touched by this commit (533) |  |
Log message:
Mark packages as not ready for python-3.x where applicable;
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE= 33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE= 33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.
Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.
Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.
Whitespace cleanups and other nits corrected, where necessary.
|
2014-01-01 12:52:43 by Thomas Klausner | Files touched by this commit (776) |
Log message:
Recursive PKGREVISION bump for libgcrypt-1.6.0 shlib major bump.
|