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