Fedora 18 Update: python-lxml-3.2.1-1.fc18
updates at fedoraproject.org
updates at fedoraproject.org
Tue May 21 08:32:13 UTC 2013
--------------------------------------------------------------------------------
Fedora Update Notification
FEDORA-2013-8002
2013-05-13 00:03:08
--------------------------------------------------------------------------------
Name : python-lxml
Product : Fedora 18
Version : 3.2.1
Release : 1.fc18
URL : http://lxml.de
Summary : ElementTree-like Python bindings for libxml2 and libxslt
Description :
lxml provides a Python binding to the libxslt and libxml2 libraries.
It follows the ElementTree API as much as possible in order to provide
a more Pythonic interface to libxml2 and libxslt than the default
bindings. In particular, lxml deals with Python Unicode strings
rather than encoded UTF-8 and handles memory management automatically,
unlike the default bindings.
--------------------------------------------------------------------------------
Update Information:
3.2.1 (2013-05-11)
==================
Features added
--------------
* The methods ``apply_templates()`` and ``process_children()`` of XSLT
extension elements have gained two new boolean options ``elements_only``
and ``remove_blank_text`` that discard either all strings or
whitespace-only strings from the result list.
Bugs fixed
----------
* When moving Elements to another tree, the namespace cleanup mechanism
no longer drops namespace prefixes from attributes for which it finds
a default namespace declaration, to prevent them from appearing as
unnamespaced attributes after serialisation.
* Returning non-type objects from a custom class lookup method could lead
to a crash.
* Instantiating and using subtypes of Comments and ProcessingInstructions
crashed.
3.2.0 (2013-04-28)
==================
Features added
--------------
Bugs fixed
----------
* LP#690319: Leading whitespace could change the behaviour of the string
parsing functions in ``lxml.html``.
* LP#599318: The string parsing functions in ``lxml.html`` are more robust
in the face of uncommon HTML content like framesets or missing body tags.
Patch by Stefan Seelmann.
* LP#712941: I/O errors while trying to access files with paths that
contain non-ASCII characters could raise ``UnicodeDecodeError`` instead
of properly reporting the ``IOError``.
* LP#673205: Parsing from in-memory strings disabled network access in the
default parser and made subsequent attempts to parse from a URL fail.
* LP#971754: lxml.html.clean appends 'nofollow' to 'rel' attributes instead
of overwriting the current value.
* LP#715687: lxml.html.clean no longer discards scripts that are explicitly
allowed by the user provided whitelist. Patch by Christine Koppelt.
3.1.2 (2013-04-12)
==================
Bugs fixed
----------
* LP#1136509: Passing attributes through the namespace-unaware API of
the sax bridge (i.e. the ``handler.startElement()`` method) failed
with a ``TypeError``. Patch by Mike Bayer.
* LP#1123074: Fix serialisation error in XSLT output when converting
the result tree to a Unicode string.
* GH#105: Replace illegal usage of ``xmlBufLength()`` in libxml2 2.9.0
by properly exported API function ``xmlBufUse()``.
3.1.1 (2013-03-29)
==================
Features added
--------------
Bugs fixed
----------
* LP#1160386: Write access to ``lxml.html.FormElement.fields`` raised
an AttributeError in Py3.
* Illegal memory access during cleanup in incremental xmlfile writer.
Other changes
-------------
* The externally useless class ``lxml.etree._BaseParser`` was removed
from the module dict.
3.2.0 (2013-04-28)
==================
Features added
--------------
Bugs fixed
----------
* LP#690319: Leading whitespace could change the behaviour of the string
parsing functions in ``lxml.html``.
* LP#599318: The string parsing functions in ``lxml.html`` are more robust
in the face of uncommon HTML content like framesets or missing body tags.
Patch by Stefan Seelmann.
* LP#712941: I/O errors while trying to access files with paths that
contain non-ASCII characters could raise ``UnicodeDecodeError`` instead
of properly reporting the ``IOError``.
* LP#673205: Parsing from in-memory strings disabled network access in the
default parser and made subsequent attempts to parse from a URL fail.
* LP#971754: lxml.html.clean appends 'nofollow' to 'rel' attributes instead
of overwriting the current value.
* LP#715687: lxml.html.clean no longer discards scripts that are explicitly
allowed by the user provided whitelist. Patch by Christine Koppelt.
3.1.2 (2013-04-12)
==================
Bugs fixed
----------
* LP#1136509: Passing attributes through the namespace-unaware API of
the sax bridge (i.e. the ``handler.startElement()`` method) failed
with a ``TypeError``. Patch by Mike Bayer.
* LP#1123074: Fix serialisation error in XSLT output when converting
the result tree to a Unicode string.
* GH#105: Replace illegal usage of ``xmlBufLength()`` in libxml2 2.9.0
by properly exported API function ``xmlBufUse()``.
3.1.1 (2013-03-29)
==================
Features added
--------------
Bugs fixed
----------
* LP#1160386: Write access to ``lxml.html.FormElement.fields`` raised
an AttributeError in Py3.
* Illegal memory access during cleanup in incremental xmlfile writer.
Other changes
-------------
* The externally useless class ``lxml.etree._BaseParser`` was removed
from the module dict.
3.2.0 (2013-04-28)
==================
Features added
--------------
Bugs fixed
----------
* LP#690319: Leading whitespace could change the behaviour of the string
parsing functions in ``lxml.html``.
* LP#599318: The string parsing functions in ``lxml.html`` are more robust
in the face of uncommon HTML content like framesets or missing body tags.
Patch by Stefan Seelmann.
* LP#712941: I/O errors while trying to access files with paths that
contain non-ASCII characters could raise ``UnicodeDecodeError`` instead
of properly reporting the ``IOError``.
* LP#673205: Parsing from in-memory strings disabled network access in the
default parser and made subsequent attempts to parse from a URL fail.
* LP#971754: lxml.html.clean appends 'nofollow' to 'rel' attributes instead
of overwriting the current value.
* LP#715687: lxml.html.clean no longer discards scripts that are explicitly
allowed by the user provided whitelist. Patch by Christine Koppelt.
3.1.2 (2013-04-12)
==================
Bugs fixed
----------
* LP#1136509: Passing attributes through the namespace-unaware API of
the sax bridge (i.e. the ``handler.startElement()`` method) failed
with a ``TypeError``. Patch by Mike Bayer.
* LP#1123074: Fix serialisation error in XSLT output when converting
the result tree to a Unicode string.
* GH#105: Replace illegal usage of ``xmlBufLength()`` in libxml2 2.9.0
by properly exported API function ``xmlBufUse()``.
3.1.1 (2013-03-29)
==================
Features added
--------------
Bugs fixed
----------
* LP#1160386: Write access to ``lxml.html.FormElement.fields`` raised
an AttributeError in Py3.
* Illegal memory access during cleanup in incremental xmlfile writer.
Other changes
-------------
* The externally useless class ``lxml.etree._BaseParser`` was removed
from the module dict.
--------------------------------------------------------------------------------
ChangeLog:
* Sun May 12 2013 Jeffrey Ollie <jeff at ocjtech.us> - 3.2.1-1
- 3.2.1 (2013-05-11)
- ==================
-
- Features added
- --------------
-
- * The methods ``apply_templates()`` and ``process_children()`` of XSLT
- extension elements have gained two new boolean options ``elements_only``
- and ``remove_blank_text`` that discard either all strings or
- whitespace-only strings from the result list.
-
- Bugs fixed
- ----------
-
- * When moving Elements to another tree, the namespace cleanup mechanism
- no longer drops namespace prefixes from attributes for which it finds
- a default namespace declaration, to prevent them from appearing as
- unnamespaced attributes after serialisation.
-
- * Returning non-type objects from a custom class lookup method could lead
- to a crash.
-
- * Instantiating and using subtypes of Comments and ProcessingInstructions
- crashed.
* Fri May 10 2013 Jeffrey Ollie <jeff at ocjtech.us> - 3.2.0-1
- 3.2.0 (2013-04-28)
- ==================
-
- Features added
- --------------
-
- Bugs fixed
- ----------
-
- * LP#690319: Leading whitespace could change the behaviour of the string
- parsing functions in ``lxml.html``.
-
- * LP#599318: The string parsing functions in ``lxml.html`` are more robust
- in the face of uncommon HTML content like framesets or missing body tags.
- Patch by Stefan Seelmann.
-
- * LP#712941: I/O errors while trying to access files with paths that
- contain non-ASCII characters could raise ``UnicodeDecodeError`` instead
- of properly reporting the ``IOError``.
-
- * LP#673205: Parsing from in-memory strings disabled network access in the
- default parser and made subsequent attempts to parse from a URL fail.
-
- * LP#971754: lxml.html.clean appends 'nofollow' to 'rel' attributes instead
- of overwriting the current value.
-
- * LP#715687: lxml.html.clean no longer discards scripts that are explicitly
- allowed by the user provided whitelist. Patch by Christine Koppelt.
-
- 3.1.2 (2013-04-12)
- ==================
-
- Bugs fixed
- ----------
-
- * LP#1136509: Passing attributes through the namespace-unaware API of
- the sax bridge (i.e. the ``handler.startElement()`` method) failed
- with a ``TypeError``. Patch by Mike Bayer.
-
- * LP#1123074: Fix serialisation error in XSLT output when converting
- the result tree to a Unicode string.
-
- * GH#105: Replace illegal usage of ``xmlBufLength()`` in libxml2 2.9.0
- by properly exported API function ``xmlBufUse()``.
-
- 3.1.1 (2013-03-29)
- ==================
-
- Features added
- --------------
-
- Bugs fixed
- ----------
-
- * LP#1160386: Write access to ``lxml.html.FormElement.fields`` raised
- an AttributeError in Py3.
-
- * Illegal memory access during cleanup in incremental xmlfile writer.
-
- Other changes
- -------------
-
- * The externally useless class ``lxml.etree._BaseParser`` was removed
- from the module dict.
* Fri Mar 8 2013 Jeffrey Ollie <jeff at ocjtech.us> - 3.1.0-1
- 3.1.0 (2013-02-10)
- ==================
-
- Features added
- --------------
-
- * GH#89: lxml.html.clean allows overriding the set of attributes that it
- considers 'safe'. Patch by Francis Devereux.
-
- Bugs fixed
- ----------
-
- * LP#1104370: ``copy.copy(el.attrib)`` raised an exception. It now returns
- a copy of the attributes as a plain Python dict.
-
- * GH#95: When used with namespace prefixes, the ``el.find*()`` methods
- always used the first namespace mapping that was provided for each
- path expression instead of using the one that was actually passed
- in for the current run.
-
- * LP#1092521, GH#91: Fix undefined C symbol in Python runtimes compiled
- without threading support. Patch by Ulrich Seidl.
-
- Other changes
- -------------
-
-
- 3.1beta1 (2012-12-21)
- =====================
-
- Features added
- --------------
-
- * New build-time option ``--with-unicode-strings`` for Python 2 that
- makes the API always return Unicode strings for names and text
- instead of byte strings for plain ASCII content.
-
- * New incremental XML file writing API ``etree.xmlfile()``.
-
- * E factory in lxml.objectify is callable to simplify the creation of
- tags with non-identifier names without having to resort to getattr().
-
- Bugs fixed
- ----------
-
- * When starting from a non-namespaced element in lxml.objectify, searching
- for a child without explicitly specifying a namespace incorrectly found
- namespaced elements with the requested local name, instead of restricting
- the search to non-namespaced children.
-
- * GH#85: Deprecation warnings were fixed for Python 3.x.
-
- * GH#33: lxml.html.fromstring() failed to accept bytes input in Py3.
-
- * LP#1080792: Static build of libxml2 2.9.0 failed due to missing file.
-
- Other changes
- -------------
-
- * The externally useless class ``_ObjectifyElementMakerCaller`` was
- removed from the module API of lxml.objectify.
-
- * LP#1075622: lxml.builder is faster for adding text to elements with
- many children. Patch by Anders Hammarquist.
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 3.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Mon Oct 15 2012 Jeffrey Ollie <jeff at ocjtech.us> - 3.0.1-1
- 3.0.1 (2012-10-14)
- Bugs fixed
-
- * LP#1065924: Element proxies could disappear during garbage collection
- in PyPy without proper cleanup.
- * GH#71: Failure to work with libxml2 2.6.x.
- * LP#1065139: static MacOS-X build failed in Py3.
* Wed Oct 10 2012 Jeffrey Ollie <jeff at ocjtech.us> - 3.0-1
- 3.0 (2012-10-08)
- ================
-
- Features added
- --------------
-
- Bugs fixed
- ----------
-
- * End-of-file handling was incorrect in iterparse() when reading from
- a low-level C file stream and failed in libxml2 2.9.0 due to its
- improved consistency checks.
-
- Other changes
- -------------
-
- * The build no longer uses Cython by default unless the generated C files
- are missing. To use Cython, pass the option "--with-cython". To ignore
- the fatal build error when Cython is required but not available (e.g. to
- run special setup.py commands that do not actually run a build), pass
- "--without-cython".
-
-
- 3.0beta1 (2012-09-26)
- =====================
-
- Features added
- --------------
-
- * Python level access to (optional) libxml2 memory debugging features
- to simplify debugging of memory leaks etc.
-
- Bugs fixed
- ----------
-
- * Fix a memory leak in XPath by switching to Cython 0.17.1.
-
- * Some tests were adapted to work with PyPy.
-
- Other changes
- -------------
-
- * The code was adapted to work with the upcoming libxml2 2.9.0 release.
-
-
- 3.0alpha2 (2012-08-23)
- ======================
-
- Features added
- --------------
-
- * The .iter() method of elements now accepts tag arguments like "{*}name"
- to search for elements with a given local name in any namespace. With
- this addition, all combinations of wildcards now work as expected:
- "{ns}name", "{}name", "{*}name", "{ns}*", "{}*" and "{*}*". Note that
- "name" is equivalent to "{}name", but "*" is "{*}*". The same change
- applies to the .getiterator(), .itersiblings(), .iterancestors(),
- .iterdescendants(), .iterchildren() and .itertext() methods, the
- strip_attributes(), strip_elements() and strip_tags() functions as well
- as the iterparse() function.
-
- * C14N allows specifying the inclusive prefixes to be promoted to
- top-level during exclusive serialisation.
-
- Bugs fixed
- ----------
-
- * Passing long Unicode strings into the feed() parser interface failed to
- read the entire string.
-
- Other changes
- -------------
-
-
- 3.0alpha1 (2012-07-31)
- ======================
-
- Features added
- --------------
-
- * Initial support for building in PyPy (through cpyext).
-
- * DTD objects gained an API that allows read access to their
- declarations.
-
- * xpathgrep.py gained support for parsing line-by-line (e.g.
- from grep output) and for surrounding the output with a new root
- tag.
-
- * E-factory in lxml.builder accepts subtypes of known data
- types (such as string subtypes) when building elements around them.
-
- * Tree iteration and iterparse() with a selective tag
- argument supports passing a set of tags. Tree nodes will be
- returned by the iterators if they match any of the tags.
-
- Bugs fixed
- ----------
-
- * The .find*() methods in lxml.objectify no longer use XPath
- internally, which makes them faster in many cases (especially when
- short circuiting after a single or couple of elements) and fixes
- some behavioural differences compared to lxml.etree. Note that
- this means that they no longer support arbitrary XPath expressions
- but only the subset that the ElementPath language supports.
- The previous implementation was also redundant with the normal
- XPath support, which can be used as a replacement.
-
- * el.find('*') could accidentally return a comment or processing
- instruction that happened to be in the wrong spot. (Same for the
- other .find*() methods.)
-
- * The error logging is less intrusive and avoids a global setup where
- possible.
-
- * Fixed undefined names in html5lib parser.
-
- * xpathgrep.py did not work in Python 3.
-
- * Element.attrib.update() did not accept an attrib of
- another Element as parameter.
-
- * For subtypes of ElementBase that make the .text or .tail
- properties immutable (as in objectify, for example), inserting text
- when creating Elements through the E-Factory feature of the class
- constructor would fail with an exception, stating that the text
- cannot be modified.
-
- Other changes
- --------------
-
- * The code base was overhauled to properly use 'const' where the API
- of libxml2 and libxslt requests it. This also has an impact on the
- public C-API of lxml itself, as defined in etreepublic.pxd, as
- well as the provided declarations in the lxml/includes/ directory.
- Code that uses these declarations may have to be adapted. On the
- plus side, this fixes several C compiler warnings, also for user
- code, thus making it easier to spot real problems again.
-
- * The functionality of "lxml.cssselect" was moved into a separate PyPI
- package called "cssselect". To continue using it, you must install
- that package separately. The "lxml.cssselect" module is still
- available and provides the same interface, provided the "cssselect"
- package can be imported at runtime.
-
- * Element attributes passed in as an attrib dict or as keyword
- arguments are now sorted by (namespaced) name before being created
- to make their order predictable for serialisation and iteration.
- Note that adding or deleting attributes afterwards does not take
- that order into account, i.e. setting a new attribute appends it
- after the existing ones.
-
- * Several classes that are for internal use only were removed
- from the lxml.etree module dict:
- _InputDocument, _ResolverRegistry, _ResolverContext, _BaseContext,
- _ExsltRegExp, _IterparseContext, _TempStore, _ExceptionContext,
- __ContentOnlyElement, _AttribIterator, _NamespaceRegistry,
- _ClassNamespaceRegistry, _FunctionNamespaceRegistry,
- _XPathFunctionNamespaceRegistry, _ParserDictionaryContext,
- _FileReaderContext, _ParserContext, _PythonSaxParserTarget,
- _TargetParserContext, _ReadOnlyProxy, _ReadOnlyPIProxy,
- _ReadOnlyEntityProxy, _ReadOnlyElementProxy, _OpaqueNodeWrapper,
- _OpaqueDocumentWrapper, _ModifyContentOnlyProxy,
- _ModifyContentOnlyPIProxy, _ModifyContentOnlyEntityProxy,
- _AppendOnlyElementProxy, _SaxParserContext, _FilelikeWriter,
- _ParserSchemaValidationContext, _XPathContext,
- _XSLTResolverContext, _XSLTContext, _XSLTQuotedStringParam
-
- * Several internal classes can no longer be inherited from:
- _InputDocument, _ResolverRegistry, _ExsltRegExp, _ElementUnicodeResult,
- _IterparseContext, _TempStore, _AttribIterator, _ClassNamespaceRegistry,
- _XPathFunctionNamespaceRegistry, _ParserDictionaryContext,
- _FileReaderContext, _PythonSaxParserTarget, _TargetParserContext,
- _ReadOnlyPIProxy, _ReadOnlyEntityProxy, _OpaqueDocumentWrapper,
- _ModifyContentOnlyPIProxy, _ModifyContentOnlyEntityProxy,
- _AppendOnlyElementProxy, _FilelikeWriter, _ParserSchemaValidationContext,
- _XPathContext, _XSLTResolverContext, _XSLTContext,
- _XSLTQuotedStringParam, _XSLTResultTree, _XSLTProcessingInstruction
--------------------------------------------------------------------------------
References:
[ 1 ] Bug #962131 - python-lxml-3.2.1 is available
https://bugzilla.redhat.com/show_bug.cgi?id=962131
[ 2 ] Bug #874546 - Bad exception in etree.iterparse()
https://bugzilla.redhat.com/show_bug.cgi?id=874546
[ 3 ] Bug #929417 - python-lxml-3.2.0 is available
https://bugzilla.redhat.com/show_bug.cgi?id=929417
--------------------------------------------------------------------------------
This update can be installed with the "yum" update program. Use
su -c 'yum update python-lxml' at the command line.
For more information, refer to "Managing Software with yum",
available at http://docs.fedoraproject.org/yum/.
All packages are signed with the Fedora Project GPG key. More details on the
GPG keys used by the Fedora Project can be found at
https://fedoraproject.org/keys
--------------------------------------------------------------------------------
More information about the package-announce
mailing list