|
|
d58c2a |
%global modname lxml
|
|
|
d58c2a |
|
|
|
d58c2a |
Name: python-%{modname}
|
|
|
d58c2a |
Version: 4.6.2
|
|
|
aa8291 |
Release: 3%{?dist}
|
|
|
d58c2a |
Summary: XML processing library combining libxml2/libxslt with the ElementTree API
|
|
|
d58c2a |
|
|
|
d58c2a |
License: BSD
|
|
|
d58c2a |
URL: https://github.com/lxml/lxml
|
|
|
d58c2a |
Source0: %{pypi_source %{modname}}
|
|
|
d58c2a |
|
|
|
aa8291 |
# Fix for CVE-2021-28957: missing input sanitization
|
|
|
aa8291 |
# for formaction HTML5 attributes which may lead to XSS
|
|
|
aa8291 |
# Fixed upstream: https://github.com/lxml/lxml/commit/2d01a1ba8984e0483ce6619b972832377f208a0d
|
|
|
aa8291 |
Patch1: CVE-2021-28957.patch
|
|
|
aa8291 |
|
|
|
d58c2a |
# Exclude i686 arch. Due to a modularity issue it's being added to the
|
|
|
d58c2a |
# x86_64 compose of CRB, but we don't want to ship it at all.
|
|
|
d58c2a |
# See: https://projects.engineering.redhat.com/browse/RCM-72605
|
|
|
d58c2a |
ExcludeArch: i686
|
|
|
d58c2a |
|
|
|
d58c2a |
BuildRequires: gcc
|
|
|
d58c2a |
BuildRequires: libxml2-devel
|
|
|
d58c2a |
BuildRequires: libxslt-devel
|
|
|
d58c2a |
|
|
|
d58c2a |
%global _description \
|
|
|
d58c2a |
lxml is a Pythonic, mature binding for the libxml2 and libxslt libraries. It\
|
|
|
d58c2a |
provides safe and convenient access to these libraries using the ElementTree It\
|
|
|
d58c2a |
extends the ElementTree API significantly to offer support for XPath, RelaxNG,\
|
|
|
d58c2a |
XML Schema, XSLT, C14N and much more.To contact the project, go to the project\
|
|
|
d58c2a |
home page < or see our bug tracker at case you want to use the current ...
|
|
|
d58c2a |
|
|
|
d58c2a |
%description %{_description}
|
|
|
d58c2a |
|
|
|
d58c2a |
%package -n python%{python3_pkgversion}-%{modname}
|
|
|
d58c2a |
Summary: %{summary}
|
|
|
d58c2a |
BuildRequires: python%{python3_pkgversion}-devel
|
|
|
d58c2a |
BuildRequires: python%{python3_pkgversion}-rpm-macros
|
|
|
d58c2a |
BuildRequires: python%{python3_pkgversion}-setuptools
|
|
|
d58c2a |
BuildRequires: python%{python3_pkgversion}-Cython
|
|
|
d58c2a |
Suggests: python%{python3_version}dist(cssselect) >= 0.7
|
|
|
d58c2a |
Suggests: python%{python3_version}dist(html5lib)
|
|
|
d58c2a |
Suggests: python%{python3_version}dist(beautifulsoup4)
|
|
|
d58c2a |
%{?python_provide:%python_provide python%{python3_pkgversion}-%{modname}}
|
|
|
d58c2a |
|
|
|
d58c2a |
%description -n python%{python3_pkgversion}-%{modname} %{_description}
|
|
|
d58c2a |
|
|
|
d58c2a |
Python 3 version.
|
|
|
d58c2a |
|
|
|
d58c2a |
%prep
|
|
|
d58c2a |
%autosetup -n %{modname}-%{version} -p1
|
|
|
d58c2a |
# Remove pregenerated Cython C sources
|
|
|
d58c2a |
find -type f -name '*.c' -print -delete
|
|
|
d58c2a |
|
|
|
d58c2a |
%build
|
|
|
d58c2a |
env WITH_CYTHON=true %py3_build
|
|
|
d58c2a |
|
|
|
d58c2a |
%install
|
|
|
d58c2a |
%py3_install
|
|
|
d58c2a |
|
|
|
d58c2a |
%check
|
|
|
d58c2a |
# The test invocation below actually runs 0 tests.
|
|
|
d58c2a |
# Fedora BZ for this problem: https://bugzilla.redhat.com/show_bug.cgi?id=1918626
|
|
|
d58c2a |
# We have been unable to make the tests run properly in the spec file, but the
|
|
|
d58c2a |
# test suite is being run as part of the QE tests and gating.
|
|
|
d58c2a |
%{__python3} setup.py test
|
|
|
d58c2a |
|
|
|
d58c2a |
%files -n python%{python3_pkgversion}-%{modname}
|
|
|
d58c2a |
%license doc/licenses/ZopePublicLicense.txt LICENSES.txt
|
|
|
d58c2a |
%doc README.rst src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt
|
|
|
d58c2a |
%{python3_sitearch}/%{modname}/
|
|
|
d58c2a |
%{python3_sitearch}/%{modname}-*.egg-info/
|
|
|
d58c2a |
|
|
|
d58c2a |
%changelog
|
|
|
aa8291 |
* Wed Mar 24 2021 Charalampos Stratakis <cstratak@redhat.com> - 4.6.2-3
|
|
|
aa8291 |
- Security fix for CVE-2021-28957
|
|
|
aa8291 |
Resolves: rhbz#1941534
|
|
|
aa8291 |
|
|
|
d58c2a |
* Mon Jan 18 2021 Tomas Orsava <torsava@redhat.com> - 4.6.2-2
|
|
|
d58c2a |
- Convert from Fedora to the python39 module in RHEL8
|
|
|
d58c2a |
- Resolves: rhbz#1877430
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Dec 01 2020 Miro Hrončok <mhroncok@redhat.com> - 4.6.2-1
|
|
|
d58c2a |
- Update to 4.6.2
|
|
|
d58c2a |
- Fixes CVE-2020-27783 and another vulnerability in the HTML Cleaner
|
|
|
d58c2a |
- Fixes: rhbz#1855415
|
|
|
d58c2a |
- Fixes: rhbz#1901634
|
|
|
d58c2a |
|
|
|
d58c2a |
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.5.1-2
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Jun 01 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 4.5.1-1
|
|
|
d58c2a |
- Update to 4.5.1
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri May 22 2020 Miro Hrončok <mhroncok@redhat.com> - 4.4.1-5
|
|
|
d58c2a |
- Rebuilt for Python 3.9
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.1-4
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Wed Nov 20 2019 Miro Hrončok <mhroncok@redhat.com> - 4.4.1-3
|
|
|
d58c2a |
- Subpackage python2-lxml has been removed
|
|
|
d58c2a |
See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sat Sep 07 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.4.1-2
|
|
|
d58c2a |
- Generate C files using py3 Cython
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sat Sep 07 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.4.1-1
|
|
|
d58c2a |
- Update to 4.4.1
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Aug 16 2019 Miro Hrončok <mhroncok@redhat.com> - 4.4.0-2
|
|
|
d58c2a |
- Rebuilt for Python 3.8
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sat Aug 03 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.4.0-1
|
|
|
d58c2a |
- Update to 4.4.0
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.5-3
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.5-2
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Dec 18 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.2.5-1
|
|
|
d58c2a |
- Update to 4.2.5
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sun Sep 02 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.2.4-1
|
|
|
d58c2a |
- Update to 4.2.4
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.3-2
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sat Jul 07 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.2.3-1
|
|
|
d58c2a |
- Update to 4.2.3
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sun Jun 17 2018 Miro Hrončok <mhroncok@redhat.com> - 4.2.1-2
|
|
|
d58c2a |
- Rebuilt for Python 3.7
|
|
|
d58c2a |
|
|
|
d58c2a |
* Wed Apr 25 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.2.1-1
|
|
|
d58c2a |
- Update to 4.2.1
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.1-2
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sun Nov 05 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.1.1-1
|
|
|
d58c2a |
- Update to 4.1.1
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Oct 10 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.0.0-2
|
|
|
d58c2a |
- Conditionally allow building without Cython
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Oct 05 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.0.0-1
|
|
|
d58c2a |
- Update to 4.0.0
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sat Aug 12 2017 Kevin Fenzi <kevin@scrye.com> - 3.8.0-1
|
|
|
d58c2a |
- Update to 3.8.0. Fixes bug #1458529
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.2-4
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.2-3
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.2-2
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Jan 09 2017 Fabio Alessandro Locati <fale@fedoraproject.org> - 3.7.2-1
|
|
|
d58c2a |
- Update to 3.7.2
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sun Dec 25 2016 Fabio Alessandro Locati <fale@fedoraproject.org> - 3.7.1-1
|
|
|
d58c2a |
- Update to 3.7.1
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Dec 13 2016 Stratakis Charalampos <cstratak@redhat.com> - 3.7.0-2
|
|
|
d58c2a |
- Rebuild for Python 3.6
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sun Dec 11 2016 Fabio Alessandro Locati <fale@fedoraproject.org> - 3.7.0-1
|
|
|
d58c2a |
- Update to 3.7.0
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Sep 08 2016 Fabio Alessandro Locati <fale@fedoraproject.org> - 3.6.4-1
|
|
|
d58c2a |
- Update to 3.6.4
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.4-5
|
|
|
d58c2a |
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.4-4
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Jan 21 2016 Dan Horák <dan[at]danny.cz> - 3.4.4-3
|
|
|
d58c2a |
- fix conditional
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Nov 06 2015 Robert Kuska <rkuska@redhat.com> - 3.4.4-2
|
|
|
d58c2a |
- Rebuilt for Python3.5 rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Aug 28 2015 Peter Robinson <pbrobinson@fedoraproject.org> 3.4.4-1
|
|
|
d58c2a |
- Update to 3.4.4
|
|
|
d58c2a |
- Use %%license, cleanup spec
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.6-2
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Aug 29 2014 Jeffrey C. Ollie <jeff@ocjtech.us> - 3.3.6-1
|
|
|
d58c2a |
- 3.3.6 (2014-08-28)
|
|
|
d58c2a |
- ==================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Prevent tree cycle creation when adding Elements as siblings.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1361948: crash when deallocating Element siblings without parent.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1354652: crash when traversing internally loaded documents in XSLT
|
|
|
d58c2a |
- extension functions.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.5-3
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Wed May 14 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.5-2
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Apr 28 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.5-1
|
|
|
d58c2a |
- 3.3.5 (2014-04-18)
|
|
|
d58c2a |
- ==================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * HTML cleaning could fail to strip javascript links that mix control
|
|
|
d58c2a |
- characters into the link scheme.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Apr 28 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.4-1
|
|
|
d58c2a |
- 3.3.4 (2014-04-03)
|
|
|
d58c2a |
- ==================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Source line numbers above 65535 are available on Elements when
|
|
|
d58c2a |
- using libxml2 2.9 or later.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * lxml.html.fragment_fromstring() failed for bytes input in Py3.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Wed Mar 26 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.3-4
|
|
|
d58c2a |
- Fix macro definition
|
|
|
d58c2a |
|
|
|
d58c2a |
* Wed Mar 26 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.3-3
|
|
|
d58c2a |
- Add python3-cssselect to correct package
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Mar 24 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.3-3
|
|
|
d58c2a |
- python3-cssselect is not available on F19
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Mar 24 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.3-2
|
|
|
d58c2a |
- BZ#1075070 add requires and buildrequires for cssselect
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Mar 11 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.3-1
|
|
|
d58c2a |
- 3.3.3 (2014-03-04)
|
|
|
d58c2a |
- ==================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1287118: Crash when using Element subtypes with ``__slots__``.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- -------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The internal classes ``_LogEntry`` and ``_Attrib`` can no longer be
|
|
|
d58c2a |
- subclassed from Python code.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Mar 11 2014 Alexander Todorov <atodorov@redhat.com> - 3.3.2-2
|
|
|
d58c2a |
- Add check section #1075070
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Feb 28 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.2-1
|
|
|
d58c2a |
- 3.3.2 (2014-02-26)
|
|
|
d58c2a |
- ==================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The properties ``resolvers`` and ``version``, as well as the methods
|
|
|
d58c2a |
- ``set_element_class_lookup()`` and ``makeelement()``, were lost from
|
|
|
d58c2a |
- ``iterparse`` objects.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1222132: instances of ``XMLSchema``, ``Schematron`` and ``RelaxNG``
|
|
|
d58c2a |
- did not clear their local ``error_log`` before running a validation.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1238500: lxml.doctestcompare mixed up "expected" and "actual" in
|
|
|
d58c2a |
- attribute values.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Some file I/O tests were failing in MS-Windows due to incorrect temp
|
|
|
d58c2a |
- file usage. Initial patch by Gabi Davar.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#910014: duplicate IDs in a document were not reported by DTD
|
|
|
d58c2a |
- validation.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1185332: ``tostring(method="html")`` did not use HTML serialisation
|
|
|
d58c2a |
- semantics for trailing tail text. Initial patch by Sylvain Viollon.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1281139: ``.attrib`` value of Comments lost its mutation methods
|
|
|
d58c2a |
- in 3.3.0. Even though it is empty and immutable, it should still
|
|
|
d58c2a |
- provide the same interface as that returned for Elements.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Feb 28 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.2-1
|
|
|
d58c2a |
- 3.3.1 (2014-02-12)
|
|
|
d58c2a |
- ==================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1014290: HTML documents parsed with ``parser.feed()`` failed to find
|
|
|
d58c2a |
- elements during tag iteration.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1273709: Building in PyPy failed due to missing support for
|
|
|
d58c2a |
- ``PyUnicode_Compare()`` and ``PyByteArray_*()`` in PyPy's C-API.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1274413: Compilation in MSVC failed due to missing "stdint.h" standard
|
|
|
d58c2a |
- header file.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1274118: iterparse() failed to parse BOM prefixed files.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Jan 27 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.0-2
|
|
|
d58c2a |
- Update Cython requirement to >= 0.20
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Jan 27 2014 Jeffrey Ollie <jeff@ocjtech.us> - 3.3.0-1
|
|
|
d58c2a |
- 3.3.0 (2014-01-26)
|
|
|
d58c2a |
- ==================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The heuristic that distinguishes file paths from URLs was tightened
|
|
|
d58c2a |
- to produce less false negatives.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- -------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- 3.3.0beta5 (2014-01-18)
|
|
|
d58c2a |
- =======================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The PEP 393 unicode parsing support gained a fallback for wchar strings
|
|
|
d58c2a |
- which might still be somewhat common on Windows systems.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Several error handling problems were fixed throughout the code base that
|
|
|
d58c2a |
- could previously lead to exceptions being silently swallowed or not
|
|
|
d58c2a |
- properly reported.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The C-API function ``appendChild()`` is now deprecated as it does not
|
|
|
d58c2a |
- propagate exceptions (its return type is ``void``). The new function
|
|
|
d58c2a |
- ``appendChildToElement()`` was added as a safe replacement.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Passing a string into ``fromstringlist()`` raises an exception instead of
|
|
|
d58c2a |
- parsing the string character by character.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- -------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Document cleanup code was simplified using the new GC features in
|
|
|
d58c2a |
- Cython 0.20.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- 3.3.0beta4 (2014-01-12)
|
|
|
d58c2a |
- =======================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The (empty) value returned by the ``attrib`` property of Entity and
|
|
|
d58c2a |
- Comment objects was mutable.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Element class lookup wasn't available for the new pull parsers or when
|
|
|
d58c2a |
- using a custom parser target.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Setting Element attributes on instantiation with both the ``attrib``
|
|
|
d58c2a |
- argument and keyword arguments could modify the mapping passed as
|
|
|
d58c2a |
- ``attrib``.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1266171: DTDs instantiated from internal/external subsets (i.e.
|
|
|
d58c2a |
- through the docinfo property) lost their attribute declarations.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- -------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Built with Cython 0.20pre (gitrev 012ae82eb) to prepare support for
|
|
|
d58c2a |
- Python 3.4.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- 3.3.0beta3 (2014-01-02)
|
|
|
d58c2a |
- =======================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Unicode string parsing was optimised for Python 3.3 (PEP 393).
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * HTML parsing of Unicode strings could misdecode the input on some
|
|
|
d58c2a |
- platforms.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Crash in xmlfile() when closing open elements out of order in an error
|
|
|
d58c2a |
- case.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- -------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- 3.3.0beta2 (2013-12-20)
|
|
|
d58c2a |
- =======================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * ``iterparse()`` supports the ``recover`` option.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Crash in ``iterparse()`` for HTML parsing.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Crash in target parsing with attributes.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- -------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The safety check in the read-only tree implementation (e.g. used by
|
|
|
d58c2a |
- ``PythonElementClassLookup``) raises a more appropriate
|
|
|
d58c2a |
- ``ReferenceError`` for illegal access after tree disposal instead of
|
|
|
d58c2a |
- an ``AssertionError``. This should only impact test code that
|
|
|
d58c2a |
- specifically checks the original behaviour.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- 3.3.0beta1 (2013-12-12)
|
|
|
d58c2a |
- =======================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * New option ``handle_failures`` in ``make_links_absolute()`` and
|
|
|
d58c2a |
- ``resolve_base_href()`` (lxml.html) that enables ignoring or
|
|
|
d58c2a |
- discarding links that fail to parse as URLs.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * New parser classes ``XMLPullParser`` and ``HTMLPullParser`` for
|
|
|
d58c2a |
- incremental parsing, as implemented for ElementTree in Python 3.4.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * ``iterparse()`` enables recovery mode by default for HTML parsing
|
|
|
d58c2a |
- (``html=True``).
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1255132: crash when trying to run validation over non-Element (e.g.
|
|
|
d58c2a |
- comment or PI).
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Error messages in the log and in exception messages that originated
|
|
|
d58c2a |
- from libxml2 could accidentally be picked up from preceding warnings
|
|
|
d58c2a |
- instead of the actual error.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The ``ElementMaker`` in lxml.objectify did not accept a dict as
|
|
|
d58c2a |
- argument for adding attributes to the element it's building. This
|
|
|
d58c2a |
- works as in lxml.builder now.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1228881: ``repr(XSLTAccessControl)`` failed in Python 3.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Raise ``ValueError`` when trying to append an Element to itself or
|
|
|
d58c2a |
- to one of its own descendants, instead of running into an infinite
|
|
|
d58c2a |
- loop.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1206077: htmldiff discarded whitespace from the output.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Compressed plain-text serialisation to file-like objects was broken.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * lxml.html.formfill: Fix textarea form filling.
|
|
|
d58c2a |
- The textarea used to be cleared before the new content was set,
|
|
|
d58c2a |
- which removed the name attribute.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- -------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Some basic API classes use freelists internally for faster
|
|
|
d58c2a |
- instantiation. This can speed up some ``iterparse()`` scenarios,
|
|
|
d58c2a |
- for example.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * ``iterparse()`` was rewritten to use the new ``*PullParser``
|
|
|
d58c2a |
- classes internally instead of being a parser itself.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Nov 11 2013 Jeffrey Ollie <jeff@ocjtech.us> - 3.2.4-1
|
|
|
d58c2a |
- 3.2.4 (2013-11-07)
|
|
|
d58c2a |
- ==================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Memory leak when creating an XPath evaluator in a thread.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1228881: ``repr(XSLTAccessControl)`` failed in Python 3.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Raise ``ValueError`` when trying to append an Element to itself or
|
|
|
d58c2a |
- to one of its own descendants.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1206077: htmldiff discarded whitespace from the output.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Compressed plain-text serialisation to file-like objects was broken.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Wed Sep 18 2013 Jeffrey Ollie <jeff@ocjtech.us> - 3.2.3-2
|
|
|
d58c2a |
- Add requirement for on python-cssselect for the python2 version
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sun Jul 28 2013 Jeffrey Ollie <jeff@ocjtech.us> - 3.2.3-1
|
|
|
d58c2a |
- and here's a version 3.2.3. The last release accidentally lost the ability
|
|
|
d58c2a |
- to work on Python 2.4. There are no other changes over 3.2.2.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- 3.2.2 (2013-07-28)
|
|
|
d58c2a |
- ==================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1185701: spurious XMLSyntaxError after finishing iterparse().
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Crash in lxml.objectify during xsi annotation.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- -------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Return values of user provided element class lookup methods are now
|
|
|
d58c2a |
- validated against the type of the XML node they represent to prevent
|
|
|
d58c2a |
- API class mismatches.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sun May 12 2013 Jeffrey Ollie <jeff@ocjtech.us> - 3.2.1-1
|
|
|
d58c2a |
- 3.2.1 (2013-05-11)
|
|
|
d58c2a |
- ==================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The methods ``apply_templates()`` and ``process_children()`` of XSLT
|
|
|
d58c2a |
- extension elements have gained two new boolean options ``elements_only``
|
|
|
d58c2a |
- and ``remove_blank_text`` that discard either all strings or
|
|
|
d58c2a |
- whitespace-only strings from the result list.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * When moving Elements to another tree, the namespace cleanup mechanism
|
|
|
d58c2a |
- no longer drops namespace prefixes from attributes for which it finds
|
|
|
d58c2a |
- a default namespace declaration, to prevent them from appearing as
|
|
|
d58c2a |
- unnamespaced attributes after serialisation.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Returning non-type objects from a custom class lookup method could lead
|
|
|
d58c2a |
- to a crash.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Instantiating and using subtypes of Comments and ProcessingInstructions
|
|
|
d58c2a |
- crashed.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri May 10 2013 Jeffrey Ollie <jeff@ocjtech.us> - 3.2.0-1
|
|
|
d58c2a |
- 3.2.0 (2013-04-28)
|
|
|
d58c2a |
- ==================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#690319: Leading whitespace could change the behaviour of the string
|
|
|
d58c2a |
- parsing functions in ``lxml.html``.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#599318: The string parsing functions in ``lxml.html`` are more robust
|
|
|
d58c2a |
- in the face of uncommon HTML content like framesets or missing body tags.
|
|
|
d58c2a |
- Patch by Stefan Seelmann.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#712941: I/O errors while trying to access files with paths that
|
|
|
d58c2a |
- contain non-ASCII characters could raise ``UnicodeDecodeError`` instead
|
|
|
d58c2a |
- of properly reporting the ``IOError``.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#673205: Parsing from in-memory strings disabled network access in the
|
|
|
d58c2a |
- default parser and made subsequent attempts to parse from a URL fail.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#971754: lxml.html.clean appends 'nofollow' to 'rel' attributes instead
|
|
|
d58c2a |
- of overwriting the current value.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#715687: lxml.html.clean no longer discards scripts that are explicitly
|
|
|
d58c2a |
- allowed by the user provided whitelist. Patch by Christine Koppelt.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- 3.1.2 (2013-04-12)
|
|
|
d58c2a |
- ==================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1136509: Passing attributes through the namespace-unaware API of
|
|
|
d58c2a |
- the sax bridge (i.e. the ``handler.startElement()`` method) failed
|
|
|
d58c2a |
- with a ``TypeError``. Patch by Mike Bayer.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1123074: Fix serialisation error in XSLT output when converting
|
|
|
d58c2a |
- the result tree to a Unicode string.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * GH#105: Replace illegal usage of ``xmlBufLength()`` in libxml2 2.9.0
|
|
|
d58c2a |
- by properly exported API function ``xmlBufUse()``.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- 3.1.1 (2013-03-29)
|
|
|
d58c2a |
- ==================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1160386: Write access to ``lxml.html.FormElement.fields`` raised
|
|
|
d58c2a |
- an AttributeError in Py3.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Illegal memory access during cleanup in incremental xmlfile writer.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- -------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The externally useless class ``lxml.etree._BaseParser`` was removed
|
|
|
d58c2a |
- from the module dict.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Mar 8 2013 Jeffrey Ollie <jeff@ocjtech.us> - 3.1.0-1
|
|
|
d58c2a |
- 3.1.0 (2013-02-10)
|
|
|
d58c2a |
- ==================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * GH#89: lxml.html.clean allows overriding the set of attributes that it
|
|
|
d58c2a |
- considers 'safe'. Patch by Francis Devereux.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1104370: ``copy.copy(el.attrib)`` raised an exception. It now returns
|
|
|
d58c2a |
- a copy of the attributes as a plain Python dict.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * GH#95: When used with namespace prefixes, the ``el.find*()`` methods
|
|
|
d58c2a |
- always used the first namespace mapping that was provided for each
|
|
|
d58c2a |
- path expression instead of using the one that was actually passed
|
|
|
d58c2a |
- in for the current run.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1092521, GH#91: Fix undefined C symbol in Python runtimes compiled
|
|
|
d58c2a |
- without threading support. Patch by Ulrich Seidl.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- -------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- 3.1beta1 (2012-12-21)
|
|
|
d58c2a |
- =====================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * New build-time option ``--with-unicode-strings`` for Python 2 that
|
|
|
d58c2a |
- makes the API always return Unicode strings for names and text
|
|
|
d58c2a |
- instead of byte strings for plain ASCII content.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * New incremental XML file writing API ``etree.xmlfile()``.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * E factory in lxml.objectify is callable to simplify the creation of
|
|
|
d58c2a |
- tags with non-identifier names without having to resort to getattr().
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * When starting from a non-namespaced element in lxml.objectify, searching
|
|
|
d58c2a |
- for a child without explicitly specifying a namespace incorrectly found
|
|
|
d58c2a |
- namespaced elements with the requested local name, instead of restricting
|
|
|
d58c2a |
- the search to non-namespaced children.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * GH#85: Deprecation warnings were fixed for Python 3.x.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * GH#33: lxml.html.fromstring() failed to accept bytes input in Py3.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1080792: Static build of libxml2 2.9.0 failed due to missing file.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- -------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The externally useless class ``_ObjectifyElementMakerCaller`` was
|
|
|
d58c2a |
- removed from the module API of lxml.objectify.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1075622: lxml.builder is faster for adding text to elements with
|
|
|
d58c2a |
- many children. Patch by Anders Hammarquist.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.1-2
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Oct 15 2012 Jeffrey Ollie <jeff@ocjtech.us> - 3.0.1-1
|
|
|
d58c2a |
- 3.0.1 (2012-10-14)
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * LP#1065924: Element proxies could disappear during garbage collection
|
|
|
d58c2a |
- in PyPy without proper cleanup.
|
|
|
d58c2a |
- * GH#71: Failure to work with libxml2 2.6.x.
|
|
|
d58c2a |
- * LP#1065139: static MacOS-X build failed in Py3.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Wed Oct 10 2012 Jeffrey Ollie <jeff@ocjtech.us> - 3.0-1
|
|
|
d58c2a |
- 3.0 (2012-10-08)
|
|
|
d58c2a |
- ================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * End-of-file handling was incorrect in iterparse() when reading from
|
|
|
d58c2a |
- a low-level C file stream and failed in libxml2 2.9.0 due to its
|
|
|
d58c2a |
- improved consistency checks.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- -------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The build no longer uses Cython by default unless the generated C files
|
|
|
d58c2a |
- are missing. To use Cython, pass the option "--with-cython". To ignore
|
|
|
d58c2a |
- the fatal build error when Cython is required but not available (e.g. to
|
|
|
d58c2a |
- run special setup.py commands that do not actually run a build), pass
|
|
|
d58c2a |
- "--without-cython".
|
|
|
d58c2a |
-
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- 3.0beta1 (2012-09-26)
|
|
|
d58c2a |
- =====================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Python level access to (optional) libxml2 memory debugging features
|
|
|
d58c2a |
- to simplify debugging of memory leaks etc.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Fix a memory leak in XPath by switching to Cython 0.17.1.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Some tests were adapted to work with PyPy.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- -------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The code was adapted to work with the upcoming libxml2 2.9.0 release.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- 3.0alpha2 (2012-08-23)
|
|
|
d58c2a |
- ======================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The .iter() method of elements now accepts tag arguments like "{*}name"
|
|
|
d58c2a |
- to search for elements with a given local name in any namespace. With
|
|
|
d58c2a |
- this addition, all combinations of wildcards now work as expected:
|
|
|
d58c2a |
- "{ns}name", "{}name", "{*}name", "{ns}*", "{}*" and "{*}*". Note that
|
|
|
d58c2a |
- "name" is equivalent to "{}name", but "*" is "{*}*". The same change
|
|
|
d58c2a |
- applies to the .getiterator(), .itersiblings(), .iterancestors(),
|
|
|
d58c2a |
- .iterdescendants(), .iterchildren() and .itertext() methods, the
|
|
|
d58c2a |
- strip_attributes(), strip_elements() and strip_tags() functions as well
|
|
|
d58c2a |
- as the iterparse() function.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * C14N allows specifying the inclusive prefixes to be promoted to
|
|
|
d58c2a |
- top-level during exclusive serialisation.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Passing long Unicode strings into the feed() parser interface failed to
|
|
|
d58c2a |
- read the entire string.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- -------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- 3.0alpha1 (2012-07-31)
|
|
|
d58c2a |
- ======================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Initial support for building in PyPy (through cpyext).
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * DTD objects gained an API that allows read access to their
|
|
|
d58c2a |
- declarations.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * xpathgrep.py gained support for parsing line-by-line (e.g.
|
|
|
d58c2a |
- from grep output) and for surrounding the output with a new root
|
|
|
d58c2a |
- tag.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * E-factory in lxml.builder accepts subtypes of known data
|
|
|
d58c2a |
- types (such as string subtypes) when building elements around them.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Tree iteration and iterparse() with a selective tag
|
|
|
d58c2a |
- argument supports passing a set of tags. Tree nodes will be
|
|
|
d58c2a |
- returned by the iterators if they match any of the tags.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The .find*() methods in lxml.objectify no longer use XPath
|
|
|
d58c2a |
- internally, which makes them faster in many cases (especially when
|
|
|
d58c2a |
- short circuiting after a single or couple of elements) and fixes
|
|
|
d58c2a |
- some behavioural differences compared to lxml.etree. Note that
|
|
|
d58c2a |
- this means that they no longer support arbitrary XPath expressions
|
|
|
d58c2a |
- but only the subset that the ElementPath language supports.
|
|
|
d58c2a |
- The previous implementation was also redundant with the normal
|
|
|
d58c2a |
- XPath support, which can be used as a replacement.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * el.find('*') could accidentally return a comment or processing
|
|
|
d58c2a |
- instruction that happened to be in the wrong spot. (Same for the
|
|
|
d58c2a |
- other .find*() methods.)
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The error logging is less intrusive and avoids a global setup where
|
|
|
d58c2a |
- possible.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Fixed undefined names in html5lib parser.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * xpathgrep.py did not work in Python 3.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Element.attrib.update() did not accept an attrib of
|
|
|
d58c2a |
- another Element as parameter.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * For subtypes of ElementBase that make the .text or .tail
|
|
|
d58c2a |
- properties immutable (as in objectify, for example), inserting text
|
|
|
d58c2a |
- when creating Elements through the E-Factory feature of the class
|
|
|
d58c2a |
- constructor would fail with an exception, stating that the text
|
|
|
d58c2a |
- cannot be modified.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The code base was overhauled to properly use 'const' where the API
|
|
|
d58c2a |
- of libxml2 and libxslt requests it. This also has an impact on the
|
|
|
d58c2a |
- public C-API of lxml itself, as defined in etreepublic.pxd, as
|
|
|
d58c2a |
- well as the provided declarations in the lxml/includes/ directory.
|
|
|
d58c2a |
- Code that uses these declarations may have to be adapted. On the
|
|
|
d58c2a |
- plus side, this fixes several C compiler warnings, also for user
|
|
|
d58c2a |
- code, thus making it easier to spot real problems again.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The functionality of "lxml.cssselect" was moved into a separate PyPI
|
|
|
d58c2a |
- package called "cssselect". To continue using it, you must install
|
|
|
d58c2a |
- that package separately. The "lxml.cssselect" module is still
|
|
|
d58c2a |
- available and provides the same interface, provided the "cssselect"
|
|
|
d58c2a |
- package can be imported at runtime.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Element attributes passed in as an attrib dict or as keyword
|
|
|
d58c2a |
- arguments are now sorted by (namespaced) name before being created
|
|
|
d58c2a |
- to make their order predictable for serialisation and iteration.
|
|
|
d58c2a |
- Note that adding or deleting attributes afterwards does not take
|
|
|
d58c2a |
- that order into account, i.e. setting a new attribute appends it
|
|
|
d58c2a |
- after the existing ones.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Several classes that are for internal use only were removed
|
|
|
d58c2a |
- from the lxml.etree module dict:
|
|
|
d58c2a |
- _InputDocument, _ResolverRegistry, _ResolverContext, _BaseContext,
|
|
|
d58c2a |
- _ExsltRegExp, _IterparseContext, _TempStore, _ExceptionContext,
|
|
|
d58c2a |
- __ContentOnlyElement, _AttribIterator, _NamespaceRegistry,
|
|
|
d58c2a |
- _ClassNamespaceRegistry, _FunctionNamespaceRegistry,
|
|
|
d58c2a |
- _XPathFunctionNamespaceRegistry, _ParserDictionaryContext,
|
|
|
d58c2a |
- _FileReaderContext, _ParserContext, _PythonSaxParserTarget,
|
|
|
d58c2a |
- _TargetParserContext, _ReadOnlyProxy, _ReadOnlyPIProxy,
|
|
|
d58c2a |
- _ReadOnlyEntityProxy, _ReadOnlyElementProxy, _OpaqueNodeWrapper,
|
|
|
d58c2a |
- _OpaqueDocumentWrapper, _ModifyContentOnlyProxy,
|
|
|
d58c2a |
- _ModifyContentOnlyPIProxy, _ModifyContentOnlyEntityProxy,
|
|
|
d58c2a |
- _AppendOnlyElementProxy, _SaxParserContext, _FilelikeWriter,
|
|
|
d58c2a |
- _ParserSchemaValidationContext, _XPathContext,
|
|
|
d58c2a |
- _XSLTResolverContext, _XSLTContext, _XSLTQuotedStringParam
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Several internal classes can no longer be inherited from:
|
|
|
d58c2a |
- _InputDocument, _ResolverRegistry, _ExsltRegExp, _ElementUnicodeResult,
|
|
|
d58c2a |
- _IterparseContext, _TempStore, _AttribIterator, _ClassNamespaceRegistry,
|
|
|
d58c2a |
- _XPathFunctionNamespaceRegistry, _ParserDictionaryContext,
|
|
|
d58c2a |
- _FileReaderContext, _PythonSaxParserTarget, _TargetParserContext,
|
|
|
d58c2a |
- _ReadOnlyPIProxy, _ReadOnlyEntityProxy, _OpaqueDocumentWrapper,
|
|
|
d58c2a |
- _ModifyContentOnlyPIProxy, _ModifyContentOnlyEntityProxy,
|
|
|
d58c2a |
- _AppendOnlyElementProxy, _FilelikeWriter, _ParserSchemaValidationContext,
|
|
|
d58c2a |
- _XPathContext, _XSLTResolverContext, _XSLTContext,
|
|
|
d58c2a |
- _XSLTQuotedStringParam, _XSLTResultTree, _XSLTProcessingInstruction
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Sep 27 2012 Jeffrey Ollie <jeff@ocjtech.us> - 2.3.5-1
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Crash when merging text nodes in element.remove().
|
|
|
d58c2a |
- * Crash in sax/target parser when reporting empty doctype.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Sep 27 2012 Jeffrey Ollie <jeff@ocjtech.us> - 2.3.4-1
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Crash when building an nsmap (Element property) with empty namespace
|
|
|
d58c2a |
- URIs.
|
|
|
d58c2a |
- * Crash due to race condition when errors (or user messages) occur during
|
|
|
d58c2a |
- threaded XSLT processing (or compilation).
|
|
|
d58c2a |
- * XSLT stylesheet compilation could ignore compilation errors.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sat Aug 04 2012 David Malcolm <dmalcolm@redhat.com> - 2.3.3-4
|
|
|
d58c2a |
- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Aug 3 2012 David Malcolm <dmalcolm@redhat.com> - 2.3.3-3
|
|
|
d58c2a |
- remove rhel logic from with_python3 conditional
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.3-2
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Jan 5 2012 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.3.3-1
|
|
|
d58c2a |
- 2.3.3 (2012-01-04)
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * lxml.html.tostring() gained new serialisation options with_tail and
|
|
|
d58c2a |
- doctype.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Fixed a crash when using iterparse() for HTML parsing and requesting
|
|
|
d58c2a |
- start events.
|
|
|
d58c2a |
- * Fixed parsing of more selectors in cssselect. Whitespace before pseudo-
|
|
|
d58c2a |
- elements and pseudo-classes is significant as it is a descendant
|
|
|
d58c2a |
- combinator. "E :pseudo" should parse the same as "E *:pseudo", not
|
|
|
d58c2a |
- "E:pseudo". Patch by Simon Sapin.
|
|
|
d58c2a |
- * lxml.html.diff no longer raises an exception when hitting 'img' tags
|
|
|
d58c2a |
- without 'src' attribute.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Nov 14 2011 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.3.2-1
|
|
|
d58c2a |
- 2.3.2 (2011-11-11)
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * lxml.objectify.deannotate() has a new boolean option
|
|
|
d58c2a |
- cleanup_namespaces to remove the objectify namespace declarations
|
|
|
d58c2a |
- (and generally clean up the namespace declarations) after removing
|
|
|
d58c2a |
- the type annotations.
|
|
|
d58c2a |
- * lxml.objectify gained its own SubElement() function as a copy of
|
|
|
d58c2a |
- etree.SubElement to avoid an otherwise redundant import of
|
|
|
d58c2a |
- lxml.etree on the user side.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Fixed the "descendant" bug in cssselect a second time (after a first
|
|
|
d58c2a |
- fix in lxml 2.3.1). The previous change resulted in a serious
|
|
|
d58c2a |
- performance regression for the XPath based evaluation of the
|
|
|
d58c2a |
- translated expression. Note that this breaks the usage of some
|
|
|
d58c2a |
- of the generated XPath expressions as XSLT location paths that
|
|
|
d58c2a |
- previously worked in 2.3.1.
|
|
|
d58c2a |
- * Fixed parsing of some selectors in cssselect. Whitespace after
|
|
|
d58c2a |
- combinators ">", "+" and "~" is now correctly ignored. Previously
|
|
|
d58c2a |
- it was parsed as a descendant combinator. For example, "div> .foo"
|
|
|
d58c2a |
- was parsed the same as "div>* .foo" instead of "div>.foo". Patch by
|
|
|
d58c2a |
- Simon Sapin.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sun Sep 25 2011 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.3.1-1
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * New option kill_tags in lxml.html.clean to remove specific
|
|
|
d58c2a |
- tags and their content (i.e. their whole subtree).
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * pi.get() and pi.attrib on processing instructions to parse
|
|
|
d58c2a |
- pseudo-attributes from the text content of processing instructions.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * lxml.get_include() returns a list of include paths that can be
|
|
|
d58c2a |
- used to compile external C code against lxml.etree. This is
|
|
|
d58c2a |
- specifically required for statically linked lxml builds when code
|
|
|
d58c2a |
- needs to compile against the exact same header file versions as lxml
|
|
|
d58c2a |
- itself.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Resolver.resolve_file() takes an additional option
|
|
|
d58c2a |
- close_file that configures if the file(-like) object will be
|
|
|
d58c2a |
- closed after reading or not. By default, the file will be closed,
|
|
|
d58c2a |
- as the user is not expected to keep a reference to it.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * HTML cleaning didn't remove 'data:' links.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The html5lib parser integration now uses the 'official'
|
|
|
d58c2a |
- implementation in html5lib itself, which makes it work with newer
|
|
|
d58c2a |
- releases of the library.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * In lxml.sax, endElementNS() could incorrectly reject a plain
|
|
|
d58c2a |
- tag name when the corresponding start event inferred the same plain
|
|
|
d58c2a |
- tag name to be in the default namespace.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * When an open file-like object is passed into parse() or
|
|
|
d58c2a |
- iterparse(), the parser will no longer close it after use. This
|
|
|
d58c2a |
- reverts a change in lxml 2.3 where all files would be closed. It is
|
|
|
d58c2a |
- the users responsibility to properly close the file(-like) object,
|
|
|
d58c2a |
- also in error cases.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Assertion error in lxml.html.cleaner when discarding top-level elements.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * In lxml.cssselect, use the xpath 'A//B' (short for
|
|
|
d58c2a |
- 'A/descendant-or-self::node()/B') instead of 'A/descendant::B' for the
|
|
|
d58c2a |
- css descendant selector ('A B'). This makes a few edge cases to be
|
|
|
d58c2a |
- consistent with the selector behavior in WebKit and Firefox, and makes
|
|
|
d58c2a |
- more css expressions valid location paths (for use in xsl:template
|
|
|
d58c2a |
- match).
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * In lxml.html, non-selected <option> tags no longer show up in the
|
|
|
d58c2a |
- collected form values.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Adding/removing <option> values to/from a multiple select form
|
|
|
d58c2a |
- field properly selects them and unselects them.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Static builds can specify the download directory with the
|
|
|
d58c2a |
- --download-dir option.
|
|
|
d58c2a |
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Apr 19 2011 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.3-1
|
|
|
d58c2a |
- 2.3 (2011-02-06)
|
|
|
d58c2a |
- ================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * When looking for children, ``lxml.objectify`` takes '{}tag' as
|
|
|
d58c2a |
- meaning an empty namespace, as opposed to the parent namespace.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * When finished reading from a file-like object, the parser
|
|
|
d58c2a |
- immediately calls its ``.close()`` method.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * When finished parsing, ``iterparse()`` immediately closes the input
|
|
|
d58c2a |
- file.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Work-around for libxml2 bug that can leave the HTML parser in a
|
|
|
d58c2a |
- non-functional state after parsing a severly broken document (fixed
|
|
|
d58c2a |
- in libxml2 2.7.8).
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * ``marque`` tag in HTML cleanup code is correctly named ``marquee``.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Some public functions in the Cython-level C-API have more explicit
|
|
|
d58c2a |
- return types.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- 2.3beta1 (2010-09-06)
|
|
|
d58c2a |
- =====================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Crash in newer libxml2 versions when moving elements between
|
|
|
d58c2a |
- documents that had attributes on replaced XInclude nodes.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * ``XMLID()`` function was missing the optional ``parser`` and
|
|
|
d58c2a |
- ``base_url`` parameters.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Searching for wildcard tags in ``iterparse()`` was broken in Py3.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * ``lxml.html.open_in_browser()`` didn't work in Python 3 due to the
|
|
|
d58c2a |
- use of os.tempnam. It now takes an optional 'encoding' parameter.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- 2.3alpha2 (2010-07-24)
|
|
|
d58c2a |
- ======================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Crash in XSLT when generating text-only result documents with a
|
|
|
d58c2a |
- stylesheet created in a different thread.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * ``repr()`` of Element objects shows the hex ID with leading 0x
|
|
|
d58c2a |
- (following ElementTree 1.3).
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- 2.3alpha1 (2010-06-19)
|
|
|
d58c2a |
- ======================
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
- --------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Keyword argument ``namespaces`` in ``lxml.cssselect.CSSSelector()``
|
|
|
d58c2a |
- to pass a prefix-to-namespace mapping for the selector.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * New function ``lxml.etree.register_namespace(prefix, uri)`` that
|
|
|
d58c2a |
- globally registers a namespace prefix for a namespace that newly
|
|
|
d58c2a |
- created Elements in that namespace will use automatically. Follows
|
|
|
d58c2a |
- ElementTree 1.3.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Support 'unicode' string name as encoding parameter in
|
|
|
d58c2a |
- ``tostring()``, following ElementTree 1.3.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Support 'c14n' serialisation method in ``ElementTree.write()`` and
|
|
|
d58c2a |
- ``tostring()``, following ElementTree 1.3.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The ElementPath expression syntax (``el.find*()``) was extended to
|
|
|
d58c2a |
- match the upcoming ElementTree 1.3 that will ship in the standard
|
|
|
d58c2a |
- library of Python 3.2/2.7. This includes extended support for
|
|
|
d58c2a |
- predicates as well as namespace prefixes (as known from XPath).
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * During regular XPath evaluation, various ESXLT functions are
|
|
|
d58c2a |
- available within their namespace when using libxslt 1.1.26 or later.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Support passing a readily configured logger instance into
|
|
|
d58c2a |
- ``PyErrorLog``, instead of a logger name.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * On serialisation, the new ``doctype`` parameter can be used to
|
|
|
d58c2a |
- override the DOCTYPE (internal subset) of the document.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * New parameter ``output_parent`` to ``XSLTExtension.apply_templates()``
|
|
|
d58c2a |
- to append the resulting content directly to an output element.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * ``XSLTExtension.process_children()`` to process the content of the
|
|
|
d58c2a |
- XSLT extension element itself.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * ISO-Schematron support based on the de-facto Schematron reference
|
|
|
d58c2a |
- 'skeleton implementation'.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * XSLT objects now take XPath object as ``__call__`` stylesheet
|
|
|
d58c2a |
- parameters.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Enable path caching in ElementPath (``el.find*()``) to avoid parsing
|
|
|
d58c2a |
- overhead.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Setting the value of a namespaced attribute always uses a prefixed
|
|
|
d58c2a |
- namespace instead of the default namespace even if both declare the
|
|
|
d58c2a |
- same namespace URI. This avoids serialisation problems when an
|
|
|
d58c2a |
- attribute from a default namespace is set on an element from a
|
|
|
d58c2a |
- different namespace.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * XSLT extension elements: support for XSLT context nodes other than
|
|
|
d58c2a |
- elements: document root, comments, processing instructions.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Support for strings (in addition to Elements) in node-sets returned
|
|
|
d58c2a |
- by extension functions.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Forms that lack an ``action`` attribute default to the base URL of
|
|
|
d58c2a |
- the document on submit.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * XPath attribute result strings have an ``attrname`` property.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Namespace URIs get validated against RFC 3986 at the API level
|
|
|
d58c2a |
- (required by the XML namespace specification).
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Target parsers show their target object in the ``.target`` property
|
|
|
d58c2a |
- (compatible with ElementTree).
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
- ----------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * API is hardened against invalid proxy instances to prevent crashes
|
|
|
d58c2a |
- due to incorrectly instantiated Element instances.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Prevent crash when instantiating ``CommentBase`` and friends.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Export ElementTree compatible XML parser class as
|
|
|
d58c2a |
- ``XMLTreeBuilder``, as it is called in ET 1.2.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * ObjectifiedDataElements in lxml.objectify were not hashable. They
|
|
|
d58c2a |
- now use the hash value of the underlying Python value (string,
|
|
|
d58c2a |
- number, etc.) to which they compare equal.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Parsing broken fragments in lxml.html could fail if the fragment
|
|
|
d58c2a |
- contained an orphaned closing '' tag.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Using XSLT extension elements around the root of the output document
|
|
|
d58c2a |
- crashed.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * ``lxml.cssselect`` did not distinguish between ``x[attr="val"]`` and
|
|
|
d58c2a |
- ``x [attr="val"]`` (with a space). The latter now matches the
|
|
|
d58c2a |
- attribute independent of the element.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Rewriting multiple links inside of HTML text content could end up
|
|
|
d58c2a |
- replacing unrelated content as replacements could impact the
|
|
|
d58c2a |
- reported position of subsequent matches. Modifications are now
|
|
|
d58c2a |
- simplified by letting the ``iterlinks()`` generator in ``lxml.html``
|
|
|
d58c2a |
- return links in reversed order if they appear inside the same text
|
|
|
d58c2a |
- node. Thus, replacements and link-internal modifications no longer
|
|
|
d58c2a |
- change the position of links reported afterwards.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The ``.value`` attribute of ``textarea`` elements in lxml.html did
|
|
|
d58c2a |
- not represent the complete raw value (including child tags etc.). It
|
|
|
d58c2a |
- now serialises the complete content on read and replaces the
|
|
|
d58c2a |
- complete content by a string on write.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Target parser didn't call ``.close()`` on the target object if
|
|
|
d58c2a |
- parsing failed. Now it is guaranteed that ``.close()`` will be
|
|
|
d58c2a |
- called after parsing, regardless of the outcome.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
- -------------
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Official support for Python 3.1.2 and later.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Static MS Windows builds can now download their dependencies
|
|
|
d58c2a |
- themselves.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * ``Element.attrib`` no longer uses a cyclic reference back to its
|
|
|
d58c2a |
- Element object. It therefore no longer requires the garbage
|
|
|
d58c2a |
- collector to clean up.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Static builds include libiconv, in addition to libxml2 and libxslt.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.8-4
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Wed Dec 29 2010 David Malcolm <dmalcolm@redhat.com> - 2.2.8-3
|
|
|
d58c2a |
- rebuild for newer python3
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Nov 5 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.8-2
|
|
|
d58c2a |
- Rebuild for newer libxml2
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Sep 6 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.8-1
|
|
|
d58c2a |
- 2.2.8 (2010-09-02)
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Crash in newer libxml2 versions when moving elements between
|
|
|
d58c2a |
- documents that had attributes on replaced XInclude nodes.
|
|
|
d58c2a |
- * Import fix for urljoin in Python 3.1+.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Aug 24 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.7-3
|
|
|
d58c2a |
- Don't byte-compile files during install because setup.py doesn't
|
|
|
d58c2a |
properly byte compile for Python version 3.2
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sun Aug 22 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.7-2
|
|
|
d58c2a |
- Rebuild for Python 3.2
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Jul 26 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.7-1
|
|
|
d58c2a |
- 2.2.7 (2010-07-24)
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Crash in XSLT when generating text-only result documents with a stylesheet created in a different thread.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Jul 26 2010 David Malcolm <dmalcolm@redhat.com> - 2.2.6-4
|
|
|
d58c2a |
- actually add the patch this time
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Jul 26 2010 David Malcolm <dmalcolm@redhat.com> - 2.2.6-3
|
|
|
d58c2a |
- workaround for 2to3 issue (patch 0; bug 600036)
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 2.2.6-2
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Mar 2 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.6-1
|
|
|
d58c2a |
- 2.2.6 (2010-03-02)
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Fixed several Python 3 regressions by building with Cython 0.11.3.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Mar 1 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.5-1
|
|
|
d58c2a |
- 2.2.5 (2010-02-28)
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Support for running XSLT extension elements on the input root node
|
|
|
d58c2a |
- (e.g. in a template matching on "/").
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Crash in XPath evaluation when reading smart strings from a document
|
|
|
d58c2a |
- other than the original context document.
|
|
|
d58c2a |
- * Support recent versions of html5lib by not requiring its XHTMLParser
|
|
|
d58c2a |
- in htmlparser.py anymore.
|
|
|
d58c2a |
- * Manually instantiating the custom element classes in lxml.objectify
|
|
|
d58c2a |
- could crash.
|
|
|
d58c2a |
- * Invalid XML text characters were not rejected by the API when they
|
|
|
d58c2a |
- appeared in unicode strings directly after non-ASCII characters.
|
|
|
d58c2a |
- * lxml.html.open_http_urllib() did not work in Python 3.
|
|
|
d58c2a |
- * The functions strip_tags() and strip_elements() in lxml.etree did
|
|
|
d58c2a |
- not remove all occurrences of a tag in all cases.
|
|
|
d58c2a |
- * Crash in XSLT extension elements when the XSLT context node is not
|
|
|
d58c2a |
- an element.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Feb 15 2010 Thomas Spura <tomspur@fedoraproject.org> - 2.2.4-2
|
|
|
d58c2a |
- update to current python3 guidelines
|
|
|
d58c2a |
- be more explicit in %%files
|
|
|
d58c2a |
- use %%global and not %%define
|
|
|
d58c2a |
- create docs subpackage
|
|
|
d58c2a |
- add stripping 3-byte Byte Order Marker from src/lxml/tests/test_errors.py
|
|
|
d58c2a |
to get 2to3 to work (dmalcolm)
|
|
|
d58c2a |
- fixes FTBFS (#564674)
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Jan 14 2010 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.4-1
|
|
|
d58c2a |
- Update to 2.2.4
|
|
|
d58c2a |
- Enable Python 3 subpackage
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Nov 5 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.3-3
|
|
|
d58c2a |
- F-13's python build chain must be a little different...
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Nov 5 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.3-2
|
|
|
d58c2a |
- Add option to build a Python 3 subpackage, original patch by David Malcolm
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Oct 30 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.3-1
|
|
|
d58c2a |
- 2.2.3 (2009-10-30)
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The resolve_entities option did not work in the incremental feed
|
|
|
d58c2a |
- parser.
|
|
|
d58c2a |
- * Looking up and deleting attributes without a namespace could hit a
|
|
|
d58c2a |
- namespaced attribute of the same name instead.
|
|
|
d58c2a |
- * Late errors during calls to SubElement() (e.g. attribute related
|
|
|
d58c2a |
- ones) could leave a partially initialised element in the tree.
|
|
|
d58c2a |
- * Modifying trees that contain parsed entity references could result
|
|
|
d58c2a |
- in an infinite loop.
|
|
|
d58c2a |
- * ObjectifiedElement.__setattr__ created an empty-string child element
|
|
|
d58c2a |
- when the attribute value was rejected as a non-unicode/non-ascii
|
|
|
d58c2a |
- string
|
|
|
d58c2a |
- * Syntax errors in lxml.cssselect could result in misleading error
|
|
|
d58c2a |
- messages.
|
|
|
d58c2a |
- * Invalid syntax in CSS expressions could lead to an infinite loop in
|
|
|
d58c2a |
- the parser of lxml.cssselect.
|
|
|
d58c2a |
- * CSS special character escapes were not properly handled in
|
|
|
d58c2a |
- lxml.cssselect.
|
|
|
d58c2a |
- * CSS Unicode escapes were not properly decoded in lxml.cssselect.
|
|
|
d58c2a |
- * Select options in HTML forms that had no explicit value attribute
|
|
|
d58c2a |
- were not handled correctly. The HTML standard dictates that their
|
|
|
d58c2a |
- value is defined by their text content. This is now supported by
|
|
|
d58c2a |
- lxml.html.
|
|
|
d58c2a |
- * XPath raised a TypeError when finding CDATA sections. This is now
|
|
|
d58c2a |
- fully supported.
|
|
|
d58c2a |
- * Calling help(lxml.objectify) didn't work at the prompt.
|
|
|
d58c2a |
- * The ElementMaker in lxml.objectify no longer defines the default
|
|
|
d58c2a |
- namespaces when annotation is disabled.
|
|
|
d58c2a |
- * Feed parser failed to honour the 'recover' option on parse errors.
|
|
|
d58c2a |
- * Diverting the error logging to Python's logging system was broken.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-2
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sun Jun 21 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.2-1
|
|
|
d58c2a |
- 2.2.2 (2009-06-21)
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * New helper functions strip_attributes(), strip_elements(),
|
|
|
d58c2a |
- strip_tags() in lxml.etree to remove attributes/subtrees/tags
|
|
|
d58c2a |
- from a subtree.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Namespace cleanup on subtree insertions could result in missing
|
|
|
d58c2a |
- namespace declarations (and potentially crashes) if the element
|
|
|
d58c2a |
- defining a namespace was deleted and the namespace was not used
|
|
|
d58c2a |
- by the top element of the inserted subtree but only in deeper
|
|
|
d58c2a |
- subtrees.
|
|
|
d58c2a |
- * Raising an exception from a parser target callback didn't always
|
|
|
d58c2a |
- terminate the parser.
|
|
|
d58c2a |
- * Only {true, false, 1, 0} are accepted as the lexical representation
|
|
|
d58c2a |
- for BoolElement ({True, False, T, F, t, f} not any more), restoring
|
|
|
d58c2a |
- lxml <= 2.0 behaviour.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Jun 2 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2.1-1
|
|
|
d58c2a |
- 2.2.1 (2009-06-02)
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Injecting default attributes into a document during XML Schema
|
|
|
d58c2a |
- validation (also at parse time).
|
|
|
d58c2a |
- * Pass huge_tree parser option to disable parser security restrictions
|
|
|
d58c2a |
- imposed by libxml2 2.7.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The script for statically building libxml2 and libxslt didn't work
|
|
|
d58c2a |
- in Py3.
|
|
|
d58c2a |
- * XMLSchema() also passes invalid schema documents on to libxml2 for
|
|
|
d58c2a |
- parsing (which could lead to a crash before release 2.6.24).
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Mar 24 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-1
|
|
|
d58c2a |
- 2.2 (2009-03-21)
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Support for standalone flag in XML declaration through
|
|
|
d58c2a |
- tree.docinfo.standalone and by passing standalone=True/False on
|
|
|
d58c2a |
- serialisation.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Crash when parsing an XML Schema with external imports from a
|
|
|
d58c2a |
- filename.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Feb 27 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-0.8.beta4
|
|
|
d58c2a |
- 2.2beta4 (2009-02-27)
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Support strings and instantiable Element classes as child arguments
|
|
|
d58c2a |
- to the constructor of custom Element classes.
|
|
|
d58c2a |
- * GZip compression support for serialisation to files and file-like
|
|
|
d58c2a |
- objects.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Deep-copying an ElementTree copied neither its sibling PIs and
|
|
|
d58c2a |
- comments nor its internal/external DTD subsets.
|
|
|
d58c2a |
- * Soupparser failed on broken attributes without values.
|
|
|
d58c2a |
- * Crash in XSLT when overwriting an already defined attribute using
|
|
|
d58c2a |
- xsl:attribute.
|
|
|
d58c2a |
- * Crash bug in exception handling code under Python 3. This was due to
|
|
|
d58c2a |
- a problem in Cython, not lxml itself.
|
|
|
d58c2a |
- * lxml.html.FormElement._name() failed for non top-level forms.
|
|
|
d58c2a |
- * TAG special attribute in constructor of custom Element classes was
|
|
|
d58c2a |
- evaluated incorrectly.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Official support for Python 3.0.1.
|
|
|
d58c2a |
- * Element.findtext() now returns an empty string instead of None for
|
|
|
d58c2a |
- Elements without text content.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2-0.7.beta3
|
|
|
d58c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Feb 17 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-0.6.beta3
|
|
|
d58c2a |
- 2.2beta3 (2009-02-17)
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * XSLT.strparam() class method to wrap quoted string parameters that
|
|
|
d58c2a |
- require escaping.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Memory leak in XPath evaluators.
|
|
|
d58c2a |
- * Crash when parsing indented XML in one thread and merging it with
|
|
|
d58c2a |
- other documents parsed in another thread.
|
|
|
d58c2a |
- * Setting the base attribute in lxml.objectify from a unicode string
|
|
|
d58c2a |
- failed.
|
|
|
d58c2a |
- * Fixes following changes in Python 3.0.1.
|
|
|
d58c2a |
- * Minor fixes for Python 3.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * The global error log (which is copied into the exception log) is now
|
|
|
d58c2a |
- local to a thread, which fixes some race conditions.
|
|
|
d58c2a |
- * More robust error handling on serialisation.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sun Jan 25 2009 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-0.5.beta2
|
|
|
d58c2a |
- 2.2beta2 (2009-01-25)
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Potential memory leak on exception handling. This was due to a
|
|
|
d58c2a |
- problem in Cython, not lxml itself.
|
|
|
d58c2a |
- * iter_links (and related link-rewriting functions) in lxml.html would
|
|
|
d58c2a |
- interpret CSS like url("link") incorrectly (treating the quotation
|
|
|
d58c2a |
- marks as part of the link).
|
|
|
d58c2a |
- * Failing import on systems that have an io module.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Dec 12 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-0.4.beta1
|
|
|
d58c2a |
- 2.2beta1 (2008-12-12)
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Allow lxml.html.diff.htmldiff to accept Element objects,
|
|
|
d58c2a |
- not just HTML strings.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Crash when using an XPath evaluator in multiple threads.
|
|
|
d58c2a |
- * Fixed missing whitespace before Link:... in lxml.html.diff.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Other changes
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Export lxml.html.parse.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Nov 28 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-0.3.alpha1
|
|
|
d58c2a |
- Rebuild for Python 2.6
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Nov 24 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-0.2.alpha1
|
|
|
d58c2a |
- Don't forget to upload the sources!
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Nov 24 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.2-0.1.alpha1
|
|
|
d58c2a |
- 2.2alpha1 (2008-11-23)
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Support for XSLT result tree fragments in XPath/XSLT extension
|
|
|
d58c2a |
- functions.
|
|
|
d58c2a |
- * QName objects have new properties namespace and localname.
|
|
|
d58c2a |
- * New options for exclusive C14N and C14N without comments.
|
|
|
d58c2a |
- * Instantiating a custom Element classes creates a new Element.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * XSLT didn't inherit the parse options of the input document.
|
|
|
d58c2a |
- * 0-bytes could slip through the API when used inside of Unicode
|
|
|
d58c2a |
- strings.
|
|
|
d58c2a |
- * With lxml.html.clean.autolink, links with balanced parenthesis, that
|
|
|
d58c2a |
- end in a parenthesis, will be linked in their entirety (typical with
|
|
|
d58c2a |
- Wikipedia links).
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Nov 17 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.1.3-1
|
|
|
d58c2a |
- 2.1.3 (2008-11-17)
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Ref-count leaks when lxml enters a try-except statement while an
|
|
|
d58c2a |
- outside exception lives in sys.exc_*(). This was due to a problem
|
|
|
d58c2a |
- in Cython, not lxml itself.
|
|
|
d58c2a |
- * Parser Unicode decoding errors could get swallowed by other
|
|
|
d58c2a |
- exceptions.
|
|
|
d58c2a |
- * Name/import errors in some Python modules.
|
|
|
d58c2a |
- * Internal DTD subsets that did not specify a system or public ID
|
|
|
d58c2a |
- were not serialised and did not appear in the docinfo property
|
|
|
d58c2a |
- of ElementTrees.
|
|
|
d58c2a |
- * Fix a pre-Py3k warning when parsing from a gzip file in Py2.6.
|
|
|
d58c2a |
- * Test suite fixes for libxml2 2.7.
|
|
|
d58c2a |
- * Resolver.resolve_string() did not work for non-ASCII byte strings.
|
|
|
d58c2a |
- * Resolver.resolve_file() was broken.
|
|
|
d58c2a |
- * Overriding the parser encoding didn't work for many encodings.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Sep 5 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.1.2-1
|
|
|
d58c2a |
- 2.1.2 (2008-09-05)
|
|
|
d58c2a |
- Features added
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * lxml.etree now tries to find the absolute path name of files when
|
|
|
d58c2a |
- parsing from a file-like object. This helps custom resolvers when
|
|
|
d58c2a |
- resolving relative URLs, as lixbml2 can prepend them with the path of
|
|
|
d58c2a |
- the source document.
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- Bugs fixed
|
|
|
d58c2a |
-
|
|
|
d58c2a |
- * Memory problem when passing documents between threads.
|
|
|
d58c2a |
- * Target parser did not honour the recover option and raised an exception
|
|
|
d58c2a |
- instead of calling .close() on the target.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Jul 25 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.1.1-1
|
|
|
d58c2a |
- Update to 2.1.1
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Jun 20 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.0.7-1
|
|
|
d58c2a |
- Update to 2.0.7
|
|
|
d58c2a |
- Update download URL
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sat May 31 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.0.6-1
|
|
|
d58c2a |
- Update to 2.0.6
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu May 8 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.0.5-1
|
|
|
d58c2a |
- Update to 2.0.5
|
|
|
d58c2a |
|
|
|
d58c2a |
* Wed Mar 26 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.0.3-1
|
|
|
d58c2a |
- Update to 2.0.3
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sat Feb 23 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.0.2-1
|
|
|
d58c2a |
- Update to 2.0.2
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Feb 19 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.0.1-1
|
|
|
d58c2a |
- Update to 2.0.1
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.3.6-2
|
|
|
d58c2a |
- Autorebuild for GCC 4.3
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sun Nov 4 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.3.6-1
|
|
|
d58c2a |
- Update to 1.3.6.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Oct 22 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.3.5-1
|
|
|
d58c2a |
- Update to 1.3.5.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Aug 30 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.3.4-1
|
|
|
d58c2a |
- Update to 1.3.4.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Wed Aug 29 2007 Fedora Release Engineering <rel-eng at fedoraproject dot org> - 1.3.3-3
|
|
|
d58c2a |
- Rebuild for selinux ppc32 issue.
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Aug 28 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.3.3-2
|
|
|
d58c2a |
- BR python-setuptools-devel
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Jul 30 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.3.3-1
|
|
|
d58c2a |
- Update to 1.3.3
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Jan 19 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.1.2-1
|
|
|
d58c2a |
- Update to 1.1.2
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Dec 14 2006 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.0.3-3
|
|
|
d58c2a |
- Rebuild for new Python
|
|
|
d58c2a |
|
|
|
d58c2a |
* Sat Sep 16 2006 Shahms E. King <shahms@shahms.com> 1.0.3-2
|
|
|
d58c2a |
- Rebuild for FC6
|
|
|
d58c2a |
|
|
|
d58c2a |
* Thu Aug 17 2006 Shahms E. King <shahms@shahms.com> 1.0.3-1
|
|
|
d58c2a |
- Update to new upstream version
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Aug 11 2006 Shahms E. King <shahms@shahms.com> 1.0.2-2
|
|
|
d58c2a |
- Include, don't ghost .pyo files per new guidelines
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Jul 07 2006 Shahms E. King <shahms@shahms.com> 1.0.2-1
|
|
|
d58c2a |
- Update to new upstream release
|
|
|
d58c2a |
|
|
|
d58c2a |
* Mon Jun 26 2006 Shahms E. King <shahms@shahms.com> 1.0.1-1
|
|
|
d58c2a |
- Update to new upstream release
|
|
|
d58c2a |
|
|
|
d58c2a |
* Fri Jun 02 2006 Shahms E. King <shahms@shahms.com> 1.0-1
|
|
|
d58c2a |
- Update to new upstream 1.0 release
|
|
|
d58c2a |
|
|
|
d58c2a |
* Wed Apr 26 2006 Shahms E. King <shahms@shahms.com> 0.9.1-3
|
|
|
d58c2a |
- Add python-setuptools to BuildRequires
|
|
|
d58c2a |
- Use dist tag
|
|
|
d58c2a |
|
|
|
d58c2a |
* Wed Apr 26 2006 Shahms E. King <shahms@shahms.com> 0.9.1-2
|
|
|
d58c2a |
- Fix summary and description
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Apr 18 2006 Shahms E. King <shahms@shahms.com> 0.9.1-1
|
|
|
d58c2a |
- update the new upstream version
|
|
|
d58c2a |
- remove Pyrex build req
|
|
|
d58c2a |
|
|
|
d58c2a |
* Tue Dec 13 2005 Shahms E. King <shahms@shahms.com> 0.8-1
|
|
|
d58c2a |
- Initial package
|