File python-lxml.changes of Package python-lxml
1217
1
-------------------------------------------------------------------
2
Thu Oct 6 05:58:36 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
3
4
- Add patch CVE-2021-28957-prevent-formaction.patch:
5
* Sanitize HTML5 formaction attributes to prevent an XSS
6
(bsc#1184177, CVE-2021-28957)
7
8
-------------------------------------------------------------------
9
Wed Sep 28 08:34:04 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
10
11
- Add patch fix-test-failures.patch:
12
* Fix the test failures so the suite passes.
13
- Add patch CVE-2020-27783-prevent-noscript.patch:
14
* Clean noscript tags to prevent an mXSS (bsc#1179534, CVE-2020-27783)
15
16
-------------------------------------------------------------------
17
Tue Oct 31 14:24:25 UTC 2017 - jmatejek@suse.com
18
19
- run tests only when the appropriate pythons are available
20
21
-------------------------------------------------------------------
22
Mon Sep 18 06:05:54 UTC 2017 - thomas.schraitle@suse.com
23
24
- spec changes:
25
- add fdupes
26
27
- update to 4.0.0:
28
Features added:
29
- The ElementPath implementation is now compiled using Cython,
30
which speeds up the .find*() methods quite significantly.
31
- The modules lxml.builder, lxml.html.diff and lxml.html.clean
32
are also compiled using Cython in order to speed them up.
33
- xmlfile() supports async coroutines using async with and await.
34
- iterwalk() has a new method skip_subtree() that prevents
35
walking into the descendants of the current element.
36
- RelaxNG.from_rnc_string() accepts a base_url argument to allow
37
relative resource lookups.
38
- The XSLT result object has a new method .write_output(file)
39
that serialises output data into a file according to the
40
<xsl:output> configuration.
41
42
Bugs fixed:
43
- GH#251: HTML comments were handled incorrectly by the
44
soupparser. Patch by mozbugbox.
45
- LP#1654544: The html5parser no longer passes the useChardet
46
option if the input is a Unicode string, unless explicitly
47
requested. When parsing files, the default is to enable it when
48
a URL or file path is passed (because the file is then opened in
49
binary mode), and to disable it when reading from a file(-like) object.
50
51
Note: This is a backwards incompatible change of the default configuration.
52
If your code parses byte strings/streams and depends on character
53
detection, please pass the option guess_charset=True explicitly, which
54
already worked in older lxml versions.
55
56
- LP#1703810: etree.fromstring() failed to parse UTF-32 data with BOM.
57
- LP#1526522: Some RelaxNG errors were not reported in the error log.
58
- LP#1567526: Empty and plain text input raised a TypeError in soupparser.
59
- LP#1710429: Uninitialised variable usage in HTML diff.
60
- LP#1415643: The closing tags context manager in xmlfile() could continue
61
to output end tags even after writing failed with an exception.
62
- LP#1465357: xmlfile.write() now accepts and ignores None as input argument.
63
- Compilation under Py3.7-pre failed due to a modified function signature.
64
65
Other changes:
66
- The main module source files were renamed from lxml.*.pyx to plain *.pyx
67
(e.g. etree.pyx) to simplify their handling in the build process. Care was
68
taken to keep the old header files as fallbacks for code that compiles
69
against the public C-API of lxml, but it might still be worth validating
70
that third-party code does not notice this change.
71
72
-------------------------------------------------------------------
73
Mon Sep 11 19:36:14 UTC 2017 - jengelh@inai.de
74
75
- Ensure neutrality of description. Adjust RPM categories.
76
77
-------------------------------------------------------------------
78
Fri Jul 28 17:24:27 UTC 2017 - ecsos@opensuse.org
79
80
- update to 3.8.0
81
Features added
82
- ElementTree.write() has a new option doctype that writes out
83
a doctype string before the serialisation, in the same way as
84
tostring().
85
- GH#220: xmlfile allows switching output methods at an element
86
level. Patch by Burak Arslan.
87
- LP#1595781, GH#240: added a PyCapsule Python API and C-level
88
API for passing externally generated libxml2 documents into
89
lxml.
90
- GH#244: error log entries have a new property path with an
91
XPath expression (if known, None otherwise) that points to the
92
tree element responsible for the error. Patch by Bob Kline.
93
- The namespace prefix mapping that can be used in ElementPath
94
now injects a default namespace when passing a None prefix.
95
Bugs fixed
96
- GH#238: Character escapes were not hex-encoded in the xmlfile
97
serialiser. Patch by matejcik.
98
- GH#229: fix for externally created XML documents.
99
Patch by Theodore Dubois.
100
- LP#1665241, GH#228: Form data handling in lxml.html no longer
101
strips the option values specified in form attributes but only
102
the text values. Patch by Ashish Kulkarni.
103
- LP#1551797: revert previous fix for XSLT error logging as it
104
breaks multi-threaded XSLT processing.
105
- LP#1673355, GH#233: fromstring() html5parser failed to parse
106
byte strings.
107
Other changes
108
- The previously undocumented docstring option in
109
ElementTree.write() produces a deprecation warning and will
110
eventually be removed.
111
- enable source url for pdf doc
112
- remove patch lxml-fix-attribute-quoting.patch because it is now
113
in upstream
114
115
-------------------------------------------------------------------
116
Tue Apr 11 16:29:04 UTC 2017 - jmatejek@suse.com
117
118
- temporarily disable Source URL for pdf doc (it became unavailable)
119
- lxml-fix-attribute-quoting.patch - stabilize attribute entity encoding
120
across platforms
121
- force-regenerate C code from Cython sources
122
123
-------------------------------------------------------------------
124
Wed Mar 8 18:55:12 UTC 2017 - axel.braun@gmx.de
125
126
- Version 3.7.3
127
* GH#218 was ineffective in Python 3.
128
* GH#222: lxml.html.submit_form() failed in Python 3. Patch by Jakub Wilk.
129
* Work around installation problems in recent Python 2.7 versions
130
due to FTP download failures.
131
* GH#219: ``xmlfile.element()`` was not properly quoting attribute values.
132
Patch by Burak Arslan.
133
* GH#218: ``xmlfile.element()`` was not properly escaping text content of
134
script/style tags. Patch by Burak Arslan.
135
* GH#217: ``XMLSyntaxError`` now behaves more like its ``SyntaxError``
136
baseclass. Patch by Philipp A.
137
* GH#216: ``HTMLParser()`` now supports the same ``collect_ids`` parameter
138
as ``XMLParser()``. Patch by Burak Arslan.
139
* GH#210: Allow specifying a serialisation method in ``xmlfile.write()``.
140
Patch by Burak Arslan.
141
* GH#203: New option ``default_doctype`` in ``HTMLParser`` that allows
142
disabling the automatic doctype creation. Patch by Shadab Zafar.
143
* GH#201: Calling the method ``.set('attrname')`` without value argument
144
(or ``None``) on HTML elements creates an attribute without value that
145
serialises like ``<div attrname></div>``. Patch by Daniel Holth.
146
* GH#197: Ignore form input fields in ``form_values()`` when they are
147
marked as ``disabled`` in HTML. Patch by Kristian Klemon.
148
* GH#206: File name and line number were missing from XSLT error messages.
149
Patch by Marcus Brinkmann.
150
* Log entries no longer allow anything but plain string objects as message text
151
and file name.
152
* ``zlib`` is included in the list of statically built libraries.
153
* GH#204, LP#1614693: build fix for MacOS-X.
154
* LP#1614603: change linker flags to build multi-linux wheels
155
* LP#1614603: release without source changes to provide cleanly built Linux wheels
156
157
-------------------------------------------------------------------
158
Mon Dec 19 17:46:14 UTC 2016 - jmatejek@suse.com
159
160
- update for multipython build
161
162
-------------------------------------------------------------------
163
Tue Aug 16 07:38:31 UTC 2016 - tbechtold@suse.com
164
165
- update to 3.6.1 (FATE #321014):
166
* Separate option ``inline_style`` for Cleaner that only removes ``style``
167
attributes instead of all styles.
168
* Windows build support for Python 3.5.
169
* Exclude ``file`` fields from ``FormElement.form_values`` (as browsers do).
170
* Try to provide base URL from ``Resolver.resolve_string()``.
171
* More accurate float serialisation in ``objectify.FloatElement``.
172
* Repair XSLT error logging.
173
174
-------------------------------------------------------------------
175
Wed Jul 13 15:26:08 UTC 2016 - tbechtold@suse.com
176
177
- update to 3.6.0:
178
* Static builds honour FTP proxy configurations when downloading
179
the external libs.
180
* Now supports (only) version 5.x and later of PyPy.
181
* Soupparser failed to process entities in Python 3.x.
182
* Rare encoding related `TypeError` on import was fixed.
183
* Direct support for `.rnc` files in `RelaxNG()` if `rnc2rng`
184
is installed.
185
186
-------------------------------------------------------------------
187
Mon Feb 1 10:36:35 UTC 2016 - toddrme2178@gmail.com
188
189
- update to version 3.5.0:
190
* Unicode string results failed XPath queries in PyPy.
191
* LP#1497051: HTML target parser failed to terminate on exceptions
192
and continued parsing instead.
193
* Deprecated API usage in doctestcompare.
194
195
- changes from version 3.5.0b1:
196
* cleanup_namespaces() accepts a new argument keep_ns_prefixes that
197
does not remove definitions of the provided prefix-namespace
198
mapping from the tree.
199
* cleanup_namespaces() accepts a new argument top_nsmap that moves
200
definitions of the provided prefix-namespace mapping to the top of
201
the tree.
202
* LP#1490451: Element objects gained a cssselect() method as known
203
from lxml.html. Patch by Simon Sapin.
204
* API functions and methods behave and look more like Python
205
functions, which allows introspection on them etc. One side effect
206
to be aware of is that the functions now bind as methods when
207
assigned to a class variable. A quick fix is to wrap them in
208
staticmethod() (as for normal Python functions).
209
* ISO-Schematron support gained an option error_finder that allows
210
passing a filter function for picking validation errors from
211
reports.
212
* LP#1243600: Elements in lxml.html gained a classes property that
213
provides a set-like interface to the class attribute. Original
214
patch by masklinn.
215
* LP#1341964: The soupparser now handles DOCTYPE declarations,
216
comments and processing instructions outside of the root
217
element. Patch by Olli Pottonen.
218
* LP#1421512: The docinfo of a tree was made editable to allow
219
setting and removing the public ID and system ID of the
220
DOCTYPE. Patch by Olli Pottonen.
221
* LP#1442427: More work-arounds for quirks and bugs in pypy and
222
pypy3.
223
* lxml.html.soupparser now uses BeautifulSoup version 4 instead of
224
version 3 if available.
225
* Memory errors that occur during tree adaptations (e.g. moving
226
subtrees to foreign documents) could leave the tree in a crash
227
prone state.
228
* Calling process_children() in an XSLT extension element without an
229
output_parent argument failed with a TypeError. Fix by Jens
230
Tröger.
231
* GH#162: Image data in HTML data URLs is considered safe and no
232
longer removed by lxml.html.clean JavaScript cleaner.
233
* GH#166: Static build could link libraries in wrong order.
234
* GH#172: Rely a bit more on libxml2 for encoding detection rather
235
than rolling our own in some cases. Patch by Olli Pottonen.
236
* GH#159: Validity checks for names and string content were
237
tightened to detect the use of illegal characters early. Patch by
238
Olli Pottonen.
239
* LP#1421921: Comments/PIs before the DOCTYPE declaration were not
240
serialised. Patch by Olli Pottonen.
241
* LP#659367: Some HTML DOCTYPE declarations were not
242
serialised. Patch by Olli Pottonen.
243
* LP#1238503: lxml.doctestcompare is now consistent with stdlib's
244
doctest in how it uses + and - to refer to unexpected and missing
245
output.
246
* Empty prefixes are explicitly rejected when a namespace mapping is
247
used with ElementPath to avoid hiding bugs in user code.
248
* Several problems with PyPy were fixed by switching to Cython 0.23.
249
250
-------------------------------------------------------------------
251
Wed Sep 2 13:02:29 UTC 2015 - mcihar@suse.cz
252
253
- Add devel package with header files in devel package, so that others can use
254
C API (needed for dm.xmlsec.binding)
255
256
-------------------------------------------------------------------
257
Mon Jul 27 19:15:25 UTC 2015 - aloisio@gmx.com
258
259
- Update to version 3.4.4
260
Bugs fixed:
261
* An ElementTree compatibility test added in lxml 3.4.3 that failed in
262
Python 3.4+ was removed again.
263
- Aligned dependency versions with PyPI ones
264
265
-------------------------------------------------------------------
266
Wed Apr 22 10:05:37 UTC 2015 - mcihar@suse.cz
267
268
- Drop lxml-dont-depend-on-URL-formatting-in-test.patch, merged upstream
269
270
-------------------------------------------------------------------
271
Wed Apr 22 09:32:06 UTC 2015 - mcihar@suse.cz
272
273
- Update to 3.4.3:
274
* Expression cache in ElementPath was ignored. Fix by Changaco.
275
* LP#1426868: Passing a default namespace and a prefixed namespace mapping
276
as nsmap into ``xmlfile.element()`` raised a ``TypeError``.
277
* LP#1421927: DOCTYPE system URLs were incorrectly quoted when containing
278
double quotes. Patch by Olli Pottonen.
279
* LP#1419354: meta-redirect URLs were incorrectly processed by
280
``iterlinks()`` if preceded by whitespace.
281
* LP#1415907: Crash when creating an XMLSchema from a non-root element
282
of an XML document.
283
* LP#1369362: HTML cleaning failed when hitting processing instructions
284
with pseudo-attributes.
285
* ``CDATA()`` wrapped content was rejected for tail text.
286
* CDATA sections were not serialised as tail text of the top-level element.
287
* New ``htmlfile`` HTML generator to accompany the incremental ``xmlfile``
288
serialisation API. Patch by Burak Arslan.
289
* ``lxml.sax.ElementTreeContentHandler`` did not initialise its superclass.
290
291
-------------------------------------------------------------------
292
Tue Nov 4 07:43:22 UTC 2014 - mlin@suse.com
293
294
- Update to 3.4.0
295
* Features added
296
** xmlfile(buffered=False) disables output buffering and flushes the
297
content after each API operation (starting/ending element blocks or
298
writes). A new method xf.flush() can alternatively be used to
299
explicitly flush the output.
300
** lxml.html.document_fromstring has a new option ensure_head_body=True
301
which will add an empty head and/or body element to the result
302
document if missing.
303
** lxml.html.iterlinks now returns links inside meta refresh tags.
304
** New XMLParser option collect_ids=False to disable ID hash table
305
creation. This can substantially speed up parsing of documents with
306
many different IDs that are not used.
307
** The parser uses per-document hash tables for XML IDs. This reduces
308
the load of the global parser dict and speeds up parsing for
309
documents with many different IDs.
310
** ElementTree.getelementpath(element) returns a structural ElementPath
311
expression for the given element, which can be used for lookups later.
312
** xmlfile() accepts a new argument close=True to close file(-like)
313
objects after writing to them. Before, xmlfile() only closed the file
314
if it had opened it internally.
315
** Allow "bytearray" type for ASCII text input.
316
317
* Other changes
318
** LP#400588: decoding errors have become hard errors even in recovery
319
mode. Previously, they could lead to an internal tree representation
320
in a mixed encoding state, which lead to very late errors or even
321
silently incorrect behaviour during tree traversal or serialisation.
322
** Requires Python 2.6, 2.7, 3.2 or later. No longer supports Python 2.4,
323
2.5 and 3.1, use lxml 3.3.x for those.
324
** Requires libxml2 2.7.0 or later and libxslt 1.1.23 or later, use lxml
325
3.3.x with older versions.
326
- Add updatream patch lxml-dont-depend-on-URL-formatting-in-test.patch
327
* fix test
328
- Changes in 3.3.6
329
* Bugs fixed
330
** Prevent tree cycle creation when adding Elements as siblings.
331
** LP#1361948: crash when deallocating Element siblings without parent.
332
** LP#1354652: crash when traversing internally loaded documents in XSLT
333
extension functions.
334
335
-------------------------------------------------------------------
336
Thu Apr 24 06:48:15 UTC 2014 - toms@opensuse.org
337
338
- Spec file changes:
339
Added BuildRequires for python-cssselect
340
341
- Update to version 3.3.5:
342
** Features added
343
n/a
344
** Bugs fixed
345
- HTML cleaning could fail to strip javascript links that mix
346
control characters into the link scheme.
347
** Other changes
348
n/a
349
350
- Changes in version 3.3.4:
351
** Features added
352
- Source line numbers above 65535 are available on Elements when
353
using libxml2 2.9 or later.
354
** Bugs fixed
355
- lxml.html.fragment_fromstring() failed for bytes input in Py3.
356
** Other changes
357
n/a
358
359
See also http://lxml.de/3.3/changes-3.3.5.html
360
361
-------------------------------------------------------------------
362
Wed Mar 5 08:14:23 UTC 2014 - mcihar@suse.cz
363
364
- Update to version 3.3.3:
365
* Bugs fixed
366
- Crash when using Element subtypes with __slots__.
367
* Other changes
368
- The internal classes _LogEntry and _Attrib can no longer be subclassed
369
from Python code.
370
371
-------------------------------------------------------------------
372
Mon Mar 3 09:28:09 UTC 2014 - mcihar@suse.cz
373
374
- Update to version 3.3.2:
375
- The properties resolvers and version, as well as the methods
376
set_element_class_lookup() and makeelement(), were lost from iterparse
377
objects.
378
- LP#1222132: instances of XMLSchema, Schematron and RelaxNG did not clear
379
their local error_log before running a validation.
380
- LP#1238500: lxml.doctestcompare mixed up "expected" and "actual" in
381
attribute values.
382
- Some file I/O tests were failing in MS-Windows due to incorrect temp file
383
usage. Initial patch by Gabi Davar.
384
- LP#910014: duplicate IDs in a document were not reported by DTD
385
validation.
386
- LP#1185332: tostring(method="html") did not use HTML serialisation
387
semantics for trailing tail text. Initial patch by Sylvain Viollon.
388
- LP#1281139: .attrib value of Comments lost its mutation methods in 3.3.0.
389
Even though it is empty and immutable, it should still provide the same
390
interface as that returned for Elements.
391
392
-------------------------------------------------------------------
393
Fri Feb 28 10:12:18 UTC 2014 - mcihar@suse.cz
394
395
- Run tests during build
396
397
-------------------------------------------------------------------
398
Sat Feb 22 10:33:42 UTC 2014 - toms@opensuse.org
399
400
- Update to version 3.3.1:
401
** Features added
402
n/a
403
** Bugs fixed
404
- LP#1014290: HTML documents parsed with parser.feed() failed to
405
find elements during tag iteration.
406
- LP#1273709: Building in PyPy failed due to missing support for
407
PyUnicode_Compare() and PyByteArray_*() in PyPy's C-API.
408
- LP#1274413: Compilation in MSVC failed due to missing "stdint.h"
409
standard header file.
410
- LP#1274118: iterparse() failed to parse BOM prefixed files.
411
412
** Other changes
413
n/a
414
415
See also http://lxml.de/3.3/changes-3.3.1.html
416
417
-------------------------------------------------------------------
418
Fri Feb 7 13:05:42 UTC 2014 - speilicke@suse.com
419
420
- Require python-cssselect, it was refactored into a standalone module
421
422
-------------------------------------------------------------------
423
Fri Jan 31 14:22:51 UTC 2014 - speilicke@suse.com
424
425
- Fix requires
426
427
-------------------------------------------------------------------
428
Sun Jan 26 13:02:19 UTC 2014 - toms@opensuse.org
429
430
- Update to version 3.3.0:
431
432
** Features added
433
n/a
434
** Bugs fixed
435
- The heuristic that distinguishes file paths from URLs was
436
tightened to produce less false negatives.
437
438
- Changes from 3.3.0beta5
439
** Features added
440
- The PEP 393 unicode parsing support gained a fallback for
441
wchar strings which might still be somewhat common on Windows systems.
442
** Bugs fixed
443
- Several error handling problems were fixed throughout the code base
444
that could previously lead to exceptions being silently swallowed or
445
not properly reported.
446
- The C-API function appendChild() is now deprecated as it does not
447
propagate exceptions (its return type is void). The new function
448
appendChildToElement() was added as a safe replacement.
449
- Passing a string into fromstringlist() raises an exception instead of
450
parsing the string character by character.
451
452
** Other changes
453
- Document cleanup code was simplified using the new GC features in Cython 0.20.
454
455
456
457
-------------------------------------------------------------------
458
Wed Oct 23 08:54:33 UTC 2013 - toddrme2178@gmail.com
459
460
- Remove old source file
461
462
-------------------------------------------------------------------
463
Tue Aug 13 09:58:19 UTC 2013 - dmueller@suse.com
464
465
- update to 3.2.3:
466
* LP#1185701: spurious XMLSyntaxError after finishing iterparse().
467
* Crash in lxml.objectify during xsi annotation.
468
469
-------------------------------------------------------------------
470
Mon May 13 08:34:19 UTC 2013 - dmueller@suse.com
471
472
- update to 3.2.1:
473
* The methods ``apply_templates()`` and ``process_children()`` of XSLT
474
extension elements have gained two new boolean options ``elements_only``
475
and ``remove_blank_text`` that discard either all strings or whitespace-only
476
strings from the result list.
477
* When moving Elements to another tree, the namespace cleanup mechanism
478
no longer drops namespace prefixes from attributes for which it finds
479
a default namespace declaration, to prevent them from appearing as
480
unnamespaced attributes after serialisation.
481
* Returning non-type objects from a custom class lookup method could lead
482
to a crash.
483
* Instantiating and using subtypes of Comments and ProcessingInstructions
484
crashed.
485
486
-------------------------------------------------------------------
487
Mon Apr 29 12:25:39 UTC 2013 - dmueller@suse.com
488
489
- update to 3.2.0:
490
* Leading whitespace could change the behaviour of the string
491
parsing functions in ``lxml.html``.
492
* LP#599318: The string parsing functions in ``lxml.html`` are more robust
493
in the face of uncommon HTML content like framesets or missing body tags.
494
Patch by Stefan Seelmann.
495
* LP#712941: I/O errors while trying to access files with paths that contain
496
non-ASCII characters could raise ``UnicodeDecodeError`` instead of properly
497
reporting the ``IOError``.
498
* LP#673205: Parsing from in-memory strings disabled network access in the
499
default parser and made subsequent attempts to parse from a URL fail.
500
* LP#971754: lxml.html.clean appends 'nofollow' to 'rel' attributes instead
501
of overwriting the current value.
502
* LP#715687: lxml.html.clean no longer discards scripts that are explicitly
503
allowed by the user provided whitelist. Patch by Christine Koppelt.
504
505
-------------------------------------------------------------------
506
Sat Mar 30 17:29:03 UTC 2013 - arun@gmx.de
507
508
- update to 3.1.1:
509
(changes taken from http://lxml.de/3.1/changes-3.1.1.html)
510
511
* 3.1.1 (2013-03-29)
512
** Bugs fixed
513
- LP#1160386: Write access to lxml.html.FormElement.fields raised an AttributeError in Py3.
514
- Illegal memory access during cleanup in incremental xmlfile writer.
515
** Other changes
516
- The externally useless class lxml.etree._BaseParser was removed from the module dict.
517
518
* 3.1.0 (2013-02-10)
519
** Features added
520
- GH#89: lxml.html.clean allows overriding the set of attributes that it considers 'safe'.
521
Patch by Francis Devereux.
522
** Bugs fixed
523
- LP#1104370: copy.copy(el.attrib) raised an exception. It now returns a copy of the
524
attributes as a plain Python dict.
525
- GH#95: When used with namespace prefixes, the el.find*() methods always used the first
526
namespace mapping that was provided for each path expression instead of using the one that
527
was actually passed in for the current run.
528
- LP#1092521, GH#91: Fix undefined C symbol in Python runtimes compiled without threading
529
support. Patch by Ulrich Seidl.
530
531
* 3.1beta1 (2012-12-21)
532
** Features added
533
- New build-time option --with-unicode-strings for Python 2 that makes the API always
534
return Unicode strings for names and text instead of byte strings for plain ASCII content.
535
- New incremental XML file writing API etree.xmlfile().
536
- E factory in lxml.objectify is callable to simplify the creation of tags with
537
non-identifier names without having to resort to getattr().
538
** Bugs fixed
539
- When starting from a non-namespaced element in lxml.objectify, searching for a
540
child without explicitly specifying a namespace incorrectly found namespaced
541
elements with the requested local name, instead of restricting the search to
542
non-namespaced children.
543
- GH#85: Deprecation warnings were fixed for Python 3.x.
544
- GH#33: lxml.html.fromstring() failed to accept bytes input in Py3.
545
- LP#1080792: Static build of libxml2 2.9.0 failed due to missing file.
546
** Other changes
547
- The externally useless class _ObjectifyElementMakerCaller was removed from the
548
module API of lxml.objectify.
549
- LP#1075622: lxml.builder is faster for adding text to elements with many children.
550
Patch by Anders Hammarquist.
551
552
* 3.0.2 (2012-12-14)
553
** Bugs fixed
554
- Fix crash during interpreter shutdown by switching to Cython 0.17.3 for building.
555
556
* 3.0.1 (2012-10-14)
557
** Bugs fixed
558
- LP#1065924: Element proxies could disappear during garbage collection in PyPy
559
without proper cleanup.
560
- GH#71: Failure to work with libxml2 2.6.x.
561
- LP#1065139: static MacOS-X build failed in Py3.
562
563
* 3.0 (2012-10-08)
564
** Bugs fixed
565
- End-of-file handling was incorrect in iterparse() when reading from a low-level
566
C file stream and failed in libxml2 2.9.0 due to its improved consistency checks.
567
** Other changes
568
- The build no longer uses Cython by default unless the generated C files are
569
missing. To use Cython, pass the option "--with-cython". To ignore the fatal build
570
error when Cython is required but not available (e.g. to run special setup.py
571
commands that do not actually run a build), pass "--without-cython".
572
573
* 3.0beta1 (2012-09-26)
574
** Features added
575
- Python level access to (optional) libxml2 memory debugging features to simplify
576
debugging of memory leaks etc.
577
** Bugs fixed
578
- Fix a memory leak in XPath by switching to Cython 0.17.1.
579
- Some tests were adapted to work with PyPy.
580
** Other changes
581
- The code was adapted to work with the upcoming libxml2 2.9.0 release.
582
583
* 3.0alpha2 (2012-08-23)
584
** Features added
585
- The .iter() method of elements now accepts tag arguments like "{*}name" to search
586
for elements with a given local name in any namespace. With this addition, all
587
combinations of wildcards now work as expected: "{ns}name", "{}name", "{*}name",
588
"{ns}*", "{}*" and "{*}*". Note that "name" is equivalent to "{}name", but "*" is
589
"{*}*". The same change applies to the .getiterator(), .itersiblings(), .iterancestors(),
590
.iterdescendants(), .iterchildren() and .itertext() methods;the strip_attributes(),
591
strip_elements() and strip_tags() functions as well as the iterparse() class.
592
Patch by Simon Sapin.
593
- C14N allows specifying the inclusive prefixes to be promoted to top-level during
594
exclusive serialisation.
595
** Bugs fixed
596
- Passing long Unicode strings into the feed() parser interface failed to read the entire string.
597
598
* 3.0alpha1 (2012-07-31)
599
** Features added
600
- Initial support for building in PyPy (through cpyext).
601
- DTD objects gained an API that allows read access to their declarations.
602
- xpathgrep.py gained support for parsing line-by-line (e.g. from grep output) and
603
for surrounding the output with a new root tag.
604
- E-factory in lxml.builder accepts subtypes of known data types (such as string
605
subtypes) when building elements around them.
606
- Tree iteration and iterparse() with a selective tag argument supports passing a
607
set of tags. Tree nodes will be returned by the iterators if they match any of the tags.
608
** Bugs fixed
609
- The .find*() methods in lxml.objectify no longer use XPath internally, which makes
610
them faster in many cases (especially when short circuiting after a single or
611
couple of elements) and fixes some behavioural differences compared to lxml.etree.
612
Note that this means that they no longer support arbitrary XPath expressions but
613
only the subset that the ElementPath language supports. The previous implementation
614
was also redundant with the normal XPath support, which can be used as a replacement.
615
- el.find('*') could accidentally return a comment or processing instruction that
616
happened to be in the wrong spot. (Same for the other .find*() methods.)
617
- The error logging is less intrusive and avoids a global setup where possible.
618
- Fixed undefined names in html5lib parser.
619
- xpathgrep.py did not work in Python 3.
620
- Element.attrib.update() did not accept an attrib of another Element as parameter.
621
- For subtypes of ElementBase that make the .text or .tail properties immutable (as in
622
objectify, for example), inserting text when creating Elements through the E-Factory
623
feature of the class constructor would fail with an exception, stating that the text
624
cannot be modified.
625
** Other changes
626
- The code base was overhauled to properly use 'const' where the API of libxml2 anders
627
libxslt requests it. This also has an impact on the public C-API of lxml itself, as
628
defined in etreepublic.pxd, as well as the provided declarations in the lxml/includes/
629
directory. Code that uses these declarations may have to be adapted. On the plus side,
630
this fixes several C compiler warnings, also for user code, thus making it easier to
631
spot real problems again.
632
- The functionality of "lxml.cssselect" was moved into a separate PyPI package called
633
"cssselect". To continue using it, you must install that package separately. The
634
"lxml.cssselect" module is still available and provides the same interface, provided
635
the "cssselect" package can be imported at runtime.
636
- Element attributes passed in as an attrib dict or as keyword arguments are now sorted
637
by (namespaced) name before being created to make their order predictable for
638
serialisation and iteration. Note that adding or deleting attributes afterwards does
639
not take that order into account, i.e. setting a new attribute appends it after the
640
existing ones.
641
- Several classes that are for internal use only were removed from the lxml.etree module
642
dict: _InputDocument, _ResolverRegistry, _ResolverContext, _BaseContext, _ExsltRegExp,
643
_IterparseContext, _TempStore, _ExceptionContext, __ContentOnlyElement, _AttribIterator,
644
_NamespaceRegistry, _ClassNamespaceRegistry, _FunctionNamespaceRegistry,
645
_XPathFunctionNamespaceRegistry, _ParserDictionaryContext, _FileReaderContext,
646
_ParserContext, _PythonSaxParserTarget, _TargetParserContext, _ReadOnlyProxy,
647
_ReadOnlyPIProxy, _ReadOnlyEntityProxy, _ReadOnlyElementProxy, _OpaqueNodeWrapper,
648
_OpaqueDocumentWrapper, _ModifyContentOnlyProxy, _ModifyContentOnlyPIProxy,
649
_ModifyContentOnlyEntityProxy, _AppendOnlyElementProxy, _SaxParserContext,
650
_FilelikeWriter, _ParserSchemaValidationContext, _XPathContext, _XSLTResolverContext,
651
_XSLTContext, _XSLTQuotedStringParam
652
- Several internal classes can no longer be inherited from: _InputDocument,
653
_ResolverRegistry, _ExsltRegExp, _ElementUnicodeResult, _IterparseContext, _TempStore,
654
_AttribIterator, _ClassNamespaceRegistry, _XPathFunctionNamespaceRegistry,
655
_ParserDictionaryContext, _FileReaderContext, _PythonSaxParserTarget,
656
_TargetParserContext, _ReadOnlyPIProxy, _ReadOnlyEntityProxy, _OpaqueDocumentWrapper,
657
_ModifyContentOnlyPIProxy, _ModifyContentOnlyEntityProxy, _AppendOnlyElementProxy,
658
_FilelikeWriter, _ParserSchemaValidationContext, _XPathContext, _XSLTResolverContext,
659
_XSLTContext, _XSLTQuotedStringParam, _XSLTResultTree, _XSLTProcessingInstruction
660
661
* 2.3.6 (2012-09-28)
662
** Bugs fixed
663
- Passing long Unicode strings into the feed() parser interface failed to read the
664
entire string.
665
666
* 2.3.5 (2012-07-31)
667
** Bugs fixed
668
- Crash when merging text nodes in element.remove().
669
- Crash in sax/target parser when reporting empty doctype.
670
671
-------------------------------------------------------------------
672
Wed Jan 2 18:01:09 UTC 2013 - toddrme2178@gmail.com
673
674
- Fix building on SLES
675
676
-------------------------------------------------------------------
677
Wed Dec 19 15:47:01 UTC 2012 - saschpe@suse.de
678
679
- The doc sub-package is noarch
680
681
-------------------------------------------------------------------
682
Thu Nov 15 18:40:33 UTC 2012 - saschpe@suse.de
683
684
- BuildRequire libxml2-devel instead of pkconfi() to allow building
685
on SLE_11_SP2
686
687
-------------------------------------------------------------------
688
Mon Jun 4 20:55:38 UTC 2012 - os-dev@jacraig.com
689
690
- Update to version 2.3.4; bugs fixed:
691
* Crash due to race condition when errors (or user messages) occur during
692
threaded XSLT processing.
693
* XSLT stylesheet compilation could ignore compilation errors.
694
- Exclude etree_defs.h from RPM
695
696
-------------------------------------------------------------------
697
Thu May 24 08:06:36 UTC 2012 - highwaystar.ru@gmail.com
698
699
- python3 package added
700
- minor spec adjustments
701
702
-------------------------------------------------------------------
703
Fri Mar 9 20:57:25 UTC 2012 - saschpe@gmx.de
704
705
- Update to version 2.3.3:
706
* lxml.html.tostring() gained new serialisation options with_tail and doctype.
707
* Fixed a crash when using iterparse() for HTML parsing and requesting start events.
708
* Fixed parsing of more selectors in cssselect. Whitespace before
709
pseudo-elements and pseudo-classes is significant as it is a descendant
710
combinator. "E :pseudo" should parse the same as "E *:pseudo", not "E:pseudo".
711
* lxml.html.diff no longer raises an exception when hitting 'img' tags without 'src' attribute.
712
- Changes from version 2.3.2:
713
* lxml.objectify.deannotate() has a new boolean option cleanup_namespaces to
714
remove the objectify namespace declarations (and generally clean up the
715
namespace declarations) after removing the type annotations.
716
* lxml.objectify gained its own SubElement() function as a copy of
717
etree.SubElement to avoid an otherwise redundant import of lxml.etree on the user side.
718
* Fixed the "descendant" bug in cssselect a second time
719
* Fixed parsing of some selectors in cssselect.
720
- Changes from version 2.3.1:
721
* New option kill_tags in lxml.html.clean to remove specific tags and their
722
content (i.e. their whole subtree).
723
* pi.get() and pi.attrib on processing instructions to parse
724
pseudo-attributes from the text content of processing instructions.
725
* lxml.get_include() returns a list of include paths that can be used to
726
compile external C code against lxml.etree.
727
* Resolver.resolve_file() takes an additional option close_file that
728
configures if the file(-like) object will be closed after reading or not.
729
* HTML cleaning didn't remove 'data:' links.
730
* The html5lib parser integration now uses the 'official' implementation in
731
html5lib itself, which makes it work with newer releases of the library.
732
* In lxml.sax, endElementNS() could incorrectly reject a plain tag name when
733
the corresponding start event inferred the same plain tag name to be in the default namespace.
734
* When an open file-like object is passed into parse() or iterparse(), the
735
parser will no longer close it after use.
736
* Assertion error in lxml.html.cleaner when discarding top-level elements.
737
* In lxml.cssselect, use the xpath 'A//B' (short for
738
'A/descendant-or-self::node()/B') instead of 'A/descendant::B' for the css
739
descendant selector ('A B').
740
* In lxml.html, non-selected <option> tags no longer show up in the collected form values.
741
* Adding/removing <option> values to/from a multiple select form field
742
properly selects them and unselects them.
743
- Explicitly build against libxml2-devel
744
745
-------------------------------------------------------------------
746
Fri Sep 2 17:36:33 UTC 2011 - cfarrell@suse.com
747
748
- license update: BSD-3-Clause and GPL-2.0+
749
See LICENSES.TXT - test.py is GPL licensed (aggregation)
750
751
-------------------------------------------------------------------
752
Fri Sep 2 12:08:59 UTC 2011 - saschpe@suse.de
753
754
- Simpler PDF install
755
756
-------------------------------------------------------------------
757
Fri Sep 2 11:06:52 UTC 2011 - saschpe@suse.de
758
759
- Build against Cython instead of pyrex
760
- Don't repackage source tarball
761
- Remove unneeded rpmlint filters
762
763
-------------------------------------------------------------------
764
Tue Aug 30 18:40:26 UTC 2011 - andrea.turrini@gmail.com
765
766
- Fixed typo in description of python-lxml.spec
767
768
-------------------------------------------------------------------
769
Thu Mar 3 08:37:49 UTC 2011 - saschpe@suse.de
770
771
- Update to 2.3 (2011-03-03):
772
Features added
773
* When looking for children, lxml.objectify takes '{}tag' as
774
meaning an empty namespace, as opposed to the parent namespace.
775
776
Bugs fixed
777
* When finished reading from a file-like object, the parser
778
immediately calls its close() method.
779
* When finished parsing, iterparse() immediately closes the input
780
file.
781
* Work-around for libxml2 bug that can leave the HTML parser in a
782
non-functional state after parsing a severly broken document (fixed
783
in libxml2 2.7.8).
784
* marque tag in HTML cleanup code is correctly named marquee.
785
786
-------------------------------------------------------------------
787
Mon Dec 6 13:33:31 UTC 2010 - toms@suse.de
788
789
- Fixed bnc#657698: Removed dependency of pyxml
790
791
-------------------------------------------------------------------
792
Thu Sep 2 14:46:19 UTC 2010 - alexandre@exatati.com.br
793
794
- Update to 2.2.8 (2010-09-02):
795
Bugs fixed
796
* Crash in newer libxml2 versions when moving elements between documents that had attributes on replaced XInclude nodes.
797
* Import fix for urljoin in Python 3.1+.
798
799
-------------------------------------------------------------------
800
Tue Mar 2 19:50:28 UTC 2010 - toms@suse.de
801
802
- Update to 2.2.6 (2010-03-02):
803
Fixed several Python 3 regressions by building with Cython 0.11.3
804
805
806
-------------------------------------------------------------------
807
Mon Mar 1 21:56:05 UTC 2010 - toms@suse.de
808
809
- Updated to 2.2.5 (2010-02-28):
810
Features added
811
* Support for running XSLT extension elements on the input root
812
node (e.g. in a template matching on "/").
813
814
Bugs fixed
815
* Crash in XPath evaluation when reading smart strings from a
816
document other than the original context document.
817
* Support recent versions of html5lib by not requiring its
818
XHTMLParser in htmlparser.py anymore.
819
* Manually instantiating the custom element classes in
820
lxml.objectify could crash.
821
* Invalid XML text characters were not rejected by the API when
822
they appeared in unicode strings directly after non-ASCII characters.
823
* lxml.html.open_http_urllib() did not work in Python 3.
824
* The functions strip_tags() and strip_elements() in lxml.etree
825
did not remove all occurrences of a tag in all cases.
826
* Crash in XSLT extension elements when the XSLT context
827
node is not an element.
828
829
- Fixed .changes file to match order from factory
830
831
832
-------------------------------------------------------------------
833
Fri Nov 13 21:50:52 UTC 2009 - toms@suse.de
834
835
- Updated to 2.2.4 (2009-11-11):
836
Features added
837
* None
838
839
Bugs fixed
840
* Static build of libxml2/libxslt was broken.
841
842
843
-------------------------------------------------------------------
844
Fri Oct 30 17:25:06 UTC 2009 - toms@suse.de
845
846
- Updated to 2.2.3 (2009-10-30):
847
Features added
848
None
849
Bugs fixed
850
* The resolve_entities option did not work in the incremental
851
feed parser.
852
* Looking up and deleting attributes without a namespace could
853
hit a namespaced attribute of the same name instead.
854
* Late errors during calls to SubElement() (e.g. attribute related
855
ones) could leave a partially initialised element in the tree.
856
* Modifying trees that contain parsed entity references could result
857
in an infinite loop.
858
* ObjectifiedElement.__setattr__ created an empty-string child
859
element when the attribute value was rejected as a non-unicode/non-ascii string
860
* Syntax errors in lxml.cssselect could result in misleading error messages.
861
* Invalid syntax in CSS expressions could lead to an infinite loop
862
in the parser of lxml.cssselect.
863
* CSS special character escapes were not properly handled in lxml.cssselect.
864
* CSS Unicode escapes were not properly decoded in lxml.cssselect.
865
* Select options in HTML forms that had no explicit value attribute
866
were not handled correctly. The HTML standard dictates that their value
867
is defined by their text content. This is now supported by lxml.html.
868
* XPath raised a TypeError when finding CDATA sections. This is now fully supported.
869
* Calling help(lxml.objectify) didn't work at the prompt.
870
* The ElementMaker in lxml.objectify no longer defines the default namespaces
871
when annotation is disabled.
872
* Feed parser failed to honour the 'recover' option on parse errors.
873
* Diverting the error logging to Python's logging system was broken.
874
875
876
-------------------------------------------------------------------
877
Wed Sep 23 17:37:53 CEST 2009 - toms@suse.de
878
879
- Improved spec file with help from Alexandre D. Rogoski. Thanks!
880
(debug_package macro)
881
882
883
-------------------------------------------------------------------
884
Mon Jul 20 14:04:56 CEST 2009 - toms@suse.de
885
886
- Updated to 2.2.2 (2009-06-21):
887
Features added
888
* New helper functions strip_attributes(), strip_elements(),
889
strip_tags() in lxml.etree to remove attributes/subtrees/tags
890
from a subtree.
891
892
Bugs fixed
893
* Namespace cleanup on subtree insertions could result in missing
894
namespace declarations (and potentially crashes) if the element
895
defining a namespace was deleted and the namespace was not used
896
by the top element of the inserted subtree but only in deeper
897
subtrees.
898
* Raising an exception from a parser target callback didn't always
899
terminate the parser.
900
* Only {true, false, 1, 0} are accepted as the lexical representation
901
for BoolElement ({True, False, T, F, t, f} not any more),
902
restoring lxml <= 2.0 behaviour.
903
904
905
-------------------------------------------------------------------
906
Wed Jun 03 10:47:00 CEST 2009 - toms@suse.de
907
908
- Updated to 2.2.1:
909
Features added:
910
* Injecting default attributes into a document during XML Schema
911
validation (also at parse time).
912
* Pass huge_tree parser option to disable parser security restrictions
913
imposed by libxml2 2.7.
914
915
Bugs fixed
916
* The script for statically building libxml2 and libxslt didn't work in Py3.
917
* XMLSchema() also passes invalid schema documents on to libxml2 for
918
parsing (which could lead to a crash before release 2.6.24).
919
920
Full list: http://codespeak.net/lxml/changes-2.2.1.html
921
922
923
-------------------------------------------------------------------
924
Fri Apr 03 08:41:00 CEST 2009 - toms@suse.de
925
926
- Merged changes file with old entries
927
928
-------------------------------------------------------------------
929
Wed Apr 02 08:58:00 CEST 2009 - toms@suse.de
930
931
- Added rpmlintrc source into SPEC file
932
933
-------------------------------------------------------------------
934
Tue Mar 31 08:34:00 CEST 2009 - toms@suse.de
935
936
- Fixed SPEC file and added PDF source
937
938
-------------------------------------------------------------------
939
Wed Mar 23 12:56:00 CEST 2009 - toms@suse.de
940
941
* Updated to 2.2 (excerpt):
942
See also http://codespeak.net/lxml/changes-2.2.html
943
944
Features added:
945
- Allow lxml.html.diff.htmldiff to accept Element objects,
946
not just HTML strings.
947
- XSLT.strparam() class method to wrap quoted string parameters
948
that require escaping.
949
- Support strings and instantiable Element classes as child
950
arguments to the constructor of custom Element classes.
951
- GZip compression support for serialisation to files and
952
file-like objects.
953
- Support for standalone flag in XML declaration through
954
tree.docinfo.standalone and by passing standalone=True/False
955
on serialisation.
956
957
Bugs fixed:
958
- Memory leak in XPath evaluators.
959
- Setting the base attribute in lxml.objectify from a unicode
960
string failed.
961
- Crash when parsing indented XML in one thread and merging
962
it with other documents parsed in another thread.
963
- Crash when parsing an XML Schema with external imports from
964
a filename.
965
- iter_links (and related link-rewriting functions) in lxml.html
966
would interpret CSS like url("link") incorrectly (treating the
967
quotation marks as part of the link).
968
- Failing import on systems that have an io module.
969
- Potential memory leak on exception handling. This was due
970
to a problem in Cython, not lxml itself.
971
- Crash when using an XPath evaluator in multiple threads.
972
- Fixed missing whitespace before Link:... in lxml.html.diff.
973
974
Other changes
975
- The global error log (which is copied into the exception log)
976
is now local to a thread, which fixes some race conditions.
977
- More robust error handling on serialisation.
978
- Export lxml.html.parse.
979
980
-------------------------------------------------------------------
981
Wed Sep 18 10:00:00 CEST 2008 - toms@suse.de
982
983
- Updated to 2.1.2
984
Features added
985
* lxml.etree now tries to find the absolute path name of files
986
when parsing from a file-like object. This helps custom resolvers
987
when resolving relative URLs, as lixbml2 can prepend them with
988
the path of the source document.
989
990
Bugs fixed
991
* Memory problem when passing documents between threads.
992
* Target parser did not honour the recover option and raised an
993
exception instead of calling .close() on the target.
994
995
996
-------------------------------------------------------------------
997
Wed Jul 30 07:47:00 CEST 2008 - toms@suse.de
998
999
- Updated to 2.1.1
1000
Features added:
1001
* No new features
1002
Bugs fixed
1003
* Crash when parsing XSLT stylesheets in a thread and using them
1004
in another.
1005
* Encoding problem when including text with ElementInclude under
1006
Python 3.
1007
1008
-------------------------------------------------------------------
1009
Wed Jul 09 16:21:00 CEST 2008 - toms@suse.de
1010
1011
- Corrected SPEC file:
1012
* requires now libxml2 and libxslt
1013
* Cleaned up spec file, added %{py_requires}
1014
* Inserted PDF documentation
1015
- Updated to 2.1:
1016
Features added
1017
* Smart strings can be switched off in XPath (smart_string keyword option).
1018
* lxml.html.rewrite_links() strips links to work around documents with
1019
whitespace in URL attributes.
1020
1021
Bugs fixed
1022
* Custom resolvers were not used for XMLSchema includes/imports and
1023
XInclude processing.
1024
* CSS selector parser dropped remaining expression after a function
1025
with parameters.
1026
1027
- Other changes
1028
* objectify.enableRecursiveStr() was removed, use objectify.enable_recursive_str()
1029
instead
1030
* Speed-up when running XSLTs on documents from other threads
1031
1032
-------------------------------------------------------------------
1033
Fri Jun 20 11:23:00 CEST 2008 - toms@suse.de
1034
1035
- Updated to 2.0.7:
1036
- Features added:
1037
* Pickling ElementTree objects in lxml.objectify.
1038
- Bugs fixed:
1039
* Descending dot-separated classes in CSS selectors were not
1040
resolved correctly.
1041
* ElementTree.parse() didn't handle target parser result.
1042
* Potential threading problem in XInclude.
1043
* Crash in Element class lookup classes when the __init__()
1044
method of the super class is not called from Python subclasses.
1045
- Other changes:
1046
* Non-ASCII characters in attribute values are no longer escaped on serialisation.
1047
1048
- Changes from 2.0.6:
1049
- Features added:
1050
* No new features
1051
- Bugs fixed
1052
* Incorrect evaluation of el.find("tag[child]").
1053
* Windows build was broken.
1054
* Moving a subtree from a document created in one thread into a
1055
document of another thread could crash when the rest of the
1056
source document is deleted while the subtree is still in use.
1057
* Rare crash when serialising to a file object with certain encodings.
1058
- Other changes:
1059
* lxml should now build without problems on MacOS-X (2.0.6)
1060
1061
1062
-------------------------------------------------------------------
1063
Wed May 15 08:37:00 CEST 2008 - toms@suse.de
1064
1065
- SPEC: Fixed some warnings from rpmlint and removed duplicate doc dir
1066
- Updated to 2.0.5
1067
- Features added:
1068
- No new features
1069
- Bugs fixed:
1070
- Resolving to a filename in custom resolvers didn't work.
1071
- lxml did not honour libxslt's second error state "STOPPED",
1072
which let some XSLT errors pass silently.
1073
- Memory leak in Schematron with libxml2 >= 2.6.31.
1074
1075
1076
-------------------------------------------------------------------
1077
Mon Apr 14 07:46:20 CEST 2008 - toms@suse.de
1078
1079
- Features added:
1080
- No new features
1081
1082
- Bugs fixed:
1083
- Hanging thread in conjunction with GTK threading.
1084
- Crash bug in iterparse when moving elements into other documents.
1085
- HTML elements' .cssselect() method was broken.
1086
- ElementTree.find*() didn't accept QName objects
1087
1088
1089
-------------------------------------------------------------------
1090
Fri Mar 28 11:01:26 CET 2008 - toms@suse.de
1091
1092
- Split documentation into subpackage python-lxml-doc
1093
- Updated to 2.0.3
1094
- Features added
1095
- soupparser.parse() allows passing keyword arguments on to
1096
BeautifulSoup.
1097
- fromstring() method in lxml.html.soupparser.
1098
1099
- Bugs fixed:
1100
- lxml.html.diff didn't treat empty tags properly (e.g., <br>).
1101
- Handle entity replacements correctly in target parser.
1102
- Crash when using iterparse() with XML Schema validation.
1103
- The BeautifulSoup parser (soupparser.py) did not replace entities,
1104
which made them turn up in text content.
1105
- Attribute assignment of custom PyTypes in objectify could fail
1106
to correctly serialise the value to a string.
1107
1108
- Other changes
1109
- lxml.html.ElementSoup was replaced by a new module lxml.html.soupparser
1110
with a more consistent API. The old module remains for
1111
compatibility with ElementTree's own ElementSoup module.
1112
- Setting the XSLT_CONFIG and XML2_CONFIG environment variables at
1113
build time will let setup.py pick up the xml2-config and xslt-config
1114
scripts from the supplied path name.
1115
- Passing --with-xml2-config=/path/to/xml2-config to setup.py will
1116
override the xml2-config script that is used to determine the
1117
C compiler options. The same applies for the --with-xslt-config option.
1118
1119
- Older changes:
1120
- see
1121
http://pypi.python.org/pypi/lxml/2.0.2
1122
http://pypi.python.org/pypi/lxml/2.0.1
1123
http://pypi.python.org/pypi/lxml/2.0
1124
1125
1126
-------------------------------------------------------------------
1127
Tue Oct 30 12:03:16 CET 2007 - toms@suse.de
1128
1129
- Updated to 1.3.6
1130
- Bugs fixed
1131
- Backported decref crash fix from 2.0
1132
- Well hidden free-while-in-use crash bug in ObjectPath
1133
1134
- Other changes
1135
- The test suites now run gc.collect() in the tearDown() methods.
1136
While this makes them take a lot longer to run, it also makes
1137
it easier to link a specific test to garbage collection problems
1138
that would otherwise appear in later tests.
1139
1140
-------------------------------------------------------------------
1141
Thu Aug 30 13:33:22 CEST 2007 - toms@suse.de
1142
1143
- Updated to 1.3.4
1144
- Features added
1145
- The ElementMaker in lxml.builder now accepts the keyword arguments
1146
namespace and nsmap to set a namespace and nsmap for the Elements
1147
it creates.
1148
- The docinfo on ElementTree objects has new properties internalDTD
1149
and externalDTD that return a DTD object for the internal or external
1150
subset of the document respectively.
1151
- Serialising an ElementTree now includes any internal DTD subsets
1152
that are part of the document, as well as comments and PIs that are
1153
siblings of the root node.
1154
1155
- Bugs fixed
1156
- Parsing with the no_network option could fail
1157
1158
- Other changes
1159
- lxml now raises a TagNameWarning about tag names containing ':' instead
1160
of an Error as 1.3.3 did. The reason is that a number of projects
1161
currently misuse the previous lack of tag name validation to generate
1162
namespace prefixes without declaring namespaces. Apart from the danger
1163
of generating broken XML this way, it also breaks most of the
1164
namespace-aware tools in XML, including XPath, XSLT and validation.
1165
lxml 1.3.x will continue to support this bug with a Warning, while lxml
1166
2.0 will be strict about well-formed tag names (not only regarding ':').
1167
- Serialising an Element no longer includes its comment and PI siblings
1168
(only ElementTree serialisation includes them).
1169
1170
1171
-------------------------------------------------------------------
1172
Mon Jul 30 15:10:07 CEST 2007 - toms@suse.de
1173
1174
- Updated to 1.3.3
1175
- Features added:
1176
- ElementTree compatible parser ETCompatXMLParser strips
1177
processing instructions and comments while parsing XML
1178
- Parsers now support stripping PIs (keyword argument 'remove_pis')
1179
- etree.fromstring() now supports parsing both HTML and XML,
1180
depending on the parser you pass
1181
- Support base_url keyword argument in HTML() and XML()
1182
1183
- Bugs fixed:
1184
- Parsing from Python Unicode strings failed on some platforms
1185
- Element() did not raise an exception on tag names containing ':'
1186
- Element.getiterator(tag) did not accept Comment and ProcessingInstruction
1187
as tags. It also accepts Element now.
1188
1189
1190
-------------------------------------------------------------------
1191
Fri Jan 19 13:03:00 CET 2007 - toms@suse.de
1192
1193
- Updated to 1.1.2
1194
- Features added:
1195
- Data elements in objectify support repr(), which is now used by dump()
1196
- Source distribution now ships with a patched Pyrex
1197
- New C-API function makeElement() to create new elements with text, tail, attributes and namespaces
1198
- Reuse original parser flags for XInclude
1199
- Simplified support for handling XSLT processing instructions
1200
1201
- Bugs fixed:
1202
- Parser resources were not freed before the next parser run
1203
- Open files and XML strings returned by Python resolvers were not closed/freed
1204
- Crash in the IDDict returned by XMLDTDID
1205
- Copying Comments and ProcessingInstructions failed
1206
- Memory leak for external URLs in _XSLTProcessingInstruction.parseXSL()
1207
- Memory leak when garbage collecting tailed root elements
1208
- HTML script/style content was not propagated to .text
1209
- Show text xincluded between text nodes correctly in .text and .tail
1210
- 'integer - objectify.StringElement' operation was not supported
1211
1212
1213
-------------------------------------------------------------------
1214
Fri Dec 1 11:12:37 CET 2006 - toms@suse.de
1215
1216
- New package 1.1.2 moved from openSUSE build server
1217