diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..70e2bc6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/lxml-4.6.5.tar.gz diff --git a/.python-lxml.metadata b/.python-lxml.metadata new file mode 100644 index 0000000..fcf7f24 --- /dev/null +++ b/.python-lxml.metadata @@ -0,0 +1 @@ +04a3ed4d33a511b5796880461b0edb6f3b144547 SOURCES/lxml-4.6.5.tar.gz diff --git a/SPECS/python-lxml.spec b/SPECS/python-lxml.spec new file mode 100644 index 0000000..3e7ec6d --- /dev/null +++ b/SPECS/python-lxml.spec @@ -0,0 +1,1641 @@ +%global modname lxml + +Name: python-%{modname} +Version: 4.6.5 +Release: 2%{?dist} +Summary: XML processing library combining libxml2/libxslt with the ElementTree API + +# The lxml project is licensed under BSD +# Some code is derived from ElementTree and cElementTree +# thus using the MIT-like elementtree license +# .xsl schematron files are under the MIT and zlib license +License: BSD and MIT and zlib +URL: https://github.com/lxml/lxml +Source0: %{pypi_source %{modname}} + +BuildRequires: gcc +BuildRequires: libxml2-devel +BuildRequires: libxslt-devel + +%global _description \ +lxml is a Pythonic, mature binding for the libxml2 and libxslt libraries. It\ +provides safe and convenient access to these libraries using the ElementTree It\ +extends the ElementTree API significantly to offer support for XPath, RelaxNG,\ +XML Schema, XSLT, C14N and much more.To contact the project, go to the project\ +home page < or see our bug tracker at case you want to use the current ... + +%description %{_description} + +%package -n python3-%{modname} +Summary: %{summary} +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-Cython +Suggests: python%{python3_version}dist(cssselect) >= 0.7 +Suggests: python%{python3_version}dist(html5lib) +Suggests: python%{python3_version}dist(beautifulsoup4) +%{?python_provide:%python_provide python3-%{modname}} + +%description -n python3-%{modname} %{_description} + +Python 3 version. + +%prep +%autosetup -n %{modname}-%{version} -p1 +# Remove pregenerated Cython C sources +find -type f -name '*.c' -print -delete + +%build +env WITH_CYTHON=true %py3_build + +%install +%py3_install + +%check +# The tests assume inplace build, so we copy the built library to source-dir. +# If not done that, Python can either import the tests or the extension modules, but not both. +cp -a build/lib.%{python3_platform}-%{python3_version}/* src/ +# The options are: verbose, unit, functional +%{python3} test.py -vuf + +%files -n python3-%{modname} +%license LICENSES.txt doc/licenses/BSD.txt doc/licenses/elementtree.txt +%doc README.rst src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt +%{python3_sitearch}/%{modname}/ +%{python3_sitearch}/%{modname}-*.egg-info/ + +%changelog +* Tue Feb 08 2022 Tomas Orsava <torsava@redhat.com> - 4.6.5-2 +- Add automatically generated Obsoletes tag with the python39- prefix + for smoother upgrade from RHEL8 +- Related: rhbz#1990421 + +* Thu Jan 06 2022 Charalampos Stratakis <cstratak@redhat.com> - 4.6.5-1 +- Update to 4.6.5 +- Fixes CVE-2021-43818 +- Resolves: rhbz#2032569 + +* Fri Nov 26 2021 Miro Hrončok <mhroncok@redhat.com> - 4.6.3-5 +- Run the tests during build +- Resolves: rhbz#2026941 + +* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 4.6.3-3 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Thu Jun 03 2021 Charalampos Stratakis <cstratak@redhat.com> - 4.6.3-2 +- Update the license information + +* Thu May 20 2021 Charalampos Stratakis <cstratak@redhat.com> - 4.6.3-1 +- Update to 4.6.3 +- Fixes CVE-2021-28957 +Resolves: rhbz#1941534 + +* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 4.6.2-3 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.6.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Dec 01 2020 Miro Hrončok <mhroncok@redhat.com> - 4.6.2-1 +- Update to 4.6.2 +- Fixes CVE-2020-27783 and another vulnerability in the HTML Cleaner +- Fixes: rhbz#1855415 +- Fixes: rhbz#1901634 + +* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jun 01 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 4.5.1-1 +- Update to 4.5.1 + +* Fri May 22 2020 Miro Hrončok <mhroncok@redhat.com> - 4.4.1-5 +- Rebuilt for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Nov 20 2019 Miro Hrončok <mhroncok@redhat.com> - 4.4.1-3 +- Subpackage python2-lxml has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Sat Sep 07 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.4.1-2 +- Generate C files using py3 Cython + +* Sat Sep 07 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.4.1-1 +- Update to 4.4.1 + +* Fri Aug 16 2019 Miro Hrončok <mhroncok@redhat.com> - 4.4.0-2 +- Rebuilt for Python 3.8 + +* Sat Aug 03 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.4.0-1 +- Update to 4.4.0 + +* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Dec 18 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.2.5-1 +- Update to 4.2.5 + +* Sun Sep 02 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.2.4-1 +- Update to 4.2.4 + +* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Sat Jul 07 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.2.3-1 +- Update to 4.2.3 + +* Sun Jun 17 2018 Miro Hrončok <mhroncok@redhat.com> - 4.2.1-2 +- Rebuilt for Python 3.7 + +* Wed Apr 25 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.2.1-1 +- Update to 4.2.1 + +* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Nov 05 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.1.1-1 +- Update to 4.1.1 + +* Tue Oct 10 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.0.0-2 +- Conditionally allow building without Cython + +* Thu Oct 05 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.0.0-1 +- Update to 4.0.0 + +* Sat Aug 12 2017 Kevin Fenzi <kevin@scrye.com> - 3.8.0-1 +- Update to 3.8.0. Fixes bug #1458529 + +* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Jan 09 2017 Fabio Alessandro Locati <fale@fedoraproject.org> - 3.7.2-1 +- Update to 3.7.2 + +* Sun Dec 25 2016 Fabio Alessandro Locati <fale@fedoraproject.org> - 3.7.1-1 +- Update to 3.7.1 + +* Tue Dec 13 2016 Stratakis Charalampos <cstratak@redhat.com> - 3.7.0-2 +- Rebuild for Python 3.6 + +* Sun Dec 11 2016 Fabio Alessandro Locati <fale@fedoraproject.org> - 3.7.0-1 +- Update to 3.7.0 + +* Thu Sep 08 2016 Fabio Alessandro Locati <fale@fedoraproject.org> - 3.6.4-1 +- Update to 3.6.4 + +* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.4-5 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jan 21 2016 Dan Horák <dan[at]danny.cz> - 3.4.4-3 +- fix conditional + +* Fri Nov 06 2015 Robert Kuska <rkuska@redhat.com> - 3.4.4-2 +- Rebuilt for Python3.5 rebuild + +* Fri Aug 28 2015 Peter Robinson <pbrobinson@fedoraproject.org> 3.4.4-1 +- Update to 3.4.4 +- Use %%license, cleanup spec + +* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Aug 29 2014 Jeffrey C. Ollie <jeff@ocjtech.us> - 3.3.6-1 +- 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. + +* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 14 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 + +* Mon Apr 28 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.5-1 +- 3.3.5 (2014-04-18) +- ================== +- +- Bugs fixed +- ---------- +- +- * HTML cleaning could fail to strip javascript links that mix control +- characters into the link scheme. + +* Mon Apr 28 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.4-1 +- 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. + +* Wed Mar 26 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.3-4 +- Fix macro definition + +* Wed Mar 26 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.3-3 +- Add python3-cssselect to correct package + +* Mon Mar 24 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.3-3 +- python3-cssselect is not available on F19 + +* Mon Mar 24 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.3-2 +- BZ#1075070 add requires and buildrequires for cssselect + +* Tue Mar 11 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.3-1 +- 3.3.3 (2014-03-04) +- ================== +- +- Bugs fixed +- ---------- +- +- * LP#1287118: Crash when using Element subtypes with ``__slots__``. +- +- Other changes +- ------------- +- +- * The internal classes ``_LogEntry`` and ``_Attrib`` can no longer be +- subclassed from Python code. + +* Tue Mar 11 2014 Alexander Todorov <atodorov@redhat.com> - 3.3.2-2 +- Add check section #1075070 + +* Fri Feb 28 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.2-1 +- 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. +- +- * 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 incorrect 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. + +* Fri Feb 28 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.2-1 +- 3.3.1 (2014-02-12) +- ================== +- +- 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. + +* Mon Jan 27 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.0-2 +- Update Cython requirement to >= 0.20 + +* Mon Jan 27 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.0-1 +- 3.3.0 (2014-01-26) +- ================== +- +- Features added +- -------------- +- +- Bugs fixed +- ---------- +- +- * The heuristic that distinguishes file paths from URLs was tightened +- to produce less false negatives. +- +- Other changes +- ------------- +- +- +- 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) +- ======================= +- +- Features added +- -------------- +- +- 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. +- +- Other changes +- ------------- +- +- +- 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. + +* Mon Nov 11 2013 Jeffrey Ollie <jeff@ocjtech.us> - 3.2.4-1 +- 3.2.4 (2013-11-07) +- ================== +- +- Bugs fixed +- ---------- +- +- * Memory leak when creating an XPath evaluator in a thread. +- +- * 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. +- +- * LP#1206077: htmldiff discarded whitespace from the output. +- +- * Compressed plain-text serialisation to file-like objects was broken. + +* Wed Sep 18 2013 Jeffrey Ollie <jeff@ocjtech.us> - 3.2.3-2 +- Add requirement for on python-cssselect for the python2 version + +* Sun Jul 28 2013 Jeffrey Ollie <jeff@ocjtech.us> - 3.2.3-1 +- and here's a version 3.2.3. The last release accidentally lost the ability +- to work on Python 2.4. There are no other changes over 3.2.2. +- +- 3.2.2 (2013-07-28) +- ================== +- +- Features added +- -------------- +- +- Bugs fixed +- ---------- +- +- * LP#1185701: spurious XMLSyntaxError after finishing iterparse(). +- +- * Crash in lxml.objectify during xsi annotation. +- +- Other changes +- ------------- +- +- * Return values of user provided element class lookup methods are now +- validated against the type of the XML node they represent to prevent +- API class mismatches. + +* Sun May 12 2013 Jeffrey Ollie <jeff@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@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@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@lists.fedoraproject.org> - 3.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Oct 15 2012 Jeffrey Ollie <jeff@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@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 + +* Thu Sep 27 2012 Jeffrey Ollie <jeff@ocjtech.us> - 2.3.5-1 +- Bugs fixed +- +- * Crash when merging text nodes in element.remove(). +- * Crash in sax/target parser when reporting empty doctype. + +* Thu Sep 27 2012 Jeffrey Ollie <jeff@ocjtech.us> - 2.3.4-1 +- Bugs fixed +- +- * Crash when building an nsmap (Element property) with empty namespace +- URIs. +- * Crash due to race condition when errors (or user messages) occur during +- threaded XSLT processing (or compilation). +- * XSLT stylesheet compilation could ignore compilation errors. + +* Sat Aug 04 2012 David Malcolm <dmalcolm@redhat.com> - 2.3.3-4 +- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3 + +* Fri Aug 3 2012 David Malcolm <dmalcolm@redhat.com> - 2.3.3-3 +- remove rhel logic from with_python3 conditional + +* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jan 5 2012 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.3.3-1 +- 2.3.3 (2012-01-04) +- Features added +- +- * lxml.html.tostring() gained new serialisation options with_tail and +- doctype. +- +- Bugs fixed +- +- * Fixed a crash when using iterparse() for HTML parsing and requesting +- start events. +- * Fixed parsing of more selectors in cssselect. Whitespace before pseudo- +- elements and pseudo-classes is significant as it is a descendant +- combinator. "E :pseudo" should parse the same as "E *:pseudo", not +- "E:pseudo". Patch by Simon Sapin. +- * lxml.html.diff no longer raises an exception when hitting 'img' tags +- without 'src' attribute. + +* Mon Nov 14 2011 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.3.2-1 +- 2.3.2 (2011-11-11) +- Features added +- +- * lxml.objectify.deannotate() has a new boolean option +- cleanup_namespaces to remove the objectify namespace declarations +- (and generally clean up the namespace declarations) after removing +- the type annotations. +- * lxml.objectify gained its own SubElement() function as a copy of +- etree.SubElement to avoid an otherwise redundant import of +- lxml.etree on the user side. +- +- Bugs fixed +- +- * Fixed the "descendant" bug in cssselect a second time (after a first +- fix in lxml 2.3.1). The previous change resulted in a serious +- performance regression for the XPath based evaluation of the +- translated expression. Note that this breaks the usage of some +- of the generated XPath expressions as XSLT location paths that +- previously worked in 2.3.1. +- * Fixed parsing of some selectors in cssselect. Whitespace after +- combinators ">", "+" and "~" is now correctly ignored. Previously +- it was parsed as a descendant combinator. For example, "div> .foo" +- was parsed the same as "div>* .foo" instead of "div>.foo". Patch by +- Simon Sapin. + +* Sun Sep 25 2011 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.3.1-1 +- Features added +- -------------- +- +- * New option kill_tags in lxml.html.clean to remove specific +- tags and their content (i.e. their whole subtree). +- +- * pi.get() and pi.attrib on processing instructions to parse +- pseudo-attributes from the text content of processing instructions. +- +- * lxml.get_include() returns a list of include paths that can be +- used to compile external C code against lxml.etree. This is +- specifically required for statically linked lxml builds when code +- needs to compile against the exact same header file versions as lxml +- itself. +- +- * Resolver.resolve_file() takes an additional option +- close_file that configures if the file(-like) object will be +- closed after reading or not. By default, the file will be closed, +- as the user is not expected to keep a reference to it. +- +- Bugs fixed +- ---------- +- +- * HTML cleaning didn't remove 'data:' links. +- +- * The html5lib parser integration now uses the 'official' +- implementation in html5lib itself, which makes it work with newer +- releases of the library. +- +- * In lxml.sax, endElementNS() could incorrectly reject a plain +- tag name when the corresponding start event inferred the same plain +- tag name to be in the default namespace. +- +- * When an open file-like object is passed into parse() or +- iterparse(), the parser will no longer close it after use. This +- reverts a change in lxml 2.3 where all files would be closed. It is +- the users responsibility to properly close the file(-like) object, +- also in error cases. +- +- * Assertion error in lxml.html.cleaner when discarding top-level elements. +- +- * In lxml.cssselect, use the xpath 'A//B' (short for +- 'A/descendant-or-self::node()/B') instead of 'A/descendant::B' for the +- css descendant selector ('A B'). This makes a few edge cases to be +- consistent with the selector behavior in WebKit and Firefox, and makes +- more css expressions valid location paths (for use in xsl:template +- match). +- +- * In lxml.html, non-selected <option> tags no longer show up in the +- collected form values. +- +- * Adding/removing <option> values to/from a multiple select form +- field properly selects them and unselects them. +- +- Other changes +- -------------- +- +- * Static builds can specify the download directory with the +- --download-dir option. + + +* Tue Apr 19 2011 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.3-1 +- 2.3 (2011-02-06) +- ================ +- +- Features added +- -------------- +- +- * When looking for children, ``lxml.objectify`` takes '{}tag' as +- meaning an empty namespace, as opposed to the parent namespace. +- +- Bugs fixed +- ---------- +- +- * When finished reading from a file-like object, the parser +- immediately calls its ``.close()`` method. +- +- * When finished parsing, ``iterparse()`` immediately closes the input +- file. +- +- * Work-around for libxml2 bug that can leave the HTML parser in a +- non-functional state after parsing a severly broken document (fixed +- in libxml2 2.7.8). +- +- * ``marque`` tag in HTML cleanup code is correctly named ``marquee``. +- +- Other changes +- -------------- +- +- * Some public functions in the Cython-level C-API have more explicit +- return types. +- +- 2.3beta1 (2010-09-06) +- ===================== +- +- Features added +- -------------- +- +- Bugs fixed +- ---------- +- +- * Crash in newer libxml2 versions when moving elements between +- documents that had attributes on replaced XInclude nodes. +- +- * ``XMLID()`` function was missing the optional ``parser`` and +- ``base_url`` parameters. +- +- * Searching for wildcard tags in ``iterparse()`` was broken in Py3. +- +- * ``lxml.html.open_in_browser()`` didn't work in Python 3 due to the +- use of os.tempnam. It now takes an optional 'encoding' parameter. +- +- Other changes +- -------------- +- +- 2.3alpha2 (2010-07-24) +- ====================== +- +- Features added +- -------------- +- +- Bugs fixed +- ---------- +- +- * Crash in XSLT when generating text-only result documents with a +- stylesheet created in a different thread. +- +- Other changes +- -------------- +- +- * ``repr()`` of Element objects shows the hex ID with leading 0x +- (following ElementTree 1.3). +- +- 2.3alpha1 (2010-06-19) +- ====================== +- +- Features added +- -------------- +- +- * Keyword argument ``namespaces`` in ``lxml.cssselect.CSSSelector()`` +- to pass a prefix-to-namespace mapping for the selector. +- +- * New function ``lxml.etree.register_namespace(prefix, uri)`` that +- globally registers a namespace prefix for a namespace that newly +- created Elements in that namespace will use automatically. Follows +- ElementTree 1.3. +- +- * Support 'unicode' string name as encoding parameter in +- ``tostring()``, following ElementTree 1.3. +- +- * Support 'c14n' serialisation method in ``ElementTree.write()`` and +- ``tostring()``, following ElementTree 1.3. +- +- * The ElementPath expression syntax (``el.find*()``) was extended to +- match the upcoming ElementTree 1.3 that will ship in the standard +- library of Python 3.2/2.7. This includes extended support for +- predicates as well as namespace prefixes (as known from XPath). +- +- * During regular XPath evaluation, various ESXLT functions are +- available within their namespace when using libxslt 1.1.26 or later. +- +- * Support passing a readily configured logger instance into +- ``PyErrorLog``, instead of a logger name. +- +- * On serialisation, the new ``doctype`` parameter can be used to +- override the DOCTYPE (internal subset) of the document. +- +- * New parameter ``output_parent`` to ``XSLTExtension.apply_templates()`` +- to append the resulting content directly to an output element. +- +- * ``XSLTExtension.process_children()`` to process the content of the +- XSLT extension element itself. +- +- * ISO-Schematron support based on the de-facto Schematron reference +- 'skeleton implementation'. +- +- * XSLT objects now take XPath object as ``__call__`` stylesheet +- parameters. +- +- * Enable path caching in ElementPath (``el.find*()``) to avoid parsing +- overhead. +- +- * Setting the value of a namespaced attribute always uses a prefixed +- namespace instead of the default namespace even if both declare the +- same namespace URI. This avoids serialisation problems when an +- attribute from a default namespace is set on an element from a +- different namespace. +- +- * XSLT extension elements: support for XSLT context nodes other than +- elements: document root, comments, processing instructions. +- +- * Support for strings (in addition to Elements) in node-sets returned +- by extension functions. +- +- * Forms that lack an ``action`` attribute default to the base URL of +- the document on submit. +- +- * XPath attribute result strings have an ``attrname`` property. +- +- * Namespace URIs get validated against RFC 3986 at the API level +- (required by the XML namespace specification). +- +- * Target parsers show their target object in the ``.target`` property +- (compatible with ElementTree). +- +- Bugs fixed +- ---------- +- +- * API is hardened against invalid proxy instances to prevent crashes +- due to incorrectly instantiated Element instances. +- +- * Prevent crash when instantiating ``CommentBase`` and friends. +- +- * Export ElementTree compatible XML parser class as +- ``XMLTreeBuilder``, as it is called in ET 1.2. +- +- * ObjectifiedDataElements in lxml.objectify were not hashable. They +- now use the hash value of the underlying Python value (string, +- number, etc.) to which they compare equal. +- +- * Parsing broken fragments in lxml.html could fail if the fragment +- contained an orphaned closing '</div>' tag. +- +- * Using XSLT extension elements around the root of the output document +- crashed. +- +- * ``lxml.cssselect`` did not distinguish between ``x[attr="val"]`` and +- ``x [attr="val"]`` (with a space). The latter now matches the +- attribute independent of the element. +- +- * Rewriting multiple links inside of HTML text content could end up +- replacing unrelated content as replacements could impact the +- reported position of subsequent matches. Modifications are now +- simplified by letting the ``iterlinks()`` generator in ``lxml.html`` +- return links in reversed order if they appear inside the same text +- node. Thus, replacements and link-internal modifications no longer +- change the position of links reported afterwards. +- +- * The ``.value`` attribute of ``textarea`` elements in lxml.html did +- not represent the complete raw value (including child tags etc.). It +- now serialises the complete content on read and replaces the +- complete content by a string on write. +- +- * Target parser didn't call ``.close()`` on the target object if +- parsing failed. Now it is guaranteed that ``.close()`` will be +- called after parsing, regardless of the outcome. +- +- Other changes +- ------------- +- +- * Official support for Python 3.1.2 and later. +- +- * Static MS Windows builds can now download their dependencies +- themselves. +- +- * ``Element.attrib`` no longer uses a cyclic reference back to its +- Element object. It therefore no longer requires the garbage +- collector to clean up. +- +- * Static builds include libiconv, in addition to libxml2 and libxslt. + +* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Dec 29 2010 David Malcolm <dmalcolm@redhat.com> - 2.2.8-3 +- rebuild for newer python3 + +* Fri Nov 5 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.8-2 +- Rebuild for newer libxml2 + +* Mon Sep 6 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.8-1 +- 2.2.8 (2010-09-02) +- Bugs fixed +- +- * Crash in newer libxml2 versions when moving elements between +- documents that had attributes on replaced XInclude nodes. +- * Import fix for urljoin in Python 3.1+. + +* Tue Aug 24 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.7-3 +- Don't byte-compile files during install because setup.py doesn't + properly byte compile for Python version 3.2 + +* Sun Aug 22 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.7-2 +- Rebuild for Python 3.2 + +* Mon Jul 26 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.7-1 +- 2.2.7 (2010-07-24) +- Bugs fixed +- +- * Crash in XSLT when generating text-only result documents with a stylesheet created in a different thread. + +* Mon Jul 26 2010 David Malcolm <dmalcolm@redhat.com> - 2.2.6-4 +- actually add the patch this time + +* Mon Jul 26 2010 David Malcolm <dmalcolm@redhat.com> - 2.2.6-3 +- workaround for 2to3 issue (patch 0; bug 600036) + +* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 2.2.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Tue Mar 2 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.6-1 +- 2.2.6 (2010-03-02) +- +- Bugs fixed +- +- * Fixed several Python 3 regressions by building with Cython 0.11.3. + +* Mon Mar 1 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.5-1 +- 2.2.5 (2010-02-28) +- +- Features added +- +- * Support for running XSLT extension elements on the input root node +- (e.g. in a template matching on "/"). +- +- Bugs fixed +- +- * Crash in XPath evaluation when reading smart strings from a document +- other than the original context document. +- * Support recent versions of html5lib by not requiring its XHTMLParser +- in htmlparser.py anymore. +- * Manually instantiating the custom element classes in lxml.objectify +- could crash. +- * Invalid XML text characters were not rejected by the API when they +- appeared in unicode strings directly after non-ASCII characters. +- * lxml.html.open_http_urllib() did not work in Python 3. +- * The functions strip_tags() and strip_elements() in lxml.etree did +- not remove all occurrences of a tag in all cases. +- * Crash in XSLT extension elements when the XSLT context node is not +- an element. + +* Mon Feb 15 2010 Thomas Spura <tomspur@fedoraproject.org> - 2.2.4-2 +- update to current python3 guidelines +- be more explicit in %%files +- use %%global and not %%define +- create docs subpackage +- add stripping 3-byte Byte Order Marker from src/lxml/tests/test_errors.py + to get 2to3 to work (dmalcolm) +- fixes FTBFS (#564674) + +* Thu Jan 14 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.4-1 +- Update to 2.2.4 +- Enable Python 3 subpackage + +* Thu Nov 5 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.3-3 +- F-13's python build chain must be a little different... + +* Thu Nov 5 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.3-2 +- Add option to build a Python 3 subpackage, original patch by David Malcolm + +* Fri Oct 30 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.3-1 +- 2.2.3 (2009-10-30) +- Bugs fixed +- +- * The resolve_entities option did not work in the incremental feed +- parser. +- * Looking up and deleting attributes without a namespace could hit a +- namespaced attribute of the same name instead. +- * Late errors during calls to SubElement() (e.g. attribute related +- ones) could leave a partially initialised element in the tree. +- * Modifying trees that contain parsed entity references could result +- in an infinite loop. +- * ObjectifiedElement.__setattr__ created an empty-string child element +- when the attribute value was rejected as a non-unicode/non-ascii +- string +- * Syntax errors in lxml.cssselect could result in misleading error +- messages. +- * Invalid syntax in CSS expressions could lead to an infinite loop in +- the parser of lxml.cssselect. +- * CSS special character escapes were not properly handled in +- lxml.cssselect. +- * CSS Unicode escapes were not properly decoded in lxml.cssselect. +- * Select options in HTML forms that had no explicit value attribute +- were not handled correctly. The HTML standard dictates that their +- value is defined by their text content. This is now supported by +- lxml.html. +- * XPath raised a TypeError when finding CDATA sections. This is now +- fully supported. +- * Calling help(lxml.objectify) didn't work at the prompt. +- * The ElementMaker in lxml.objectify no longer defines the default +- namespaces when annotation is disabled. +- * Feed parser failed to honour the 'recover' option on parse errors. +- * Diverting the error logging to Python's logging system was broken. + +* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sun Jun 21 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.2-1 +- 2.2.2 (2009-06-21) +- Features added +- +- * New helper functions strip_attributes(), strip_elements(), +- strip_tags() in lxml.etree to remove attributes/subtrees/tags +- from a subtree. +- +- Bugs fixed +- +- * Namespace cleanup on subtree insertions could result in missing +- namespace declarations (and potentially crashes) if the element +- defining a namespace was deleted and the namespace was not used +- by the top element of the inserted subtree but only in deeper +- subtrees. +- * Raising an exception from a parser target callback didn't always +- terminate the parser. +- * Only {true, false, 1, 0} are accepted as the lexical representation +- for BoolElement ({True, False, T, F, t, f} not any more), restoring +- lxml <= 2.0 behaviour. + +* Tue Jun 2 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.1-1 +- 2.2.1 (2009-06-02) +- Features added +- +- * Injecting default attributes into a document during XML Schema +- validation (also at parse time). +- * Pass huge_tree parser option to disable parser security restrictions +- imposed by libxml2 2.7. +- +- Bugs fixed +- +- * The script for statically building libxml2 and libxslt didn't work +- in Py3. +- * XMLSchema() also passes invalid schema documents on to libxml2 for +- parsing (which could lead to a crash before release 2.6.24). + +* Tue Mar 24 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-1 +- 2.2 (2009-03-21) +- Features added +- +- * Support for standalone flag in XML declaration through +- tree.docinfo.standalone and by passing standalone=True/False on +- serialisation. +- +- Bugs fixed +- +- * Crash when parsing an XML Schema with external imports from a +- filename. + +* Fri Feb 27 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-0.8.beta4 +- 2.2beta4 (2009-02-27) +- Features added +- +- * Support strings and instantiable Element classes as child arguments +- to the constructor of custom Element classes. +- * GZip compression support for serialisation to files and file-like +- objects. +- +- Bugs fixed +- +- * Deep-copying an ElementTree copied neither its sibling PIs and +- comments nor its internal/external DTD subsets. +- * Soupparser failed on broken attributes without values. +- * Crash in XSLT when overwriting an already defined attribute using +- xsl:attribute. +- * Crash bug in exception handling code under Python 3. This was due to +- a problem in Cython, not lxml itself. +- * lxml.html.FormElement._name() failed for non top-level forms. +- * TAG special attribute in constructor of custom Element classes was +- evaluated incorrectly. +- +- Other changes +- +- * Official support for Python 3.0.1. +- * Element.findtext() now returns an empty string instead of None for +- Elements without text content. + +* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2-0.7.beta3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Tue Feb 17 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-0.6.beta3 +- 2.2beta3 (2009-02-17) +- Features added +- +- * XSLT.strparam() class method to wrap quoted string parameters that +- require escaping. +- +- Bugs fixed +- +- * Memory leak in XPath evaluators. +- * Crash when parsing indented XML in one thread and merging it with +- other documents parsed in another thread. +- * Setting the base attribute in lxml.objectify from a unicode string +- failed. +- * Fixes following changes in Python 3.0.1. +- * Minor fixes for Python 3. +- +- Other changes +- +- * The global error log (which is copied into the exception log) is now +- local to a thread, which fixes some race conditions. +- * More robust error handling on serialisation. + +* Sun Jan 25 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-0.5.beta2 +- 2.2beta2 (2009-01-25) +- Bugs fixed +- +- * Potential memory leak on exception handling. This was due to a +- problem in Cython, not lxml itself. +- * iter_links (and related link-rewriting functions) in lxml.html would +- interpret CSS like url("link") incorrectly (treating the quotation +- marks as part of the link). +- * Failing import on systems that have an io module. + +* Fri Dec 12 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-0.4.beta1 +- 2.2beta1 (2008-12-12) +- Features added +- +- * Allow lxml.html.diff.htmldiff to accept Element objects, +- not just HTML strings. +- +- Bugs fixed +- +- * Crash when using an XPath evaluator in multiple threads. +- * Fixed missing whitespace before Link:... in lxml.html.diff. +- +- Other changes +- +- * Export lxml.html.parse. + +* Fri Nov 28 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-0.3.alpha1 +- Rebuild for Python 2.6 + +* Mon Nov 24 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-0.2.alpha1 +- Don't forget to upload the sources! + +* Mon Nov 24 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-0.1.alpha1 +- 2.2alpha1 (2008-11-23) +- Features added +- +- * Support for XSLT result tree fragments in XPath/XSLT extension +- functions. +- * QName objects have new properties namespace and localname. +- * New options for exclusive C14N and C14N without comments. +- * Instantiating a custom Element classes creates a new Element. +- +- Bugs fixed +- +- * XSLT didn't inherit the parse options of the input document. +- * 0-bytes could slip through the API when used inside of Unicode +- strings. +- * With lxml.html.clean.autolink, links with balanced parenthesis, that +- end in a parenthesis, will be linked in their entirety (typical with +- Wikipedia links). + +* Mon Nov 17 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.1.3-1 +- 2.1.3 (2008-11-17) +- Bugs fixed +- +- * Ref-count leaks when lxml enters a try-except statement while an +- outside exception lives in sys.exc_*(). This was due to a problem +- in Cython, not lxml itself. +- * Parser Unicode decoding errors could get swallowed by other +- exceptions. +- * Name/import errors in some Python modules. +- * Internal DTD subsets that did not specify a system or public ID +- were not serialised and did not appear in the docinfo property +- of ElementTrees. +- * Fix a pre-Py3k warning when parsing from a gzip file in Py2.6. +- * Test suite fixes for libxml2 2.7. +- * Resolver.resolve_string() did not work for non-ASCII byte strings. +- * Resolver.resolve_file() was broken. +- * Overriding the parser encoding didn't work for many encodings. + +* Fri Sep 5 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.1.2-1 +- 2.1.2 (2008-09-05) +- Features added +- +- * lxml.etree now tries to find the absolute path name of files when +- parsing from a file-like object. This helps custom resolvers when +- resolving relative URLs, as lixbml2 can prepend them with the path of +- the source document. +- +- Bugs fixed +- +- * Memory problem when passing documents between threads. +- * Target parser did not honour the recover option and raised an exception +- instead of calling .close() on the target. + +* Fri Jul 25 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.1.1-1 +- Update to 2.1.1 + +* Fri Jun 20 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.0.7-1 +- Update to 2.0.7 +- Update download URL + +* Sat May 31 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.0.6-1 +- Update to 2.0.6 + +* Thu May 8 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.0.5-1 +- Update to 2.0.5 + +* Wed Mar 26 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.0.3-1 +- Update to 2.0.3 + +* Sat Feb 23 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.0.2-1 +- Update to 2.0.2 + +* Tue Feb 19 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.0.1-1 +- Update to 2.0.1 + +* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.3.6-2 +- Autorebuild for GCC 4.3 + +* Sun Nov 4 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.3.6-1 +- Update to 1.3.6. + +* Mon Oct 22 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.3.5-1 +- Update to 1.3.5. + +* Thu Aug 30 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.3.4-1 +- Update to 1.3.4. + +* Wed Aug 29 2007 Fedora Release Engineering <rel-eng at fedoraproject dot org> - 1.3.3-3 +- Rebuild for selinux ppc32 issue. + +* Tue Aug 28 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.3.3-2 +- BR python-setuptools-devel + +* Mon Jul 30 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.3.3-1 +- Update to 1.3.3 + +* Fri Jan 19 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.2-1 +- Update to 1.1.2 + +* Thu Dec 14 2006 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.0.3-3 +- Rebuild for new Python + +* Sat Sep 16 2006 Shahms E. King <shahms@shahms.com> 1.0.3-2 +- Rebuild for FC6 + +* Thu Aug 17 2006 Shahms E. King <shahms@shahms.com> 1.0.3-1 +- Update to new upstream version + +* Fri Aug 11 2006 Shahms E. King <shahms@shahms.com> 1.0.2-2 +- Include, don't ghost .pyo files per new guidelines + +* Fri Jul 07 2006 Shahms E. King <shahms@shahms.com> 1.0.2-1 +- Update to new upstream release + +* Mon Jun 26 2006 Shahms E. King <shahms@shahms.com> 1.0.1-1 +- Update to new upstream release + +* Fri Jun 02 2006 Shahms E. King <shahms@shahms.com> 1.0-1 +- Update to new upstream 1.0 release + +* Wed Apr 26 2006 Shahms E. King <shahms@shahms.com> 0.9.1-3 +- Add python-setuptools to BuildRequires +- Use dist tag + +* Wed Apr 26 2006 Shahms E. King <shahms@shahms.com> 0.9.1-2 +- Fix summary and description + +* Tue Apr 18 2006 Shahms E. King <shahms@shahms.com> 0.9.1-1 +- update the new upstream version +- remove Pyrex build req + +* Tue Dec 13 2005 Shahms E. King <shahms@shahms.com> 0.8-1 +- Initial package