Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 2758 lines (1764 sloc) 79.345 kb
517a4125 » scoder
2006-06-27 [svn r1588] removed reference to 1.0.beta version from CHANGES.txt - …
1 ==============
05970717 » faassen
2005-04-09 [svn r275] Prepare for 0.5.1 bugfix release.
2 lxml changelog
3 ==============
4
0f6c7884 » scoder
2012-09-28 changelog
5 Under development
6 =====================
7
8 Features added
9 --------------
10
11 Bugs fixed
12 ----------
13
14 * End-of-file handling was incorrect in iterparse() when reading from
15 a low-level C file stream and failed in libxml2 2.9.0 due to its
16 improved consistency checks.
17
18 Other changes
19 -------------
20
21
26358d22 » scoder
2012-09-26 prepare release of lxml 3.0beta1
22 3.0beta1 (2012-09-26)
690704d5 » scoder
2012-09-25 prepare release of lxml 3.0b1
23 =====================
89a058c6 » scoder
2012-08-23 changelog
24
25 Features added
26 --------------
27
878b6be7 » scoder
2012-09-19 initial Python API for libxml2 memory debugging features
28 * Python level access to (optional) libxml2 memory debugging features
29 to simplify debugging of memory leaks etc.
30
89a058c6 » scoder
2012-08-23 changelog
31 Bugs fixed
32 ----------
33
12860869 » scoder
2012-09-26 changelog
34 * Fix a memory leak in XPath by switching to Cython 0.17.1.
35
690704d5 » scoder
2012-09-25 prepare release of lxml 3.0b1
36 * Some tests were adapted to work with PyPy.
37
89a058c6 » scoder
2012-08-23 changelog
38 Other changes
39 -------------
40
41 * The code was adapted to work with the upcoming libxml2 2.9.0 release.
42
43
ff1ba900 » scoder
2012-08-23 prepare release of 3.0alpha2
44 3.0alpha2 (2012-08-23)
095468bb » scoder
2012-08-09 fix parsing when long Unicode strings are passed into the feed() meth…
45 ======================
46
47 Features added
48 --------------
49
4e1e6850 »
2012-08-11 Add support for tag="{*}name" in _Element.iter() and friends.
50 * The ``.iter()`` method of elements now accepts ``tag`` arguments like
51 ``"{*}name"`` to search for elements with a given local name in any
52 namespace. With this addition, all combinations of wildcards now work
53 as expected:
54 ``"{ns}name"``, ``"{}name"``, ``"{*}name"``, ``"{ns}*"``, ``"{}*"``
55 and ``"{*}*"``. Note that ``"name"`` is equivalent to ``"{}name"``,
56 but ``"*"`` is ``"{*}*"``.
57 The same change applies to the ``.getiterator()``, ``.itersiblings()``,
58 ``.iterancestors()``, ``.iterdescendants()``, ``.iterchildren()``
87d68215 »
2012-08-12 Mention iterparse in the changelog for tag="{*}e"
59 and ``.itertext()`` methods;the ``strip_attributes()``,
60 ``strip_elements()`` and ``strip_tags()`` functions as well as the
61 ``iterparse()`` class.
4e1e6850 »
2012-08-11 Add support for tag="{*}name" in _Element.iter() and friends.
62
4a7c63ca » scoder
2012-08-12 changelog
63 * C14N allows specifying the inclusive prefixes to be promoted
64 to top-level during exclusive serialisation.
65
095468bb » scoder
2012-08-09 fix parsing when long Unicode strings are passed into the feed() meth…
66 Bugs fixed
67 ----------
68
69 * Passing long Unicode strings into the ``feed()`` parser interface
70 failed to read the entire string.
71
72 Other changes
73 -------------
74
75
bf47a974 » scoder
2012-07-31 prepare release of 3.0alpha1
76 3.0alpha1 (2012-07-31)
77 ======================
6d66091d » Stefan Behnel
2011-10-12 reexport etree.SubElement as objectify.SubElement, increase minor ver…
78
79 Features added
80 --------------
81
bf47a974 » scoder
2012-07-31 prepare release of 3.0alpha1
82 * Initial support for building in PyPy (through cpyext).
83
3beae9ce » scoder
2012-04-05 changelog
84 * DTD objects gained an API that allows read access to their
85 declarations.
86
cbf8b8f6 » scoder
2012-02-22 changelog
87 * ``xpathgrep.py`` gained support for parsing line-by-line (e.g.
88 from grep output) and for surrounding the output with a new root
89 tag.
90
53e7c493 » scoder
2012-02-19 changelog
91 * ``E-factory`` in ``lxml.builder`` accepts subtypes of known data
92 types (such as string subtypes) when building elements around them.
93
b75c93c8 » scoder
2011-12-23 implement multi-tag selection for iterparse()
94 * Tree iteration and ``iterparse()`` with a selective ``tag``
95 argument supports passing a set of tags. Tree nodes will be
96 returned by the iterators if they match any of the tags.
bdbfebb6 » scoder
2011-12-19 partial rewrite of element iterators to support multiple tags for the…
97
6d66091d » Stefan Behnel
2011-10-12 reexport etree.SubElement as objectify.SubElement, increase minor ver…
98 Bugs fixed
99 ----------
100
41b83a88 » scoder
2012-07-30 remove special implementations of the .find*() methods from lxml.obje…
101 * The ``.find*()`` methods in ``lxml.objectify`` no longer use XPath
102 internally, which makes them faster in many cases (especially when
103 short circuiting after a single or couple of elements) and fixes
104 some behavioural differences compared to ``lxml.etree``. Note that
105 this means that they no longer support arbitrary XPath expressions
106 but only the subset that the ``ElementPath`` language supports.
107 The previous implementation was also redundant with the normal
108 XPath support, which can be used as a replacement.
109
a678b157 » scoder
2012-07-30 prevent el.find('*') from returning PIs and comments
110 * ``el.find('*')`` could accidentally return a comment or processing
111 instruction that happened to be in the wrong spot. (Same for the
112 other ``.find*()`` methods.)
113
fd074807 » scoder
2012-04-07 changelog
114 * The error logging is less intrusive and avoids a global setup where
115 possible.
116
44bcba04 » scoder
2012-03-24 changelog
117 * Fixed undefined names in html5lib parser.
118
cbf8b8f6 » scoder
2012-02-22 changelog
119 * ``xpathgrep.py`` did not work in Python 3.
120
124faa59 » scoder
2012-01-27 implement support for element.attrib.update(el.attrib)
121 * ``Element.attrib.update()`` did not accept an ``attrib`` of
122 another Element as parameter.
123
f1959a6a » scoder
2012-02-10 make sure the E-Factory feature of the ElementBase constructor can al…
124 * For subtypes of ``ElementBase`` that make the ``.text`` or ``.tail``
125 properties immutable (as in objectify, for example), inserting text
126 when creating Elements through the E-Factory feature of the class
127 constructor would fail with an exception, stating that the text
128 cannot be modified.
129
6d66091d » Stefan Behnel
2011-10-12 reexport etree.SubElement as objectify.SubElement, increase minor ver…
130 Other changes
131 --------------
132
1b8cea89 » scoder
2012-07-30 changelog
133 * The code base was overhauled to properly use 'const' where the API
bf47a974 » scoder
2012-07-31 prepare release of 3.0alpha1
134 of libxml2 and libxslt requests it. This also has an impact on the
1b8cea89 » scoder
2012-07-30 changelog
135 public C-API of lxml itself, as defined in ``etreepublic.pxd``, as
136 well as the provided declarations in the ``lxml/includes/`` directory.
137 Code that uses these declarations may have to be adapted. On the
138 plus side, this fixes several C compiler warnings, also for user
139 code, thus making it easier to spot real problems again.
140
544f1b4d » scoder
2012-04-21 changelog
141 * The functionality of "lxml.cssselect" was moved into a separate PyPI
142 package called "cssselect". To continue using it, you must install
143 that package separately. The "lxml.cssselect" module is still
144 available and provides the same interface, provided the "cssselect"
145 package can be imported at runtime.
146
e5d7aa35 » scoder
2012-03-31 sort attributes at Element creation time to make their creation order…
147 * Element attributes passed in as an ``attrib`` dict or as keyword
148 arguments are now sorted by (namespaced) name before being created
149 to make their order predictable for serialisation and iteration.
150 Note that adding or deleting attributes afterwards does not take
151 that order into account, i.e. setting a new attribute appends it
152 after the existing ones.
153
b5b01202 » scoder
2011-11-09 changelog
154 * Several classes that are for internal use only were removed
155 from the ``lxml.etree`` module dict:
6f69f988 » scoder
2011-11-22 changelog formatting
156 ``_InputDocument, _ResolverRegistry, _ResolverContext, _BaseContext,
b5b01202 » scoder
2011-11-09 changelog
157 _ExsltRegExp, _IterparseContext, _TempStore, _ExceptionContext,
158 __ContentOnlyElement, _AttribIterator, _NamespaceRegistry,
159 _ClassNamespaceRegistry, _FunctionNamespaceRegistry,
160 _XPathFunctionNamespaceRegistry, _ParserDictionaryContext,
161 _FileReaderContext, _ParserContext, _PythonSaxParserTarget,
162 _TargetParserContext, _ReadOnlyProxy, _ReadOnlyPIProxy,
163 _ReadOnlyEntityProxy, _ReadOnlyElementProxy, _OpaqueNodeWrapper,
164 _OpaqueDocumentWrapper, _ModifyContentOnlyProxy,
165 _ModifyContentOnlyPIProxy, _ModifyContentOnlyEntityProxy,
166 _AppendOnlyElementProxy, _SaxParserContext, _FilelikeWriter,
167 _ParserSchemaValidationContext, _XPathContext,
6f69f988 » scoder
2011-11-22 changelog formatting
168 _XSLTResolverContext, _XSLTContext, _XSLTQuotedStringParam``
b5b01202 » scoder
2011-11-09 changelog
169
170 * Several internal classes can no longer be inherited from:
6f69f988 » scoder
2011-11-22 changelog formatting
171 ``_InputDocument, _ResolverRegistry, _ExsltRegExp, _ElementUnicodeResult,
b5b01202 » scoder
2011-11-09 changelog
172 _IterparseContext, _TempStore, _AttribIterator, _ClassNamespaceRegistry,
173 _XPathFunctionNamespaceRegistry, _ParserDictionaryContext,
174 _FileReaderContext, _PythonSaxParserTarget, _TargetParserContext,
175 _ReadOnlyPIProxy, _ReadOnlyEntityProxy, _OpaqueDocumentWrapper,
176 _ModifyContentOnlyPIProxy, _ModifyContentOnlyEntityProxy,
177 _AppendOnlyElementProxy, _FilelikeWriter, _ParserSchemaValidationContext,
178 _XPathContext, _XSLTResolverContext, _XSLTContext, _XSLTQuotedStringParam,
6f69f988 » scoder
2011-11-22 changelog formatting
179 _XSLTResultTree, _XSLTProcessingInstruction``
b5b01202 » scoder
2011-11-09 changelog
180
181
1f44374e » scoder
2012-09-28 prepare release of 2.3.6
182 2.3.6 (2012-09-28)
b03634ce » scoder
2012-08-09 fix parsing when long Unicode strings are passed into the feed() meth…
183 ==================
184
185 Features added
186 --------------
187
188 Bugs fixed
189 ----------
190
191 * Passing long Unicode strings into the ``feed()`` parser interface
192 failed to read the entire string.
193
194 Other changes
195 --------------
196
197
6b80a875 » scoder
2012-07-31 prepare release of 2.3.5
198 2.3.5 (2012-07-31)
901c891b » scoder
2012-04-20 changelog
199 ==================
200
201 Features added
202 --------------
203
204 Bugs fixed
205 ----------
206
d7c216da » scoder
2012-07-31 fix crash in tail text handling utility functions
207 * Crash when merging text nodes in ``element.remove()``.
208
901c891b » scoder
2012-04-20 changelog
209 * Crash in sax/target parser when reporting empty doctype.
210
211 Other changes
212 --------------
213
214
c8cde5d8 » scoder
2012-03-26 prepare release of 2.3.4
215 2.3.4 (2012-03-26)
ec5a50ea » scoder
2012-02-23 fix compile error reporting for XSLT stylesheet compilation
216 ==================
217
218 Features added
219 --------------
220
221 Bugs fixed
222 ----------
223
5330b26c » scoder
2012-03-26 changelog
224 * Crash when building an nsmap (Element property) with empty
225 namespace URIs.
226
f26e2e81 » scoder
2012-03-26 changelog
227 * Crash due to race condition when errors (or user messages) occur
228 during threaded XSLT processing.
229
ec5a50ea » scoder
2012-02-23 fix compile error reporting for XSLT stylesheet compilation
230 * XSLT stylesheet compilation could ignore compilation errors.
231
232 Other changes
233 --------------
234
235
f8ee4fb1 » scoder
2012-01-04 prepare release of lxml 2.3.3
236 2.3.3 (2012-01-04)
237 ==================
238
239 Features added
240 --------------
241
242 * ``lxml.html.tostring()`` gained new serialisation options
243 ``with_tail`` and ``doctype``.
244
245 Bugs fixed
246 ----------
247
248 * Fixed a crash when using ``iterparse()`` for HTML parsing and
249 requesting start events.
250
251 * Fixed parsing of more selectors in cssselect. Whitespace before
252 pseudo-elements and pseudo-classes is significant as it is a
253 descendant combinator.
254 "E :pseudo" should parse the same as "E \*:pseudo", not "E:pseudo".
255 Patch by Simon Sapin.
256
257 * lxml.html.diff no longer raises an exception when hitting
258 'img' tags without 'src' attribute.
259
260 Other changes
261 --------------
262
263
4c325e12 » scoder
2011-11-11 prepare release of lxml 2.3.2
264 2.3.2 (2011-11-11)
265 ==================
6d66091d » Stefan Behnel
2011-10-12 reexport etree.SubElement as objectify.SubElement, increase minor ver…
266
267 Features added
268 --------------
269
c4e4fdb4 » scoder
2011-10-23 new option 'cleanup_namespaces' in objectify.deannotate()
270 * ``lxml.objectify.deannotate()`` has a new boolean option
271 ``cleanup_namespaces`` to remove the objectify namespace
272 declarations (and generally clean up the namespace declarations)
273 after removing the type annotations.
274
6d66091d » Stefan Behnel
2011-10-12 reexport etree.SubElement as objectify.SubElement, increase minor ver…
275 * ``lxml.objectify`` gained its own ``SubElement()`` function as a
276 copy of ``etree.SubElement`` to avoid an otherwise redundant import
277 of ``lxml.etree`` on the user side.
278
279 Bugs fixed
280 ----------
281
5fc9eac1 » scoder
2011-11-03 another fix for the 'descendant' problem in cssselect to undo a serio…
282 * Fixed the "descendant" bug in cssselect a second time (after a first
283 fix in lxml 2.3.1). The previous change resulted in a serious
284 performance regression for the XPath based evaluation of the
285 translated expression. Note that this breaks the usage of some of
286 the generated XPath expressions as XSLT location paths that
287 previously worked in 2.3.1.
a2b966b2 » scoder
2011-11-09 formatting fix in CHANGES.txt
288
c3b80b7f »
2011-11-05 More tests and change log for the parsing bug in cssselect.
289 * Fixed parsing of some selectors in cssselect. Whitespace after combinators
290 ">", "+" and "~" is now correctly ignored. Previously is was parsed as
291 a descendant combinator. For example, "div> .foo" was parsed the same as
ee159117 » scoder
2011-11-11 changelog
292 "div>* .foo" instead of "div>.foo". Patch by Simon Sapin.
5fc9eac1 » scoder
2011-11-03 another fix for the 'descendant' problem in cssselect to undo a serio…
293
6d66091d » Stefan Behnel
2011-10-12 reexport etree.SubElement as objectify.SubElement, increase minor ver…
294 Other changes
295 --------------
296
297
e80ecaa2 » Stefan Behnel
2011-09-25 prepare release of 2.3.1
298 2.3.1 (2011-09-25)
299 ==================
57f49eed » Stefan Behnel
2011-02-18 patch by Craig Dennis for bug 576775/718430: fix selection behaviour …
300
301 Features added
302 --------------
303
b2f8c56f » Stefan Behnel
2011-09-25 docs
304 * New option ``kill_tags`` in ``lxml.html.clean`` to remove specific
305 tags and their content (i.e. their whole subtree).
306
b9bc13fd » Stefan Behnel
2011-09-07 support pi.get() and pi.attrib by parsing the text context for pseudo…
307 * ``pi.get()`` and ``pi.attrib`` on processing instructions to parse
308 pseudo-attributes from the text content of processing instructions.
309
bdf88fab » Stefan Behnel
2011-09-01 rename lxml.get_includes() to lxml.get_include() - sounds wrong, but …
310 * ``lxml.get_include()`` returns a list of include paths that can be
311 used to compile external C code against lxml.etree. This is
312 specifically required for statically linked lxml builds when code
313 needs to compile against the exact same header file versions as lxml
314 itself.
cddba935 » Stefan Behnel
2011-08-25 comment, changelog
315
48f115fa » Stefan Behnel
2011-05-23 let parse() and iterparse() only close files they opened themselves, …
316 * ``Resolver.resolve_file()`` takes an additional option
317 ``close_file`` that configures if the file(-like) object will be
318 closed after reading or not. By default, the file will be closed,
319 as the user is not expected to keep a reference to it.
320
57f49eed » Stefan Behnel
2011-02-18 patch by Craig Dennis for bug 576775/718430: fix selection behaviour …
321 Bugs fixed
322 ----------
323
443e5b30 » Stefan Behnel
2011-08-12 let cleaner drop 'data:' links just like it does for 'javascript:' links
324 * HTML cleaning didn't remove 'data:' links.
325
21eb9ec7 » Stefan Behnel
2011-08-11 replace html5lib integration with an import of the official lxml supp…
326 * The html5lib parser integration now uses the 'official'
327 implementation in html5lib itself, which makes it work with newer
328 releases of the library.
329
31f2a49c » Stefan Behnel
2011-07-01 sax.py: use the same tag name building mechanism for endElementNS() a…
330 * In ``lxml.sax``, ``endElementNS()`` could incorrectly reject a plain
331 tag name when the corresponding start event inferred the same plain
332 tag name to be in the default namespace.
333
48f115fa » Stefan Behnel
2011-05-23 let parse() and iterparse() only close files they opened themselves, …
334 * When an open file-like object is passed into ``parse()`` or
335 ``iterparse()``, the parser will no longer close it after use. This
336 reverts a change in lxml 2.3 where all files would be closed. It is
337 the users responsibility to properly close the file(-like) object,
338 also in error cases.
339
b767c284 » Stefan Behnel
2011-05-19 changelog
340 * Assertion error in lxml.html.cleaner when discarding top-level elements.
341
503d276c » lrowe
2011-03-23 In lxml.cssselect, use the xpath 'A//B' (short for
342 * In lxml.cssselect, use the xpath 'A//B' (short for
5fc9eac1 » scoder
2011-11-03 another fix for the 'descendant' problem in cssselect to undo a serio…
343 'A/descendant-or-self::node()/B') instead of 'A/descendant::B' for
344 the css descendant selector ('A B'). This makes a few edge cases
345 like ``"div *:last-child"`` consistent with the selector behavior in
346 WebKit and Firefox, and makes more css expressions valid location
347 paths (for use in xsl:template match).
503d276c » lrowe
2011-03-23 In lxml.cssselect, use the xpath 'A//B' (short for
348
57f49eed » Stefan Behnel
2011-02-18 patch by Craig Dennis for bug 576775/718430: fix selection behaviour …
349 * In lxml.html, non-selected ``<option>`` tags no longer show up in the
350 collected form values.
351
352 * Adding/removing ``<option>`` values to/from a multiple select form
353 field properly selects them and unselects them.
354
355 Other changes
356 --------------
357
e80ecaa2 » Stefan Behnel
2011-09-25 prepare release of 2.3.1
358 * Static builds can specify the download directory with the
359 ``--download-dir`` option.
360
57f49eed » Stefan Behnel
2011-02-18 patch by Craig Dennis for bug 576775/718430: fix selection behaviour …
361
3c1bdaf6 » scoder
2011-02-06 [svn r4522] prepare release of 2.3 final
362 2.3 (2011-02-06)
363 ================
bcafea2c » scoder
2010-10-17 [svn r4477] fix 'marque' HTML tag name into 'marquee'
364
88706dae » scoder
2010-11-17 [svn r4491] support '{}tag' in lxml.objectify child search as meaning…
365 Features added
366 --------------
367
368 * When looking for children, ``lxml.objectify`` takes '{}tag' as
369 meaning an empty namespace, as opposed to the parent namespace.
370
bcafea2c » scoder
2010-10-17 [svn r4477] fix 'marque' HTML tag name into 'marquee'
371 Bugs fixed
372 ----------
373
d0cf24b5 » scoder
2010-12-29 [svn r4512] immediately close files after parsing from them
374 * When finished reading from a file-like object, the parser
375 immediately calls its ``.close()`` method.
376
377 * When finished parsing, ``iterparse()`` immediately closes the input
29da0545 » scoder
2011-02-03 [svn r4515] always close input file from iterparse(), not only when w…
378 file.
7bf39a47 » scoder
2010-12-29 [svn r4510] make iterparse() close files immediately after parsing if…
379
7d05582d » scoder
2010-10-21 [svn r4481] changelog
380 * Work-around for libxml2 bug that can leave the HTML parser in a
301bd0ad » scoder
2010-12-29 [svn r4513] changelog
381 non-functional state after parsing a severly broken document (fixed
382 in libxml2 2.7.8).
7d05582d » scoder
2010-10-21 [svn r4481] changelog
383
bcafea2c » scoder
2010-10-17 [svn r4477] fix 'marque' HTML tag name into 'marquee'
384 * ``marque`` tag in HTML cleanup code is correctly named ``marquee``.
385
45a079d7 » scoder
2010-11-17 [svn r4490] changelog
386 Other changes
387 --------------
388
389 * Some public functions in the Cython-level C-API have more explicit
390 return types.
391
bcafea2c » scoder
2010-10-17 [svn r4477] fix 'marque' HTML tag name into 'marquee'
392
5347a887 » scoder
2010-09-06 [svn r4470] prepare release of 2.3beta1
393 2.3beta1 (2010-09-06)
394 =====================
3aa22f5a » scoder
2010-07-26 [svn r4444] r5647@lenny: sbehnel | 2010-07-26 21:42:46 +0200
395
396 Features added
397 --------------
398
399 Bugs fixed
400 ----------
401
266e5192 » scoder
2010-08-24 [svn r4464] changelog
402 * Crash in newer libxml2 versions when moving elements between
403 documents that had attributes on replaced XInclude nodes.
404
2c94a4ff » scoder
2010-08-09 [svn r4458] add missing 'parser' and 'base_url' parameters to XMLID()
405 * ``XMLID()`` function was missing the optional ``parser`` and
406 ``base_url`` parameters.
407
a34a017a » scoder
2010-08-08 [svn r4457] fix searching for wildcard tags in Py3
408 * Searching for wildcard tags in ``iterparse()`` was broken in Py3.
409
3aa22f5a » scoder
2010-07-26 [svn r4444] r5647@lenny: sbehnel | 2010-07-26 21:42:46 +0200
410 * ``lxml.html.open_in_browser()`` didn't work in Python 3 due to the
411 use of os.tempnam. It now takes an optional 'encoding' parameter.
412
413 Other changes
414 --------------
415
416
f8913170 » scoder
2010-07-24 [svn r4441] r5643@lenny: sbehnel | 2010-07-24 21:58:03 +0200
417 2.3alpha2 (2010-07-24)
4a845c82 » scoder
2010-07-14 [svn r4434] r5631@lenny: sbehnel | 2010-07-14 19:21:04 +0200
418 ======================
419
dfa234b9 » scoder
2010-07-24 [svn r4440] r5638@lenny: sbehnel | 2010-07-24 20:36:20 +0200
420 Features added
421 --------------
422
423 Bugs fixed
424 ----------
425
426 * Crash in XSLT when generating text-only result documents with a
427 stylesheet created in a different thread.
428
4a845c82 » scoder
2010-07-14 [svn r4434] r5631@lenny: sbehnel | 2010-07-14 19:21:04 +0200
429 Other changes
430 --------------
431
432 * ``repr()`` of Element objects shows the hex ID with leading 0x
433 (following ElementTree 1.3).
434
435
38acd43c » scoder
2010-06-19 [svn r4420] r5605@lenny: sbehnel | 2010-06-19 10:53:40 +0200
436 2.3alpha1 (2010-06-19)
437 ======================
fb943cb4 » scoder
2009-07-11 [svn r4180] r5180@delle: sbehnel | 2009-07-11 21:43:07 +0200
438
439 Features added
440 --------------
441
91a6b5ff » scoder
2010-04-11 [svn r4400] r5565@lenny: sbehnel | 2010-04-11 19:34:52 +0200
442 * Keyword argument ``namespaces`` in ``lxml.cssselect.CSSSelector()``
443 to pass a prefix-to-namespace mapping for the selector.
444
102f4d30 » scoder
2010-04-01 [svn r4392] r5550@lenny: sbehnel | 2010-04-01 23:09:19 +0200
445 * New function ``lxml.etree.register_namespace(prefix, uri)`` that
446 globally registers a namespace prefix for a namespace that newly
447 created Elements in that namespace will use automatically. Follows
448 ElementTree 1.3.
449
1e9951f0 » scoder
2010-04-01 [svn r4390] r5546@lenny: sbehnel | 2010-04-01 22:28:22 +0200
450 * Support 'unicode' string name as encoding parameter in
451 ``tostring()``, following ElementTree 1.3.
452
453 * Support 'c14n' serialisation method in ``ElementTree.write()`` and
454 ``tostring()``, following ElementTree 1.3.
455
9558997a » scoder
2010-04-01 [svn r4391] r5548@lenny: sbehnel | 2010-04-01 22:29:57 +0200
456 * The ElementPath expression syntax (``el.find*()``) was extended to
457 match the upcoming ElementTree 1.3 that will ship in the standard
458 library of Python 3.2/2.7. This includes extended support for
459 predicates as well as namespace prefixes (as known from XPath).
460
b5342983 » scoder
2010-02-28 [svn r4357] r5486@lenny: sbehnel | 2010-02-28 13:45:43 +0100
461 * During regular XPath evaluation, various ESXLT functions are
462 available within their namespace when using libxslt 1.1.26 or later.
463
8b238ff1 » scoder
2010-01-30 [svn r4332] r5441@lenny: sbehnel | 2010-01-30 21:18:09 +0100
464 * Support passing a readily configured logger instance into
465 ``PyErrorLog``, instead of a logger name.
466
2c0f04d7 » scoder
2010-01-29 [svn r4324] r5430@lenny: sbehnel | 2010-01-29 16:15:53 +0100
467 * On serialisation, the new ``doctype`` parameter can be used to
468 override the DOCTYPE (internal subset) of the document.
469
fe4cbb79 » scoder
2010-01-24 [svn r4313] r5411@lenny: sbehnel | 2010-01-24 19:32:39 +0100
470 * New parameter ``output_parent`` to ``XSLTExtension.apply_templates()``
471 to append the resulting content directly to an output element.
472
473 * ``XSLTExtension.process_children()`` to process the content of the
474 XSLT extension element itself.
475
a00ce1ff » scoder
2010-01-25 [svn r4314] r5413@lenny: sbehnel | 2010-01-25 10:15:10 +0100
476 * ISO-Schematron support based on the de-facto Schematron reference
477 'skeleton implementation'.
478
479 * XSLT objects now take XPath object as ``__call__`` stylesheet
480 parameters.
481
812653bf » scoder
2009-12-30 [svn r4300] r5391@lenny: sbehnel | 2009-12-30 12:48:32 +0100
482 * Enable path caching in ElementPath (``el.find*()``) to avoid parsing
483 overhead.
484
15efcc7c » scoder
2009-12-28 [svn r4296] r5383@lenny: sbehnel | 2009-12-28 20:17:38 +0100
485 * Setting the value of a namespaced attribute always uses a prefixed
486 namespace instead of the default namespace even if both declare the
487 same namespace URI. This avoids serialisation problems when an
488 attribute from a default namespace is set on an element from a
489 different namespace.
490
9d15f62c » scoder
2009-11-24 [svn r4271] r5331@delle: sbehnel | 2009-11-15 11:44:03 +0100
491 * XSLT extension elements: support for XSLT context nodes other than
492 elements: document root, comments, processing instructions.
2c37634b » scoder
2009-11-24 [svn r4269] r5329@delle: sbehnel | 2009-11-13 14:59:55 +0100
493
eb94f9fd » scoder
2009-10-17 [svn r4235] r5288@delle: sbehnel | 2009-10-17 01:20:44 +0200
494 * Support for strings (in addition to Elements) in node-sets returned
495 by extension functions.
496
f02f59fd » scoder
2009-09-30 [svn r4222] r5259@delle: sbehnel | 2009-09-30 19:46:32 +0200
497 * Forms that lack an ``action`` attribute default to the base URL of
498 the document on submit.
499
2cd68988 » scoder
2009-08-20 [svn r4195] r5213@delle: sbehnel | 2009-08-20 10:29:12 +0200
500 * XPath attribute result strings have an ``attrname`` property.
501
6ca6a234 » scoder
2009-08-08 [svn r4188] r5197@delle: sbehnel | 2009-08-08 17:53:33 +0200
502 * Namespace URIs get validated against RFC 3986 at the API level
503 (required by the XML namespace specification).
504
b28a8da1 » scoder
2009-07-14 [svn r4183] r5188@delle: sbehnel | 2009-07-14 20:14:34 +0200
505 * Target parsers show their target object in the ``.target`` property
506 (compatible with ElementTree).
507
fb943cb4 » scoder
2009-07-11 [svn r4180] r5180@delle: sbehnel | 2009-07-11 21:43:07 +0200
508 Bugs fixed
509 ----------
510
8f4837cb » scoder
2010-04-27 [svn r4402] r5569@lenny: sbehnel | 2010-04-27 21:41:20 +0200
511 * API is hardened against invalid proxy instances to prevent crashes
512 due to incorrectly instantiated Element instances.
513
dea25cd7 » scoder
2010-04-06 [svn r4397] r5559@lenny: sbehnel | 2010-04-06 22:14:22 +0200
514 * Prevent crash when instantiating ``CommentBase`` and friends.
515
90ea16a3 » scoder
2010-04-01 [svn r4394] r5554@lenny: sbehnel | 2010-04-01 23:50:28 +0200
516 * Export ElementTree compatible XML parser class as
517 ``XMLTreeBuilder``, as it is called in ET 1.2.
518
09c927d0 » scoder
2010-04-02 [svn r4395] r5556@lenny: sbehnel | 2010-04-02 07:43:38 +0200
519 * ObjectifiedDataElements in lxml.objectify were not hashable. They
520 now use the hash value of the underlying Python value (string,
521 number, etc.) to which they compare equal.
d78b492f » scoder
2010-03-31 [svn r4389] r5544@lenny: sbehnel | 2010-03-31 12:52:16 +0200
522
150ce3cf » scoder
2010-01-30 [svn r4339] r5455@lenny: sbehnel | 2010-01-30 22:37:46 +0100
523 * Parsing broken fragments in lxml.html could fail if the fragment
524 contained an orphaned closing '</div>' tag.
525
fe4cbb79 » scoder
2010-01-24 [svn r4313] r5411@lenny: sbehnel | 2010-01-24 19:32:39 +0100
526 * Using XSLT extension elements around the root of the output document
527 crashed.
528
837ceeb9 » scoder
2009-11-24 [svn r4270] r5330@delle: sbehnel | 2009-11-13 17:30:53 +0100
529 * ``lxml.cssselect`` did not distinguish between ``x[attr="val"]`` and
530 ``x [attr="val"]`` (with a space). The latter now matches the
531 attribute independent of the element.
532
0b1b1118 » scoder
2009-10-17 [svn r4238] r5294@delle: sbehnel | 2009-10-17 02:19:50 +0200
533 * Rewriting multiple links inside of HTML text content could end up
534 replacing unrelated content as replacements could impact the
535 reported position of subsequent matches. Modifications are now
536 simplified by letting the ``iterlinks()`` generator in ``lxml.html``
537 return links in reversed order if they appear inside the same text
538 node. Thus, replacements and link-internal modifications no longer
539 change the position of links reported afterwards.
540
564d8245 » scoder
2009-10-13 [svn r4229] r5274@delle: sbehnel | 2009-10-13 08:48:17 +0200
541 * The ``.value`` attribute of ``textarea`` elements in lxml.html did
542 not represent the complete raw value (including child tags etc.). It
543 now serialises the complete content on read and replaces the
544 complete content by a string on write.
545
c258505f » scoder
2009-10-30 [svn r4246] r5301@delle: sbehnel | 2009-10-30 15:12:46 +0100
546 * Target parser didn't call ``.close()`` on the target object if
547 parsing failed. Now it is guaranteed that ``.close()`` will be
548 called after parsing, regardless of the outcome.
549
550 Other changes
551 -------------
552
607a68ef » scoder
2010-03-02 [svn r4364] r5498@lenny: sbehnel | 2010-03-02 13:32:51 +0100
553 * Official support for Python 3.1.2 and later.
554
af100067 » scoder
2010-01-30 [svn r4341] r5461@lenny: sbehnel | 2010-01-30 23:02:39 +0100
555 * Static MS Windows builds can now download their dependencies
556 themselves.
557
c258505f » scoder
2009-10-30 [svn r4246] r5301@delle: sbehnel | 2009-10-30 15:12:46 +0100
558 * ``Element.attrib`` no longer uses a cyclic reference back to its
559 Element object. It therefore no longer requires the garbage
560 collector to clean up.
561
562 * Static builds include libiconv, in addition to libxml2 and libxslt.
563
564
6bc1641d » scoder
2010-09-02 [svn r4467] mark release of 2.2.8
565 2.2.8 (2010-09-02)
566 ==================
567
568 Bugs fixed
569 ----------
570
571 * Crash in newer libxml2 versions when moving elements between
572 documents that had attributes on replaced XInclude nodes.
573
574 * Import fix for urljoin in Python 3.1+.
575
576
f8913170 » scoder
2010-07-24 [svn r4441] r5643@lenny: sbehnel | 2010-07-24 21:58:03 +0200
577 2.2.7 (2010-07-24)
578 ==================
579
580 Bugs fixed
581 ----------
582
583 * Crash in XSLT when generating text-only result documents with a
584 stylesheet created in a different thread.
585
586
38acd43c » scoder
2010-06-19 [svn r4420] r5605@lenny: sbehnel | 2010-06-19 10:53:40 +0200
587 2.2.6 (2010-03-02)
588 ==================
589
590 Bugs fixed
591 ----------
592
593 * Fixed several Python 3 regressions by building with Cython 0.11.3.
594
595
596 2.2.5 (2010-02-28)
597 ==================
598
599 Features added
600 --------------
601
602 * Support for running XSLT extension elements on the input root node
603 (e.g. in a template matching on "/").
604
605 Bugs fixed
606 ----------
607
608 * Crash in XPath evaluation when reading smart strings from a document
609 other than the original context document.
610
611 * Support recent versions of html5lib by not requiring its
612 ``XHTMLParser`` in ``htmlparser.py`` anymore.
613
614 * Manually instantiating the custom element classes in
615 ``lxml.objectify`` could crash.
616
617 * Invalid XML text characters were not rejected by the API when they
618 appeared in unicode strings directly after non-ASCII characters.
619
620 * lxml.html.open_http_urllib() did not work in Python 3.
621
622 * The functions ``strip_tags()`` and ``strip_elements()`` in
623 ``lxml.etree`` did not remove all occurrences of a tag in all cases.
624
625 * Crash in XSLT extension elements when the XSLT context node is not
626 an element.
627
628
2c37634b » scoder
2009-11-24 [svn r4269] r5329@delle: sbehnel | 2009-11-13 14:59:55 +0100
629 2.2.4 (2009-11-11)
630 ==================
631
632 Bugs fixed
633 ----------
634
635 * Static build of libxml2/libxslt was broken.
636
637
c258505f » scoder
2009-10-30 [svn r4246] r5301@delle: sbehnel | 2009-10-30 15:12:46 +0100
638 2.2.3 (2009-10-30)
639 ==================
640
641 Features added
642 --------------
643
644 Bugs fixed
645 ----------
646
647 * The ``resolve_entities`` option did not work in the incremental feed
648 parser.
649
516bd66b » scoder
2009-09-30 [svn r4225] r5268@delle: sbehnel | 2009-09-30 22:48:58 +0200
650 * Looking up and deleting attributes without a namespace could hit a
651 namespaced attribute of the same name instead.
652
82635385 » scoder
2009-09-29 [svn r4217] r5253@delle: sbehnel | 2009-09-29 23:23:34 +0200
653 * Late errors during calls to ``SubElement()`` (e.g. attribute related
654 ones) could leave a partially initialised element in the tree.
655
d3aa4ded » scoder
2009-09-29 [svn r4214] r5248@delle: sbehnel | 2009-09-29 22:16:07 +0200
656 * Modifying trees that contain parsed entity references could result
657 in an infinite loop.
658
2afcc702 » scoder
2009-09-29 [svn r4215] r5251@delle: sbehnel | 2009-09-29 22:16:44 +0200
659 * ObjectifiedElement.__setattr__ created an empty-string child element when the
660 attribute value was rejected as a non-unicode/non-ascii string
661
42efcf08 » scoder
2009-09-10 [svn r4209] r5239@delle: sbehnel | 2009-09-10 06:45:11 +0200
662 * Syntax errors in ``lxml.cssselect`` could result in misleading error
663 messages.
664
665 * Invalid syntax in CSS expressions could lead to an infinite loop in
666 the parser of ``lxml.cssselect``.
667
de51b3c9 » scoder
2009-09-06 [svn r4208] r5237@delle: sbehnel | 2009-09-06 14:50:11 +0200
668 * CSS special character escapes were not properly handled in
669 ``lxml.cssselect``.
670
671 * CSS Unicode escapes were not properly decoded in ``lxml.cssselect``.
672
0b14af50 » scoder
2009-08-22 [svn r4200] r5223@delle: sbehnel | 2009-08-22 15:27:51 +0200
673 * Select options in HTML forms that had no explicit ``value``
674 attribute were not handled correctly. The HTML standard dictates
675 that their value is defined by their text content. This is now
676 supported by lxml.html.
677
fa9ec6ec » scoder
2009-08-22 [svn r4199] r5220@delle: sbehnel | 2009-08-22 15:03:26 +0200
678 * XPath raised a TypeError when finding CDATA sections. This is now
679 fully supported.
680
a7630a1d » scoder
2009-08-22 [svn r4197] r5216@delle: sbehnel | 2009-08-22 14:42:32 +0200
681 * Calling ``help(lxml.objectify)`` didn't work at the prompt.
682
683 * The ``ElementMaker`` in lxml.objectify no longer defines the default
684 namespaces when annotation is disabled.
685
010780b8 » scoder
2009-08-13 [svn r4190] r5203@delle: sbehnel | 2009-08-13 09:06:20 +0200
686 * Feed parser failed to honout the 'recover' option on parse errors.
687
fb943cb4 » scoder
2009-07-11 [svn r4180] r5180@delle: sbehnel | 2009-07-11 21:43:07 +0200
688 * Diverting the error logging to Python's logging system was broken.
689
690 Other changes
691 -------------
692
693
ce9974f8 » scoder
2009-06-21 [svn r4173] r5172@delle: sbehnel | 2009-06-21 09:33:17 +0200
694 2.2.2 (2009-06-21)
ad3736af » scoder
2009-06-06 [svn r4155] r5135@delle: sbehnel | 2009-06-06 10:33:16 +0200
695 ==================
696
697 Features added
698 --------------
699
700 * New helper functions ``strip_attributes()``, ``strip_elements()``,
701 ``strip_tags()`` in lxml.etree to remove attributes/subtrees/tags
702 from a subtree.
703
704 Bugs fixed
705 ----------
706
c4695c58 » scoder
2009-06-20 [svn r4171] r5165@delle: sbehnel | 2009-06-20 21:53:27 +0200
707 * Namespace cleanup on subtree insertions could result in missing
708 namespace declarations (and potentially crashes) if the element
709 defining a namespace was deleted and the namespace was not used by
710 the top element of the inserted subtree but only in deeper subtrees.
711
babb019b » scoder
2009-06-16 [svn r4166] r5156@delle: sbehnel | 2009-06-16 20:43:55 +0200
712 * Raising an exception from a parser target callback didn't always
713 terminate the parser.
714
921540d9 » jholg
2009-06-17 [svn r4167] Accept only true, false, 1, 0 as boolean values from an X…
715 * Only {true, false, 1, 0} are accepted as the lexical representation for
716 BoolElement ({True, False, T, F, t, f} not any more), restoring lxml <= 2.0
717 behaviour.
718
ad3736af » scoder
2009-06-06 [svn r4155] r5135@delle: sbehnel | 2009-06-06 10:33:16 +0200
719 Other changes
720 -------------
721
722
66f59d14 » scoder
2009-06-02 [svn r4153] r5131@delle: sbehnel | 2009-06-02 21:11:16 +0200
723 2.2.1 (2009-06-02)
724 ==================
0971cb34 » scoder
2009-03-27 [svn r4143] r5112@delle: sbehnel | 2009-03-27 22:06:09 +0100
725
726 Features added
727 --------------
728
0a3ae451 » scoder
2009-05-31 [svn r4151] r5128@delle: sbehnel | 2009-05-31 22:46:55 +0200
729 * Injecting default attributes into a document during XML Schema
730 validation (also at parse time).
731
0971cb34 » scoder
2009-03-27 [svn r4143] r5112@delle: sbehnel | 2009-03-27 22:06:09 +0100
732 * Pass ``huge_tree`` parser option to disable parser security
733 restrictions imposed by libxml2 2.7.
734
735 Bugs fixed
736 ----------
737
66f59d14 » scoder
2009-06-02 [svn r4153] r5131@delle: sbehnel | 2009-06-02 21:11:16 +0200
738 * The script for statically building libxml2 and libxslt didn't work
739 in Py3.
740
b8f29a94 » scoder
2009-05-31 [svn r4150] r5123@delle: sbehnel | 2009-05-31 14:10:38 +0200
741 * ``XMLSchema()`` also passes invalid schema documents on to libxml2
66f59d14 » scoder
2009-06-02 [svn r4153] r5131@delle: sbehnel | 2009-06-02 21:11:16 +0200
742 for parsing (which could lead to a crash before release 2.6.24).
b8f29a94 » scoder
2009-05-31 [svn r4150] r5123@delle: sbehnel | 2009-05-31 14:10:38 +0200
743
0971cb34 » scoder
2009-03-27 [svn r4143] r5112@delle: sbehnel | 2009-03-27 22:06:09 +0100
744 Other changes
745 -------------
746
747
0a5b686b » scoder
2009-03-21 [svn r4135] r5094@delle: sbehnel | 2009-03-21 15:58:20 +0100
748 2.2 (2009-03-21)
749 ================
9490a09c » scoder
2009-03-02 [svn r4131] r5088@delle: sbehnel | 2009-03-02 14:06:27 +0100
750
b28cc28c » scoder
2009-03-21 [svn r4134] r5093@delle: sbehnel | 2009-03-21 15:54:31 +0100
751 Features added
752 --------------
753
754 * Support for ``standalone`` flag in XML declaration through
755 ``tree.docinfo.standalone`` and by passing ``standalone=True/False``
756 on serialisation.
757
9490a09c » scoder
2009-03-02 [svn r4131] r5088@delle: sbehnel | 2009-03-02 14:06:27 +0100
758 Bugs fixed
759 ----------
760
761 * Crash when parsing an XML Schema with external imports from a
762 filename.
763
764
e5beebd5 » scoder
2009-02-27 [svn r4123] r5073@delle: sbehnel | 2009-02-27 15:44:43 +0100
765 2.2beta4 (2009-02-27)
766 =====================
2c77453b » scoder
2009-02-19 [svn r4103] r5032@delle: sbehnel | 2009-02-19 22:47:33 +0100
767
768 Features added
769 --------------
770
573ef7ba » scoder
2009-02-20 [svn r4107] r5038@delle: sbehnel | 2009-02-20 19:28:41 +0100
771 * Support strings and instantiable Element classes as child arguments
772 to the constructor of custom Element classes.
773
774 * GZip compression support for serialisation to files and file-like
2c77453b » scoder
2009-02-19 [svn r4103] r5032@delle: sbehnel | 2009-02-19 22:47:33 +0100
775 objects.
776
573ef7ba » scoder
2009-02-20 [svn r4107] r5038@delle: sbehnel | 2009-02-20 19:28:41 +0100
777 Bugs fixed
778 ----------
779
1b74befc » scoder
2009-02-27 [svn r4121] r5069@delle: sbehnel | 2009-02-27 15:06:11 +0100
780 * Deep-copying an ElementTree copied neither its sibling PIs and
781 comments nor its internal/external DTD subsets.
492d7069 » scoder
2009-02-27 [svn r4120] r5059@delle: sbehnel | 2009-02-27 14:43:30 +0100
782
ab2a7f32 » scoder
2009-02-27 [svn r4119] r5058@delle: sbehnel | 2009-02-27 14:06:21 +0100
783 * Soupparser failed on broken attributes without values.
784
604725ca » scoder
2009-02-27 [svn r4118] r5057@delle: sbehnel | 2009-02-27 13:32:16 +0100
785 * Crash in XSLT when overwriting an already defined attribute using
786 ``xsl:attribute``.
787
4e878492 » scoder
2009-02-27 [svn r4115] r5054@delle: sbehnel | 2009-02-22 15:44:15 +0100
788 * Crash bug in exception handling code under Python 3. This was due
789 to a problem in Cython, not lxml itself.
790
f0d0e70c » scoder
2009-02-20 [svn r4109] r5045@delle: sbehnel | 2009-02-20 20:07:34 +0100
791 * ``lxml.html.FormElement._name()`` failed for non top-level forms.
1e2d163a » scoder
2009-02-20 [svn r4108] r5043@delle: sbehnel | 2009-02-20 19:39:08 +0100
792
573ef7ba » scoder
2009-02-20 [svn r4107] r5038@delle: sbehnel | 2009-02-20 19:28:41 +0100
793 * ``TAG`` special attribute in constructor of custom Element classes
794 was evaluated incorrectly.
795
796 Other changes
797 -------------
798
4e878492 » scoder
2009-02-27 [svn r4115] r5054@delle: sbehnel | 2009-02-22 15:44:15 +0100
799 * Official support for Python 3.0.1.
800
573ef7ba » scoder
2009-02-20 [svn r4107] r5038@delle: sbehnel | 2009-02-20 19:28:41 +0100
801 * ``Element.findtext()`` now returns an empty string instead of None
802 for Elements without text content.
803
2c77453b » scoder
2009-02-19 [svn r4103] r5032@delle: sbehnel | 2009-02-19 22:47:33 +0100
804
002e8083 » scoder
2009-02-17 [svn r4100] prepare release of lxml 2.2beta3
805 2.2beta3 (2009-02-17)
806 =====================
e6a0d41f » scoder
2009-02-06 [svn r4075] r4974@delle: sbehnel | 2009-02-06 21:38:11 +0100
807
808 Features added
809 --------------
810
811 * ``XSLT.strparam()`` class method to wrap quoted string parameters
812 that require escaping.
813
a2d40652 » scoder
2009-02-14 [svn r4086] r4998@delle: sbehnel | 2009-02-14 23:13:57 +0100
814 Bugs fixed
815 ----------
816
8ef13c9f » scoder
2009-02-17 [svn r4098] r5020@delle: sbehnel | 2009-02-17 22:20:50 +0100
817 * Memory leak in XPath evaluators.
818
819 * Crash when parsing indented XML in one thread and merging it with
820 other documents parsed in another thread.
821
50bedede » scoder
2009-02-15 [svn r4093] r5013@delle: sbehnel | 2009-02-15 13:09:42 +0100
822 * Setting the ``base`` attribute in ``lxml.objectify`` from a unicode
823 string failed.
824
a2d40652 » scoder
2009-02-14 [svn r4086] r4998@delle: sbehnel | 2009-02-14 23:13:57 +0100
825 * Fixes following changes in Python 3.0.1.
826
50bedede » scoder
2009-02-15 [svn r4093] r5013@delle: sbehnel | 2009-02-15 13:09:42 +0100
827 * Minor fixes for Python 3.
828
6dfb01a3 » scoder
2009-02-07 [svn r4080] r4983@delle: sbehnel | 2009-02-07 20:52:44 +0100
829 Other changes
830 -------------
831
90f66222 » scoder
2009-02-07 [svn r4083] r4986@delle: sbehnel | 2009-02-07 21:56:59 +0100
832 * The global error log (which is copied into the exception log) is now
a5a766db » scoder
2009-02-15 [svn r4094] r5015@delle: sbehnel | 2009-02-15 13:12:12 +0100
833 local to a thread, which fixes some race conditions.
90f66222 » scoder
2009-02-07 [svn r4083] r4986@delle: sbehnel | 2009-02-07 21:56:59 +0100
834
6dfb01a3 » scoder
2009-02-07 [svn r4080] r4983@delle: sbehnel | 2009-02-07 20:52:44 +0100
835 * More robust error handling on serialisation.
836
e6a0d41f » scoder
2009-02-06 [svn r4075] r4974@delle: sbehnel | 2009-02-06 21:38:11 +0100
837
c04112ac » scoder
2009-01-25 [svn r4070] r4967@delle: sbehnel | 2009-01-25 21:11:25 +0100
838 2.2beta2 (2009-01-25)
839 =====================
735f8437 » ianb
2009-01-02 [svn r4054] Fix link reading when using CSS like url('link')
840
841 Bugs fixed
842 ----------
843
c04112ac » scoder
2009-01-25 [svn r4070] r4967@delle: sbehnel | 2009-01-25 21:11:25 +0100
844 * Potential memory leak on exception handling. This was due to a
845 problem in Cython, not lxml itself.
846
735f8437 » ianb
2009-01-02 [svn r4054] Fix link reading when using CSS like url('link')
847 * ``iter_links`` (and related link-rewriting functions) in
848 ``lxml.html`` would interpret CSS like ``url("link")`` incorrectly
849 (treating the quotation marks as part of the link).
850
c04112ac » scoder
2009-01-25 [svn r4070] r4967@delle: sbehnel | 2009-01-25 21:11:25 +0100
851 * Failing import on systems that have an ``io`` module.
852
853
854 2.1.5 (2009-01-06)
855 ==================
856
857 Bugs fixed
858 ----------
859
860 * Potential memory leak on exception handling. This was due to a
861 problem in Cython, not lxml itself.
862
863 * Failing import on systems that have an ``io`` module.
864
865
cf7b0487 » scoder
2008-12-12 [svn r4047] r4922@delle: sbehnel | 2008-12-12 23:13:57 +0100
866 2.2beta1 (2008-12-12)
867 =====================
996999c3 » scoder
2008-12-10 [svn r4034] r4909@delle: sbehnel | 2008-12-10 21:02:11 +0100
868
869 Features added
870 --------------
5267ed1d » ianb
2008-12-10 [svn r4032] Small cleanups to lxml.html.diff.
871
cf7b0487 » scoder
2008-12-12 [svn r4047] r4922@delle: sbehnel | 2008-12-12 23:13:57 +0100
872 * Allow ``lxml.html.diff.htmldiff`` to accept Element objects, not
873 just HTML strings.
874
5267ed1d » ianb
2008-12-10 [svn r4032] Small cleanups to lxml.html.diff.
875 Bugs fixed
876 ----------
877
cf7b0487 » scoder
2008-12-12 [svn r4047] r4922@delle: sbehnel | 2008-12-12 23:13:57 +0100
878 * Crash when using an XPath evaluator in multiple threads.
879
880 * Fixed missing whitespace before ``Link:...`` in ``lxml.html.diff``.
5267ed1d » ianb
2008-12-10 [svn r4032] Small cleanups to lxml.html.diff.
881
882 Other changes
883 -------------
884
cf7b0487 » scoder
2008-12-12 [svn r4047] r4922@delle: sbehnel | 2008-12-12 23:13:57 +0100
885 * Export ``lxml.html.parse``.
886
887
888 2.1.4 (2008-12-12)
889 ==================
890
891 Bugs fixed
892 ----------
893
894 * Crash when using an XPath evaluator in multiple threads.
895
896
897 2.0.11 (2008-12-12)
898 ===================
899
900 Bugs fixed
901 ----------
5267ed1d » ianb
2008-12-10 [svn r4032] Small cleanups to lxml.html.diff.
902
cf7b0487 » scoder
2008-12-12 [svn r4047] r4922@delle: sbehnel | 2008-12-12 23:13:57 +0100
903 * Crash when using an XPath evaluator in multiple threads.
5267ed1d » ianb
2008-12-10 [svn r4032] Small cleanups to lxml.html.diff.
904
996999c3 » scoder
2008-12-10 [svn r4034] r4909@delle: sbehnel | 2008-12-10 21:02:11 +0100
905
86b7e216 » scoder
2008-11-23 [svn r4030] r4902@delle: sbehnel | 2008-11-23 20:36:35 +0100
906 2.2alpha1 (2008-11-23)
907 ======================
aed2ae39 » scoder
2008-07-09 [svn r3884] r4605@delle: sbehnel | 2008-07-09 15:15:04 +0200
908
909 Features added
910 --------------
911
54f71e19 » scoder
2008-11-09 [svn r4000] r4851@delle: sbehnel | 2008-11-09 16:24:50 +0100
912 * Support for XSLT result tree fragments in XPath/XSLT extension
913 functions.
914
03eab51b » scoder
2008-10-25 [svn r3988] r4824@delle: sbehnel | 2008-10-25 00:04:57 +0200
915 * QName objects have new properties ``namespace`` and ``localname``.
916
c1b42fcb » scoder
2008-09-05 [svn r3965] r4769@delle: sbehnel | 2008-09-05 14:49:27 +0200
917 * New options for exclusive C14N and C14N without comments.
918
919 * Instantiating a custom Element classes creates a new Element.
920
921 Bugs fixed
922 ----------
923
80150783 » scoder
2008-11-23 [svn r4029] r4897@delle: sbehnel | 2008-11-23 20:32:08 +0100
924 * XSLT didn't inherit the parse options of the input document.
925
327c20ae » scoder
2008-11-17 [svn r4019] r4874@delle: sbehnel | 2008-11-17 22:41:04 +0100
926 * 0-bytes could slip through the API when used inside of Unicode
927 strings.
928
929 * With ``lxml.html.clean.autolink``, links with balanced parenthesis,
930 that end in a parenthesis, will be linked in their entirety (typical
931 with Wikipedia links).
932
933 Other changes
934 -------------
935
936
937 2.1.3 (2008-11-17)
938 ==================
939
940 Features added
941 --------------
942
943 Bugs fixed
944 ----------
945
946 * Ref-count leaks when lxml enters a try-except statement while an
947 outside exception lives in sys.exc_*(). This was due to a problem in
948 Cython, not lxml itself.
949
950 * Parser Unicode decoding errors could get swallowed by other
951 exceptions.
952
953 * Name/import errors in some Python modules.
954
7dd465c9 » scoder
2008-10-25 [svn r3989] r4826@delle: sbehnel | 2008-10-25 20:19:53 +0200
955 * Internal DTD subsets that did not specify a system or public ID were
956 not serialised and did not appear in the docinfo property of
957 ElementTrees.
958
03eab51b » scoder
2008-10-25 [svn r3988] r4824@delle: sbehnel | 2008-10-25 00:04:57 +0200
959 * Fix a pre-Py3k warning when parsing from a gzip file in Py2.6.
960
961 * Test suite fixes for libxml2 2.7.
962
8c5cfdf0 » scoder
2008-10-16 [svn r3981] r4810@delle: sbehnel | 2008-10-16 22:32:57 +0200
963 * Resolver.resolve_string() did not work for non-ASCII byte strings.
964
327c20ae » scoder
2008-11-17 [svn r4019] r4874@delle: sbehnel | 2008-11-17 22:41:04 +0100
965 * Resolver.resolve_file() was broken.
f67fb7f5 » scoder
2008-09-21 [svn r3977] r4799@delle: sbehnel | 2008-09-17 21:30:57 +0200
966
327c20ae » scoder
2008-11-17 [svn r4019] r4874@delle: sbehnel | 2008-11-17 22:41:04 +0100
967 * Overriding the parser encoding didn't work for many encodings.
492931f2 » ianb
2008-10-30 [svn r3992] Notice balanced parenthesis when autolinking
968
c1b42fcb » scoder
2008-09-05 [svn r3965] r4769@delle: sbehnel | 2008-09-05 14:49:27 +0200
969 Other changes
970 -------------
971
972
327c20ae » scoder
2008-11-17 [svn r4019] r4874@delle: sbehnel | 2008-11-17 22:41:04 +0100
973 2.0.10 (2008-11-17)
974 ===================
975
976 Bugs fixed
977 ----------
978
979 * Ref-count leaks when lxml enters a try-except statement while an
980 outside exception lives in sys.exc_*(). This was due to a problem in
981 Cython, not lxml itself.
982
983
c1b42fcb » scoder
2008-09-05 [svn r3965] r4769@delle: sbehnel | 2008-09-05 14:49:27 +0200
984 2.1.2 (2008-09-05)
985 ==================
986
987 Features added
988 --------------
989
166099db » scoder
2008-08-19 [svn r3941] r4742@delle: sbehnel | 2008-08-19 21:35:29 +0200
990 * lxml.etree now tries to find the absolute path name of files when
991 parsing from a file-like object. This helps custom resolvers when
992 resolving relative URLs, as lixbml2 can prepend them with the path
993 of the source document.
994
aed2ae39 » scoder
2008-07-09 [svn r3884] r4605@delle: sbehnel | 2008-07-09 15:15:04 +0200
995 Bugs fixed
996 ----------
997
aefe7d0a » scoder
2008-09-05 [svn r3953] r4765@delle: sbehnel | 2008-09-05 13:47:15 +0200
998 * Memory problem when passing documents between threads.
999
9fe5ab7c » scoder
2008-09-02 [svn r3950] r4759@delle: sbehnel | 2008-09-02 22:07:11 +0200
1000 * Target parser did not honour the ``recover`` option and raised an
1001 exception instead of calling ``.close()`` on the target.
1002
aed2ae39 » scoder
2008-07-09 [svn r3884] r4605@delle: sbehnel | 2008-07-09 15:15:04 +0200
1003 Other changes
4acd5cbf » scoder
2008-08-01 [svn r3924] r4714@delle: sbehnel | 2008-08-01 08:04:05 +0200
1004 -------------
1005
1006
c1b42fcb » scoder
2008-09-05 [svn r3965] r4769@delle: sbehnel | 2008-09-05 14:49:27 +0200
1007 2.0.9 (2008-09-05)
1008 ==================
1009
1010 Bugs fixed
1011 ----------
1012
1013 * Memory problem when passing documents between threads.
1014
1015 * Target parser did not honour the ``recover`` option and raised an
1016 exception instead of calling ``.close()`` on the target.
1017
1018
4acd5cbf » scoder
2008-08-01 [svn r3924] r4714@delle: sbehnel | 2008-08-01 08:04:05 +0200
1019 2.1.1 (2008-07-24)
1020 ==================
1021
1022 Features added
1023 --------------
1024
1025 Bugs fixed
1026 ----------
1027
1028 * Crash when parsing XSLT stylesheets in a thread and using them in
1029 another.
1030
1031 * Encoding problem when including text with ElementInclude under
1032 Python 3.
1033
1034 Other changes
1035 -------------
1036
1037
1038 2.0.8 (2008-07-24)
1039 ==================
1040
1041 Features added
1042 --------------
1043
1044 * ``lxml.html.rewrite_links()`` strips links to work around documents
1045 with whitespace in URL attributes.
1046
1047 Bugs fixed
1048 ----------
1049
1050 * Crash when parsing XSLT stylesheets in a thread and using them in
1051 another.
1052
1053 * CSS selector parser dropped remaining expression after a function
1054 with parameters.
1055
1056 Other changes
aed2ae39 » scoder
2008-07-09 [svn r3884] r4605@delle: sbehnel | 2008-07-09 15:15:04 +0200
1057 -------------
1058
1059
322d9b06 » scoder
2008-07-09 [svn r3878] r4593@delle: sbehnel | 2008-07-09 13:58:24 +0200
1060 2.1 (2008-07-09)
1061 ================
dd575faa » scoder
2008-06-20 [svn r3836] r4521@delle: sbehnel | 2008-06-20 09:48:46 +0200
1062
1063 Features added
1064 --------------
1065
1638b6b7 » scoder
2008-08-09 [svn r3932] r4726@delle: sbehnel | 2008-08-08 18:02:10 +0200
1066 * Smart strings can be switched off in XPath (``smart_strings``
1067 keyword option).
c4b81bfc » scoder
2008-07-08 [svn r3875] r4587@delle: sbehnel | 2008-07-08 13:58:13 +0200
1068
ab459d9c » scoder
2008-06-22 [svn r3857] r4551@delle: sbehnel | 2008-06-22 11:06:38 +0200
1069 * ``lxml.html.rewrite_links()`` strips links to work around documents
1070 with whitespace in URL attributes.
1071
dd575faa » scoder
2008-06-20 [svn r3836] r4521@delle: sbehnel | 2008-06-20 09:48:46 +0200
1072 Bugs fixed
1073 ----------
1074
302b34fe » scoder
2008-07-09 [svn r3877] r4591@delle: sbehnel | 2008-07-09 13:11:31 +0200
1075 * Custom resolvers were not used for XMLSchema includes/imports and
1076 XInclude processing.
1077
bdfe0079 » scoder
2008-06-22 [svn r3854] r4547@delle: sbehnel | 2008-06-22 10:58:55 +0200
1078 * CSS selector parser dropped remaining expression after a function
1079 with parameters.
1080
4318b25d » scoder
2008-06-22 [svn r3853] r4546@delle: sbehnel | 2008-06-22 10:56:31 +0200
1081 Other changes
1082 -------------
1083
36f56087 » scoder
2008-07-02 [svn r3868] r4573@delle: sbehnel | 2008-07-02 18:18:34 +0200
1084 * ``objectify.enableRecursiveStr()`` was removed, use
1085 ``objectify.enable_recursive_str()`` instead
1086
cb76c6ae » scoder
2008-07-02 [svn r3863] r4560@delle: sbehnel | 2008-06-28 10:51:55 +0200
1087 * Speed-up when running XSLTs on documents from other threads
1088
4318b25d » scoder
2008-06-22 [svn r3853] r4546@delle: sbehnel | 2008-06-22 10:56:31 +0200
1089
1090 2.0.7 (2008-06-20)
1091 ==================
1092
1093 Features added
1094 --------------
1095
1096 * Pickling ``ElementTree`` objects in lxml.objectify.
1097
1098 Bugs fixed
1099 ----------
1100
eddc8e00 » scoder
2008-06-20 [svn r3845] r4524@delle: sbehnel | 2008-06-20 09:53:47 +0200
1101 * Descending dot-separated classes in CSS selectors were not resolved
dd575faa » scoder
2008-06-20 [svn r3836] r4521@delle: sbehnel | 2008-06-20 09:48:46 +0200
1102 correctly.
1103
4318b25d » scoder
2008-06-22 [svn r3853] r4546@delle: sbehnel | 2008-06-22 10:56:31 +0200
1104 * ``ElementTree.parse()`` didn't handle target parser result.
1105
1106 * Potential threading problem in XInclude.
1107
1108 * Crash in Element class lookup classes when the __init__() method of
1109 the super class is not called from Python subclasses.
1110
dd575faa » scoder
2008-06-20 [svn r3836] r4521@delle: sbehnel | 2008-06-20 09:48:46 +0200
1111 Other changes
1112 -------------
1113
4318b25d » scoder
2008-06-22 [svn r3853] r4546@delle: sbehnel | 2008-06-22 10:56:31 +0200
1114 * Non-ASCII characters in attribute values are no longer escaped on
1115 serialisation.
1116
dd575faa » scoder
2008-06-20 [svn r3836] r4521@delle: sbehnel | 2008-06-20 09:48:46 +0200
1117
3bc3fbd3 » scoder
2008-06-19 [svn r3834] r4514@delle: sbehnel | 2008-06-19 13:54:07 +0200
1118 2.1beta3 (2008-06-19)
1119 =====================
8864abe5 » scoder
2008-05-02 [svn r3632] r4141@delle: sbehnel | 2008-05-02 21:47:32 +0200
1120
1121 Features added
1122 --------------
1123
f6371380 » scoder
2008-06-09 [svn r3826] r4502@delle: sbehnel | 2008-06-09 22:52:34 +0200
1124 * Major overhaul of ``tools/xpathgrep.py`` script.
1125
bfcf264b » scoder
2008-06-09 [svn r3822] r4494@delle: sbehnel | 2008-06-09 13:21:39 +0200
1126 * Pickling ``ElementTree`` objects in lxml.objectify.
1127
8fa7400b » scoder
2008-06-02 [svn r3804] r4462@delle: sbehnel | 2008-06-02 20:28:44 +0200
1128 * Support for parsing from file-like objects that return unicode
1129 strings.
1130
a66e76b6 » scoder
2008-05-31 [svn r3780] r4425@delle: sbehnel | 2008-05-30 14:13:38 +0200
1131 * New function ``etree.cleanup_namespaces(el)`` that removes unused
1132 namespace declarations from a (sub)tree (experimental).
1133
bcd105cd » scoder
2008-05-26 [svn r3767] r4402@delle: sbehnel | 2008-05-26 20:32:28 +0200
1134 * XSLT results support the buffer protocol in Python 3.
1135
1136 * Polymorphic functions in ``lxml.html`` that accept either a tree or
1137 a parsable string will return either a UTF-8 encoded byte string, a
1138 unicode string or a tree, based on the type of the input.
1139 Previously, the result was always a byte string or a tree.
1140
3bc3fbd3 » scoder
2008-06-19 [svn r3834] r4514@delle: sbehnel | 2008-06-19 13:54:07 +0200
1141 * Support for Python 2.6 and 3.0 beta.
bcd105cd » scoder
2008-05-26 [svn r3767] r4402@delle: sbehnel | 2008-05-26 20:32:28 +0200
1142
438f5c8a » scoder
2008-05-20 [svn r3686] r4232@delle: sbehnel | 2008-05-19 23:51:31 +0200
1143 * File name handling now uses a heuristic to convert between byte
a66e76b6 » scoder
2008-05-31 [svn r3780] r4425@delle: sbehnel | 2008-05-30 14:13:38 +0200
1144 strings (usually filenames) and unicode strings (usually URLs).
438f5c8a » scoder
2008-05-20 [svn r3686] r4232@delle: sbehnel | 2008-05-19 23:51:31 +0200
1145
bcd105cd » scoder
2008-05-26 [svn r3767] r4402@delle: sbehnel | 2008-05-26 20:32:28 +0200
1146 * Parsing from a plain file object frees the GIL under Python 2.x.
9d7c5356 » scoder
2008-05-08 [svn r3667] r4195@delle: sbehnel | 2008-05-08 17:43:13 +0200
1147
03b6b293 » scoder
2008-05-08 [svn r3664] r4192@delle: sbehnel | 2008-05-07 20:32:28 +0200
1148 * Running ``iterparse()`` on a plain file (or filename) frees the GIL
bcd105cd » scoder
2008-05-26 [svn r3767] r4402@delle: sbehnel | 2008-05-26 20:32:28 +0200
1149 on reading under Python 2.x.
03b6b293 » scoder
2008-05-08 [svn r3664] r4192@delle: sbehnel | 2008-05-07 20:32:28 +0200
1150
a614109b » scoder
2008-05-03 [svn r3636] r4146@delle: sbehnel | 2008-05-03 15:40:45 +0200
1151 * Conversion functions ``html_to_xhtml()`` and ``xhtml_to_html()`` in
b6f60dd1 » scoder
2008-05-06 [svn r3655] r4174@delle: sbehnel | 2008-05-06 19:29:52 +0200
1152 lxml.html (experimental).
a614109b » scoder
2008-05-03 [svn r3636] r4146@delle: sbehnel | 2008-05-03 15:40:45 +0200
1153
b6f60dd1 » scoder
2008-05-06 [svn r3655] r4174@delle: sbehnel | 2008-05-06 19:29:52 +0200
1154 * Most features in lxml.html work for XHTML namespaced tag names
1155 (experimental).
8864abe5 » scoder
2008-05-02 [svn r3632] r4141@delle: sbehnel | 2008-05-02 21:47:32 +0200
1156
1157 Bugs fixed
1158 ----------
1159
20e47add » scoder
2008-06-09 [svn r3821] r4493@delle: sbehnel | 2008-06-09 12:24:15 +0200
1160 * ``ElementTree.parse()`` didn't handle target parser result.
1161
4229ed89 » scoder
2008-06-04 [svn r3805] r4468@delle: sbehnel | 2008-06-04 14:40:14 +0200
1162 * Crash in Element class lookup classes when the __init__() method of
1163 the super class is not called from Python subclasses.
1164
bcd105cd » scoder
2008-05-26 [svn r3767] r4402@delle: sbehnel | 2008-05-26 20:32:28 +0200
1165 * A number of problems related to unicode/byte string conversion of
1166 filenames and error messages were fixed.
1167
1168 * Building on MacOS-X now passes the "flat_namespace" option to the C
1169 compiler, which reportedly prevents build quirks and crashes on this
1170 platform.
1171
091c24d9 » scoder
2008-05-21 [svn r3691] r4249@delle: sbehnel | 2008-05-20 21:50:20 +0200
1172 * Windows build was broken.
1173
3f6b05cb » scoder
2008-05-06 [svn r3654] r4173@delle: sbehnel | 2008-05-06 19:28:55 +0200
1174 * Rare crash when serialising to a file object with certain encodings.
1175
8864abe5 » scoder
2008-05-02 [svn r3632] r4141@delle: sbehnel | 2008-05-02 21:47:32 +0200
1176 Other changes
1177 -------------
1178
5ceb85ba » scoder
2008-06-06 [svn r3819] r4487@delle: sbehnel | 2008-06-06 13:56:34 +0200
1179 * Non-ASCII characters in attribute values are no longer escaped on
1180 serialisation.
1181
390d19c1 » scoder
2008-06-05 [svn r3810] r4474@delle: sbehnel | 2008-06-05 10:03:49 +0200
1182 * Passing non-ASCII byte strings or invalid unicode strings as .tag,
1183 namespaces, etc. will result in a ValueError instead of an
1184 AssertionError (just like the tag well-formedness check).
1185
9c75883e » scoder
2008-05-05 [svn r3645] r4161@delle: sbehnel | 2008-05-05 09:54:55 +0200
1186 * Up to several times faster attribute access (i.e. tree traversal) in
1187 lxml.objectify.
1188
8864abe5 » scoder
2008-05-02 [svn r3632] r4141@delle: sbehnel | 2008-05-02 21:47:32 +0200
1189
d084ad4e » scoder
2008-05-31 [svn r3799] r4444@delle: sbehnel | 2008-05-31 18:58:28 +0200
1190 2.0.6 (2008-05-31)
1191 ==================
1192
1193 Features added
1194 --------------
1195
1196 Bugs fixed
1197 ----------
1198
1199 * Incorrect evaluation of ``el.find("tag[child]")``.
1200
1201 * Windows build was broken.
1202
1203 * Moving a subtree from a document created in one thread into a
1204 document of another thread could crash when the rest of the source
1205 document is deleted while the subtree is still in use.
1206
1207 * Rare crash when serialising to a file object with certain encodings.
1208
1209 Other changes
1210 -------------
1211
1212 * lxml should now build without problems on MacOS-X.
1213
1214
ba7f3e58 » scoder
2008-05-02 [svn r3630] r4138@delle: sbehnel | 2008-05-02 20:16:32 +0200
1215 2.1beta2 (2008-05-02)
1216 =====================
ad96d464 » scoder
2008-04-27 [svn r3606] r4097@delle: sbehnel | 2008-04-27 21:00:32 +0200
1217
1218 Features added
1219 --------------
1220
b121dd85 » scoder
2008-05-02 [svn r3618] r4115@delle: sbehnel | 2008-05-02 09:48:17 +0200
1221 * All parse functions in lxml.html take a ``parser`` keyword argument.
1222
1223 * lxml.html has a new parser class ``XHTMLParser`` and a module
1224 attribute ``xhtml_parser`` that provide XML parsers that are
1225 pre-configured for the lxml.html package.
1226
ad96d464 » scoder
2008-04-27 [svn r3606] r4097@delle: sbehnel | 2008-04-27 21:00:32 +0200
1227 Bugs fixed
1228 ----------
1229
5650aae1 » scoder
2008-05-02 [svn r3625] r4123@delle: sbehnel | 2008-05-02 19:13:17 +0200
1230 * Moving a subtree from a document created in one thread into a
1231 document of another thread could crash when the rest of the source
1232 document is deleted while the subtree is still in use.
1233
ad96d464 » scoder
2008-04-27 [svn r3606] r4097@delle: sbehnel | 2008-04-27 21:00:32 +0200
1234 * Passing an nsmap when creating an Element will no longer strip
1235 redundantly defined namespace URIs. This prevented the definition
1236 of more than one prefix for a namespace on the same Element.
1237
1238 Other changes
1239 -------------
1240
1241 * If the default namespace is redundantly defined with a prefix on the
1242 same Element, the prefix will now be preferred for subelements and
1243 attributes. This allows users to work around a problem in libxml2
1244 where attributes from the default namespace could serialise without
1245 a prefix even when they appear on an Element with a different
1246 namespace (i.e. they would end up in the wrong namespace).
1247
1248
c58f33d0 » scoder
2008-05-01 [svn r3617] r4112@delle: sbehnel | 2008-05-01 12:26:43 +0200
1249 2.0.5 (2008-05-01)
1250 ==================
1251
1252 Features added
1253 --------------
1254
1255 Bugs fixed
1256 ----------
1257
1258 * Resolving to a filename in custom resolvers didn't work.
1259
1260 * lxml did not honour libxslt's second error state "STOPPED", which
1261 let some XSLT errors pass silently.
1262
1263 * Memory leak in Schematron with libxml2 >= 2.6.31.
1264
1265 Other changes
1266 -------------
1267
1268
09bac370 » scoder
2008-04-15 [svn r3545] r3984@delle: sbehnel | 2008-04-15 19:44:25 +0200
1269 2.1beta1 (2008-04-15)
1270 =====================
bd8c6dda » scoder
2008-03-28 [svn r3497] r3897@delle: sbehnel | 2008-03-28 16:57:01 +0100
1271
1272 Features added
1273 --------------
1274
81fdf3ef » scoder
2008-04-15 [svn r3536] r3965@delle: sbehnel | 2008-04-14 12:17:48 +0200
1275 * Error logging in Schematron (requires libxml2 2.6.32 or later).
1276
6ce06d43 » scoder
2008-04-12 [svn r3522] r3943@delle: sbehnel | 2008-04-11 19:39:06 +0200
1277 * Parser option ``strip_cdata`` for normalising or keeping CDATA
c48227a4 » scoder
2008-04-11 [svn r3521] r3936@delle: sbehnel | 2008-04-11 19:31:10 +0200
1278 sections. Defaults to ``True`` as before, thus replacing CDATA
1279 sections by their text content.
1280
1281 * ``CDATA()`` factory to wrap string content as CDATA section.
1282
bd8c6dda » scoder
2008-03-28 [svn r3497] r3897@delle: sbehnel | 2008-03-28 16:57:01 +0100
1283 Bugs fixed
1284 ----------
1285
ea81da4b » scoder
2008-04-15 [svn r3546] r3985@delle: sbehnel | 2008-04-15 19:53:52 +0200
1286 * Resolving to a filename in custom resolvers didn't work.
1287
40e1716b » scoder
2008-04-15 [svn r3542] r3978@delle: sbehnel | 2008-04-15 16:52:51 +0200
1288 * lxml did not honour libxslt's second error state "STOPPED", which
1289 let some XSLT errors pass silently.
1290
01d8c674 » scoder
2008-04-15 [svn r3538] r3967@delle: sbehnel | 2008-04-14 13:11:16 +0200
1291 * Memory leak in Schematron with libxml2 >= 2.6.31.
1292
bd8c6dda » scoder
2008-03-28 [svn r3497] r3897@delle: sbehnel | 2008-03-28 16:57:01 +0100
1293 * lxml.etree accepted non well-formed namespace prefix names.
1294
1295 Other changes
1296 -------------
1297
d540faed » scoder
2008-04-15 [svn r3543] r3980@delle: sbehnel | 2008-04-15 17:42:57 +0200
1298 * Major cleanup in internal ``moveNodeToDocument()`` function, which
1299 takes care of namespace cleanup when moving elements between
1300 different namespace contexts.
1301
84ac2875 » scoder
2008-03-28 [svn r3501] r3901@delle: sbehnel | 2008-03-28 18:11:29 +0100
1302 * New Elements created through the ``makeelement()`` method of an HTML
1303 parser or through lxml.html now end up in a new HTML document
f72054c6 » scoder
2008-03-29 [svn r3503] r3909@delle: sbehnel | 2008-03-29 11:31:53 +0100
1304 (doctype HTML 4.01 Transitional) instead of a generic XML document.
1305 This mostly impacts the serialisation and the availability of a DTD
1306 context.
84ac2875 » scoder
2008-03-28 [svn r3501] r3901@delle: sbehnel | 2008-03-28 18:11:29 +0100
1307
bd8c6dda » scoder
2008-03-28 [svn r3497] r3897@delle: sbehnel | 2008-03-28 16:57:01 +0100
1308
23bba305 » scoder
2008-04-14 [svn r3533] r3957@delle: sbehnel | 2008-04-13 20:12:13 +0200
1309 2.0.4 (2008-04-13)
1310 ==================
1311
1312 Features added
1313 --------------
1314
1315 Bugs fixed
1316 ----------
1317
1318 * Hanging thread in conjunction with GTK threading.
1319
1320 * Crash bug in iterparse when moving elements into other documents.
1321
1322 * HTML elements' ``.cssselect()`` method was broken.
1323
1324 * ``ElementTree.find*()`` didn't accept QName objects.
1325
1326 Other changes
1327 -------------
1328
1329
9ebf9191 » scoder
2008-03-27 [svn r3484] r3856@delle: sbehnel | 2008-03-27 16:44:42 +0100
1330 2.1alpha1 (2008-03-27)
1331 ======================
3b2fde9d » scoder
2008-02-25 [svn r3350] r3614@delle: sbehnel | 2008-02-25 13:46:26 +0100
1332
1333 Features added
1334 --------------
1335
9c29023d » scoder
2008-03-25 [svn r3455] r3824@delle: sbehnel | 2008-03-25 21:58:26 +0100
1336 * New event types 'comment' and 'pi' in ``iterparse()``.
1337
a35e2c6a » scoder
2008-03-03 [svn r3396] r3708@delle: sbehnel | 2008-03-03 17:59:44 +0100
1338 * ``XSLTAccessControl`` instances have a property ``options`` that
1339 returns a dict of access configuration options.
1340
705f9700 » scoder
2008-03-03 [svn r3386] r3698@delle: sbehnel | 2008-03-03 11:49:57 +0100
1341 * Constant instances ``DENY_ALL`` and ``DENY_WRITE`` on
1342 ``XSLTAccessControl`` class.
1343
d04ce6b0 » scoder
2008-03-02 [svn r3379] r3676@delle: sbehnel | 2008-03-02 09:23:16 +0100
1344 * Extension elements for XSLT (experimental!)
fb589415 » scoder
2008-03-02 [svn r3369] r3665@delle: sbehnel | 2008-03-02 08:56:20 +0100
1345
3b2fde9d » scoder
2008-02-25 [svn r3350] r3614@delle: sbehnel | 2008-02-25 13:46:26 +0100
1346 * ``Element.base`` property returns the xml:base or HTML base URL of
1347 an Element.
1348
1349 * ``docinfo.URL`` property is writable.
1350
1351 Bugs fixed
1352 ----------
1353
95845fa9 » scoder
2008-03-05 [svn r3401] r3731@delle: sbehnel | 2008-03-04 22:45:35 +0100
1354 * Default encoding for plain text serialisation was different from
1355 that of XML serialisation (UTF-8 instead of ASCII).
1356
3b2fde9d » scoder
2008-02-25 [svn r3350] r3614@delle: sbehnel | 2008-02-25 13:46:26 +0100
1357 Other changes
1358 -------------
1359
e4c88055 » scoder
2008-03-11 [svn r3422] r3767@delle: sbehnel | 2008-03-11 20:35:06 +0100
1360 * Minor API speed-ups.
9ebcbc02 » scoder
2008-03-09 [svn r3410] r3748@delle: sbehnel | 2008-03-08 19:54:32 +0100
1361
95845fa9 » scoder
2008-03-05 [svn r3401] r3731@delle: sbehnel | 2008-03-04 22:45:35 +0100
1362 * The benchmark suite now uses tail text in the trees, which makes the
1363 absolute numbers incomparable to previous results.
1364
01b7c423 » scoder
2008-03-03 [svn r3394] r3706@delle: sbehnel | 2008-03-03 15:53:29 +0100
1365 * Generating the HTML documentation now requires Pygments_, which is
1366 used to enable syntax highlighting for the doctest examples.
1367
1368 .. _Pygments: http://pygments.org/
1369
314b27ca » scoder
2008-03-03 [svn r3393] r3705@delle: sbehnel | 2008-03-03 15:45:42 +0100
1370 Most long-time deprecated functions and methods were removed:
1371
1372 - ``etree.clearErrorLog()``, use ``etree.clear_error_log()``
1373
1374 - ``etree.useGlobalPythonLog()``, use
1375 ``etree.use_global_python_log()``
1376
1377 - ``etree.ElementClassLookup.setFallback()``, use
1378 ``etree.ElementClassLookup.set_fallback()``
1379
1380 - ``etree.getDefaultParser()``, use ``etree.get_default_parser()``
1381
1382 - ``etree.setDefaultParser()``, use ``etree.set_default_parser()``
1383
1384 - ``etree.setElementClassLookup()``, use
1385 ``etree.set_element_class_lookup()``
1386
1387 Note that ``parser.setElementClassLookup()`` has not been removed
1388 yet, although ``parser.set_element_class_lookup()`` should be used
1389 instead.
1390
1391 - ``xpath_evaluator.registerNamespace()``, use
1392 ``xpath_evaluator.register_namespace()``
1393
1394 - ``xpath_evaluator.registerNamespaces()``, use
1395 ``xpath_evaluator.register_namespaces()``
1396
1397 - ``objectify.setPytypeAttributeTag``, use
1398 ``objectify.set_pytype_attribute_tag``
1399
1400 - ``objectify.setDefaultParser()``, use
1401 ``objectify.set_default_parser()``
b4f0cafc » scoder
2008-03-03 [svn r3388] r3700@delle: sbehnel | 2008-03-03 12:30:47 +0100
1402
3b2fde9d » scoder
2008-02-25 [svn r3350] r3614@delle: sbehnel | 2008-02-25 13:46:26 +0100
1403
cff4f230 » scoder
2008-03-27 [svn r3477] r3849@delle: sbehnel | 2008-03-26 22:14:35 +0100
1404 2.0.3 (2008-03-26)
1405 ==================
b774c2f8 » scoder
2008-03-19 [svn r3449] r3811@delle: sbehnel | 2008-03-19 07:42:53 +0100
1406
1407 Features added
1408 --------------
1409
1410 * soupparser.parse() allows passing keyword arguments on to
1411 BeautifulSoup.
1412
1413 * ``fromstring()`` method in ``lxml.html.soupparser``.
1414
1415 Bugs fixed
1416 ----------
1417
cff4f230 » scoder
2008-03-27 [svn r3477] r3849@delle: sbehnel | 2008-03-26 22:14:35 +0100
1418 * ``lxml.html.diff`` didn't treat empty tags properly (e.g.,
1419 ``<br>``).
1420
08c17a97 » scoder
2008-03-26 [svn r3458] r3830@delle: sbehnel | 2008-03-26 00:14:51 +0100
1421 * Handle entity replacements correctly in target parser.
1422
7aa617f8 » scoder
2008-03-23 [svn r3452] r3820@delle: sbehnel | 2008-03-23 18:48:28 +0100
1423 * Crash when using ``iterparse()`` with XML Schema validation.
1424
b774c2f8 » scoder
2008-03-19 [svn r3449] r3811@delle: sbehnel | 2008-03-19 07:42:53 +0100
1425 * The BeautifulSoup parser (soupparser.py) did not replace entities,
1426 which made them turn up in text content.
1427
1428 * Attribute assignment of custom PyTypes in objectify could fail to
1429 correctly serialise the value to a string.
1430
1431 Other changes
1432 -------------
1433
1434 * ``lxml.html.ElementSoup`` was replaced by a new module
1435 ``lxml.html.soupparser`` with a more consistent API. The old module
1436 remains for compatibility with ElementTree's own ElementSoup module.
1437
1438 * Setting the XSLT_CONFIG and XML2_CONFIG environment variables at
1439 build time will let setup.py pick up the ``xml2-config`` and
1440 ``xslt-config`` scripts from the supplied path name.
1441
1442 * Passing ``--with-xml2-config=/path/to/xml2-config`` to setup.py will
1443 override the ``xml2-config`` script that is used to determine the C
1444 compiler options. The same applies for the ``--with-xslt-config``
1445 option.
1446
1447
05bfe607 » scoder
2008-02-22 [svn r3344] r3605@delle: sbehnel | 2008-02-22 16:12:59 +0100
1448 2.0.2 (2008-02-22)
1449 ==================
005585df » scoder
2008-02-14 [svn r3298] r3511@delle: sbehnel | 2008-02-14 21:10:41 +0100
1450
1451 Features added
1452 --------------
1453
020b4e28 » scoder
2008-02-21 [svn r3318] r3549@delle: sbehnel | 2008-02-19 12:35:22 +0100
1454 * Support passing ``base_url`` to file parser functions to override
1455 the filename of the file(-like) object.
1456
005585df » scoder
2008-02-14 [svn r3298] r3511@delle: sbehnel | 2008-02-14 21:10:41 +0100
1457 Bugs fixed
1458 ----------
1459
a95e56b7 » scoder
2008-02-22 [svn r3335] r3586@delle: sbehnel | 2008-02-22 08:48:54 +0100
1460 * The prefix for objectify's pytype namespace was missing from the set
1461 of default prefixes.
1462
6653cb14 » scoder
2008-02-21 [svn r3323] r3554@delle: sbehnel | 2008-02-19 23:04:07 +0100
1463 * Memory leak in Schematron (fixed only for libxml2 2.6.31+).
1464
a46242c2 » scoder
2008-02-15 [svn r3306] r3526@delle: sbehnel | 2008-02-15 15:12:34 +0100
1465 * Error type names in RelaxNG were reported incorrectly.
1466
005585df » scoder
2008-02-14 [svn r3298] r3511@delle: sbehnel | 2008-02-14 21:10:41 +0100
1467 * Slice deletion bug fixed in objectify.
1468
1469 Other changes
1470 -------------
1471
a95e56b7 » scoder
2008-02-22 [svn r3335] r3586@delle: sbehnel | 2008-02-22 08:48:54 +0100
1472 * Enabled doctests for some Python modules (especially ``lxml.html``).
1473
05bfe607 » scoder
2008-02-22 [svn r3344] r3605@delle: sbehnel | 2008-02-22 16:12:59 +0100
1474 * Add a ``method`` argument to ``lxml.html.tostring()``
ce65451a » ianb
2008-02-18 [svn r3313] Added base_url to signatures of lxml.html.from* methods. …
1475 (``method="xml"`` for XHTML output).
1476
05bfe607 » scoder
2008-02-22 [svn r3344] r3605@delle: sbehnel | 2008-02-22 16:12:59 +0100
1477 * Make it clearer that methods like ``lxml.html.fromstring()`` take a
ce65451a » ianb
2008-02-18 [svn r3313] Added base_url to signatures of lxml.html.from* methods. …
1478 ``base_url`` argument.
1479
005585df » scoder
2008-02-14 [svn r3298] r3511@delle: sbehnel | 2008-02-14 21:10:41 +0100
1480
c4bc50fa » scoder
2008-02-13 [svn r3289] r3489@delle: sbehnel | 2008-02-13 22:30:41 +0100
1481 2.0.1 (2008-02-13)
1482 ==================
5a92fd82 » scoder
2008-02-08 [svn r3265] r3441@delle: sbehnel | 2008-02-08 19:47:51 +0100
1483
1484 Features added
1485 --------------
1486
e6cf0eed » scoder
2008-02-13 [svn r3283] r3468@delle: sbehnel | 2008-02-13 19:52:53 +0100
1487 * Child iteration in ``lxml.pyclasslookup``.
1488
d2661748 » scoder
2008-02-13 [svn r3286] r3471@delle: sbehnel | 2008-02-13 20:29:49 +0100
1489 * Loads of new docstrings reflect the signature of functions and
1490 methods to make them visible in API docs and ``help()``
d341daef » scoder
2008-02-13 [svn r3278] r3463@delle: sbehnel | 2008-02-13 00:07:06 +0100
1491
5a92fd82 » scoder
2008-02-08 [svn r3265] r3441@delle: sbehnel | 2008-02-08 19:47:51 +0100
1492 Bugs fixed
1493 ----------
1494
d1ca51c1 » scoder
2008-02-13 [svn r3280] r3465@delle: sbehnel | 2008-02-13 17:21:12 +0100
1495 * The module ``lxml.html.builder`` was duplicated as
1496 ``lxml.htmlbuilder``
1497
8b0a7273 » scoder
2008-02-13 [svn r3288] r3484@delle: sbehnel | 2008-02-13 21:48:51 +0100
1498 * Form elements would return None for ``form.fields.keys()`` if there
1499 was an unnamed input field. Now unnamed input fields are completely
1500 ignored.
1501
028a69ce » scoder
2008-02-08 [svn r3269] r3448@delle: sbehnel | 2008-02-08 20:37:40 +0100
1502 * Setting an element slice in objectify could insert slice-overlapping
5a92fd82 » scoder
2008-02-08 [svn r3265] r3441@delle: sbehnel | 2008-02-08 19:47:51 +0100
1503 elements at the wrong position.
1504
1505 Other changes
1506 -------------
1507
9826b4da » scoder
2008-02-13 [svn r3290] r3493@delle: sbehnel | 2008-02-13 22:34:59 +0100
1508 * The generated API documentation was cleaned up and disburdened from
1509 non-public classes etc.
1510
7b0df00d » scoder
2008-02-13 [svn r3287] r3472@delle: sbehnel | 2008-02-13 20:31:51 +0100
1511 * The previously public module ``lxml.html.setmixin`` was renamed to
1512 ``lxml.html._setmixin`` as it is not an official part of lxml. If
1513 you want to use it, feel free to copy it over to your own source
1514 base.
1515
0cbf17ed » scoder
2008-02-08 [svn r3272] r3455@delle: sbehnel | 2008-02-08 20:44:45 +0100
1516 * Passing ``--with-xslt-config=/path/to/xslt-config`` to setup.py will
1517 override the ``xslt-config`` script that is used to determine the C
1518 compiler options.
1519
5a92fd82 » scoder
2008-02-08 [svn r3265] r3441@delle: sbehnel | 2008-02-08 19:47:51 +0100
1520
4e30ef1e » scoder
2008-02-01 [svn r3240] r3391@delle: sbehnel | 2008-02-01 14:53:55 +0100
1521 2.0 (2008-02-01)
1522 ================
a04cd56f » scoder
2008-01-28 [svn r3216] r3344@delle: sbehnel | 2008-01-28 08:47:14 +0100
1523
1524 Features added
1525 --------------
1526
c524a066 » scoder
2008-02-01 [svn r3241] r3394@delle: sbehnel | 2008-02-01 15:57:58 +0100
1527 * Passing the ``unicode`` type as ``encoding`` to ``tostring()`` will
1528 serialise to unicode. The ``tounicode()`` function is now
1529 deprecated.
1530
19a59b9e » scoder
2008-01-28 [svn r3220] r3349@delle: sbehnel | 2008-01-28 11:05:44 +0100
1531 * ``XMLSchema()`` and ``RelaxNG()`` can parse from StringIO.
1532
a04cd56f » scoder
2008-01-28 [svn r3216] r3344@delle: sbehnel | 2008-01-28 08:47:14 +0100
1533 * ``makeparser()`` function in ``lxml.objectify`` to create a new
1534 parser with the usual objectify setup.
1535
ade22854 » scoder
2008-01-25 [svn r3203] r3317@delle: sbehnel | 2008-01-25 10:35:30 +0100
1536 * Plain ASCII XPath string results are no longer forced into unicode
e7ada895 » scoder
2008-01-25 [svn r3206] r3326@delle: sbehnel | 2008-01-25 18:23:56 +0100
1537 objects as in 2.0beta1, but are returned as plain strings as before.
ade22854 » scoder
2008-01-25 [svn r3203] r3317@delle: sbehnel | 2008-01-25 10:35:30 +0100
1538
1539 * All XPath string results are 'smart' objects that have a
1540 ``getparent()`` method to retrieve their parent Element.
1541
031f3100 » scoder
2008-01-25 [svn r3200] r3314@delle: sbehnel | 2008-01-25 07:08:35 +0100
1542 * ``with_tail`` option in serialiser functions.
1543
cc23660f » scoder
2008-01-23 [svn r3190] r3293@delle: sbehnel | 2008-01-23 16:40:20 +0100
1544 * More accurate exception messages in validator creation.
1545
b256e542 » scoder
2008-01-11 [svn r3159] r3226@delle: sbehnel | 2008-01-10 20:28:46 +0100
1546 * Parse-time XML schema validation (``schema`` parser keyword).
1547
ebd3fb8f » scoder
2008-01-11 [svn r3158] r3225@delle: sbehnel | 2008-01-10 13:05:13 +0100
1548 * XPath string results of the ``text()`` function and attribute
1549 selection make their Element container accessible through a
d0f44391 » scoder
2008-01-11 [svn r3161] r3237@delle: sbehnel | 2008-01-11 11:54:56 +0100
1550 ``getparent()`` method. As a side-effect, they are now always
1551 unicode objects (even ASCII strings).
ebd3fb8f » scoder
2008-01-11 [svn r3158] r3225@delle: sbehnel | 2008-01-10 13:05:13 +0100
1552
94f2c2f9 » scoder
2008-01-11 [svn r3160] r3227@delle: sbehnel | 2008-01-10 21:14:50 +0100
1553 * ``XSLT`` objects are usable in any thread - at the cost of a deep
1554 copy if they were not created in that thread.
5a42d385 » scoder
2008-01-09 [svn r3148] r3208@delle: sbehnel | 2008-01-05 21:59:36 +0100
1555
94f2c2f9 » scoder
2008-01-11 [svn r3160] r3227@delle: sbehnel | 2008-01-10 21:14:50 +0100
1556 * Invalid entity names and character references will be rejected by
1557 the ``Entity()`` factory.
bf90e352 » scoder
2008-01-04 [svn r3146] r3205@delle: sbehnel | 2008-01-04 19:21:48 +0100
1558
94f2c2f9 » scoder
2008-01-11 [svn r3160] r3227@delle: sbehnel | 2008-01-10 21:14:50 +0100
1559 * ``entity.text`` returns the textual representation of the entity,
1560 e.g. ``&amp;``.
ed1e688b » scoder
2007-12-28 [svn r3137] r3187@delle: sbehnel | 2007-12-28 13:23:37 +0100
1561
fc9736c3 » scoder
2007-12-05 [svn r3077] changelog
1562 * New properties ``position`` and ``code`` on ParseError exception (as
1563 in ET 1.3)
1564
b8800678 » scoder
2007-11-24 [svn r3057] rich comparison of _Attrib objects
1565 * Rich comparison of ``element.attrib`` proxies.
1566
226a1626 » scoder
2007-11-23 [svn r3055] new SAX parser framework + TreeBuilder class implementation
1567 * ElementTree compatible TreeBuilder class.
1568
b8800678 » scoder
2007-11-24 [svn r3057] rich comparison of _Attrib objects
1569 * Use default prefixes for some common XML namespaces.
39bb968c » scoder
2007-11-05 [svn r3046] use default prefixes for common namespaces (following ET …
1570
486ba449 » scoder
2007-10-25 [svn r3005] changelog cleanup
1571 * ``lxml.html.clean.Cleaner`` now allows for a ``host_whitelist``, and
1572 two overridable methods: ``allow_embedded_url(el, url)`` and the
1573 more general ``allow_element(el)``.
1574
b4f8441e » scoder
2007-10-25 [svn r3004] extended slicing in objectify
1575 * Extended slicing of Elements as in ``element[1:-1:2]``, both in
1576 etree and in objectify
0e609fd6 » scoder
2007-10-25 [svn r2998] replaced __getslice__() etc. by __*item__() equivalents a…
1577
80fbfde3 » scoder
2007-10-20 [svn r2969] improved interaction of custom resolvers and XSLT
1578 * Resolvers can now provide a ``base_url`` keyword argument when
1579 resolving a document as string data.
1580
00829094 » ianb
2007-10-14 [svn r2960] Improve doctestcompare a little: NOPARSE_MARKUP option to…
1581 * When using ``lxml.doctestcompare`` you can give the doctest option
1582 ``NOPARSE_MARKUP`` (like ``# doctest: +NOPARSE_MARKUP``) to suppress
1583 the special checking for one test.
1584
93d1a0f4 » scoder
2007-09-26 [svn r2920] some fixes and cleanups in the error_log property, separa…
1585 * Separate ``feed_error_log`` property for the feed parser interface.
72c82158 » scoder
2007-09-26 [svn r2922] changelog
1586 The normal parser interface and ``iterparse`` continue to use
93d1a0f4 » scoder
2007-09-26 [svn r2920] some fixes and cleanups in the error_log property, separa…
1587 ``error_log``.
1588
72c82158 » scoder
2007-09-26 [svn r2922] changelog
1589 * The normal parsers and the feed parser interface are now separated
1590 and can be used concurrently on the same parser instance.
1591
1521c15d » scoder
2007-09-26 [svn r2919] (from/to)stringlist() functions (ET 1.3)
1592 * ``fromstringlist()`` and ``tostringlist()`` functions as in
1593 ElementTree 1.3
1594
34aca56b » scoder
2007-09-21 [svn r2902] preliminary HTML support for iterparse
1595 * ``iterparse()`` accepts an ``html`` boolean keyword argument for
1596 parsing with the HTML parser (note that this interface may be
1597 subject to change)
1598
38b029df » scoder
2007-09-20 [svn r2901] 'encoding' kw argument in parsers to override document en…
1599 * Parsers accept an ``encoding`` keyword argument that overrides the encoding
1600 of the parsed documents.
1601
7d5403f6 » scoder
2007-09-18 [svn r2891] changelog
1602 * New C-API function ``hasChild()`` to test for children
1603
1604 * ``annotate()`` function in objectify can annotate with Python types and XSI
1605 types in one step. Accompanied by ``xsiannotate()`` and ``pyannotate()``.
1606
ed4299b1 » scoder
2007-09-15 [svn r2884] support for selection output method on serialisation
1607 * ``ET.write()``, ``tostring()`` and ``tounicode()`` now accept a keyword
1608 argument ``method`` that can be one of 'xml' (or None), 'html' or 'text' to
1609 serialise as XML, HTML or plain text content.
1610
1d9bbccc » scoder
2007-09-13 [svn r2850] ET 1.3 compatibility updates: iterfind(), new ElementPath…
1611 * ``iterfind()`` method on Elements returns an iterator equivalent to
1612 ``findall()``
1613
6f685156 » scoder
2007-09-13 [svn r2848] itertext() method on elements
1614 * ``itertext()`` method on Elements
1615
23cba6db » scoder
2007-09-12 [svn r2843] accept QName objects as values for attributes and element…
1616 * Setting a QName object as value of the .text property or as an attribute
1617 will resolve its prefix in the respective context
1618
d4138303 » scoder
2007-09-11 [svn r2835] cleanup in parser code, ET-compatible target parser inter…
1619 * ElementTree-like parser target interface as described in
1620 http://effbot.org/elementtree/elementtree-xmlparser.htm
1621
a619ede9 » scoder
2007-09-04 [svn r2825] ET-like feed parser interface
1622 * ElementTree-like feed parser interface on XMLParser and HTMLParser
1623 (``feed()`` and ``close()`` methods)
1624
a05afeaa » scoder
2007-09-01 [svn r2810] made annotation in objectify.ElementMaker optional throug…
1625 * Reimplemented ``objectify.E`` for better performance and improved
1626 integration with objectify. Provides extended type support based on
1627 registered PyTypes.
1628
7c45ed72 » scoder
2007-08-31 [svn r2802] preliminary implementation of deep copy support for XSLT
1629 * XSLT objects now support deep copying
1630
db8c5740 » scoder
2007-08-31 [svn r2796] changelog update
1631 * New ``makeSubElement()`` C-API function that allows creating a new
1632 subelement straight with text, tail and attributes.
1633
7e082ad8 » scoder
2007-08-24 [svn r2764] provide the context node and a propagated evaluation cont…
1634 * XPath extension functions can now access the current context node
1635 (``context.context_node``) and use a context dictionary
1636 (``context.eval_context``) from the context provided in their first
1637 parameter
1638
7fe6795d » scoder
2007-08-18 [svn r2750] integrated lxml.html
1639 * HTML tag soup parser based on BeautifulSoup in ``lxml.html.ElementSoup``
1640
1641 * New module ``lxml.doctestcompare`` by Ian Bicking for writing simplified
1642 doctests based on XML/HTML output. Use by importing ``lxml.usedoctest`` or
1643 ``lxml.html.usedoctest`` from within a doctest.
1644
1645 * New module ``lxml.cssselect`` by Ian Bicking for selecting Elements with CSS
1646 selectors.
1647
f203266a » scoder
2007-08-18 [svn r2751] cleanup
1648 * New package ``lxml.html`` written by Ian Bicking for advanced HTML
1649 treatment.
34f133b0 » scoder
2007-08-16 [svn r2739] support for retrieving the DTD defined internally in a do…
1650
7b6e9186 » scoder
2007-07-21 [svn r2686] namespace class registry is now local to the ElementNames…
1651 * Namespace class setup is now local to the ``ElementNamespaceClassLookup``
1652 instance and no longer global.
1653
7fe6795d » scoder
2007-08-18 [svn r2750] integrated lxml.html
1654 * Schematron validation (incomplete in libxml2)
84e7865d » scoder
2007-07-20 [svn r2671] schematron support in changelog
1655
55a6a00b » scoder
2007-09-02 [svn r2813] pre-release cleanup
1656 * Additional ``stringify`` argument to ``objectify.PyType()`` takes a
1657 conversion function to strings to support setting text values from arbitrary
1658 types.
d2e3b788 » scoder
2007-07-04 [svn r2599] extended type support for objectify.E based on registered…
1659
782201b5 » scoder
2007-07-21 [svn r2672] cleanup before 1.3.3 release
1660 * Entity support through an ``Entity`` factory and element classes. XML
3e6b97fa » scoder
2007-06-25 [svn r2529] changelog consolidation
1661 parsers now have a ``resolve_entities`` keyword argument that can be set to
1662 False to keep entities in the document.
1663
1664 * ``column`` field on error log entries to accompany the ``line`` field
1665
1666 * Error specific messages in XPath parsing and evaluation
1667 NOTE: for evaluation errors, you will now get an XPathEvalError instead of
1668 an XPathSyntaxError. To catch both, you can except on ``XPathError``
1669
1670 * The regular expression functions in XPath now support passing a node-set
1671 instead of a string
1672
1673 * Extended type annotation in objectify: new ``xsiannotate()`` function
1674
1675 * EXSLT RegExp support in standard XPath (not only XSLT)
1676
007f3769 » scoder
2007-06-24 [svn r2522] release merges from 1.3
1677 Bugs fixed
1678 ----------
1679
5dd0b01f » scoder
2008-04-24 [svn r3598] r4068@delle: sbehnel | 2008-04-24 19:56:09 +0200
1680 * Missing import in ``lxml.html.clean``.
1681
1682 * Some Python 2.4-isms prevented lxml from building/running under
1683 Python 2.3.
1684
1685 * XPath on ElementTrees could crash when selecting the virtual root
1686 node of the ElementTree.
1687
1688 * Compilation ``--without-threading`` was buggy in alpha5/6.
1689
1690 * Memory leak in the ``parse()`` function.
1691
1692 * Minor bugs in XSLT error message formatting.
1693
1694 * Result document memory leak in target parser.
1695
1696 * Target parser failed to report comments.
1697
1698 * In the ``lxml.html`` ``iter_links`` method, links in ``<object>``
1699 tags weren't recognized. (Note: plugin-specific link parameters
1700 still aren't recognized.) Also, the ``<embed>`` tag, though not
1701 standard, is now included in ``lxml.html.defs.special_inline_tags``.
1702
1703 * Using custom resolvers on XSLT stylesheets parsed from a string
1704 could request ill-formed URLs.
1705
1706 * With ``lxml.doctestcompare`` if you do ``<tag xmlns="...">`` in your
1707 output, it will then be namespace-neutral (before the ellipsis was
1708 treated as a real namespace).
1709
1710 * AttributeError in feed parser on parse errors
1711
1712 * XML feed parser setup problem
1713
1714 * Type annotation for unicode strings in ``DataElement()``
1715
1716 * lxml failed to serialise namespace declarations of elements other than the
1717 root node of a tree
1718
1719 * Race condition in XSLT where the resolver context leaked between concurrent
1720 XSLT calls
1721
e4509a77 » scoder
2007-07-18 [svn r2662] only accept well-formed tag names at the API level
1722 * lxml.etree did not check tag/attribute names
1723
79f85cdc » scoder
2007-06-25 [svn r2530] changelog cleanup after release of 1.3
1724 * The XML parser did not report undefined entities as error
1725
1726 * The text in exceptions raised by XML parsers, validators and XPath
1727 evaluators now reports the first error that occurred instead of the last
1728
7b6e9186 » scoder
2007-07-21 [svn r2686] namespace class registry is now local to the ElementNames…
1729 * Passing '' as XPath namespace prefix did not raise an error
79f85cdc » scoder
2007-06-25 [svn r2530] changelog cleanup after release of 1.3
1730
1731 * Thread safety in XPath evaluators
1732
007f3769 » scoder
2007-06-24 [svn r2522] release merges from 1.3
1733 Other changes
1734 -------------
1735
5dd0b01f » scoder
2008-04-24 [svn r3598] r4068@delle: sbehnel | 2008-04-24 19:56:09 +0200
1736 * Exceptions carry only the part of the error log that is related to
1737 the operation that caused the error.
1738
1739 * ``XMLSchema()`` and ``RelaxNG()`` now enforce passing the source
1740 file/filename through the ``file`` keyword argument.
1741
1742 * The test suite now skips most doctests under Python 2.3.
1743
1744 * ``make clean`` no longer removes the .c files (use ``make
1745 realclean`` instead)
1746
1747 * Minor performance tweaks for Element instantiation and subelement
1748 creation
1749
1750 * Various places in the XPath, XSLT and iteration APIs now require
1751 keyword-only arguments.
1752
1753 * The argument order in ``element.itersiblings()`` was changed to
1754 match the order used in all other iteration methods. The second
1755 argument ('preceding') is now a keyword-only argument.
1756
1757 * The ``getiterator()`` method on Elements and ElementTrees was
1758 reverted to return an iterator as it did in lxml 1.x. The ET API
1759 specification allows it to return either a sequence or an iterator,
1760 and it traditionally returned a sequence in ET and an iterator in
1761 lxml. However, it is now deprecated in favour of the ``iter()``
1762 method, which should be used in new code wherever possible.
1763
1764 * The 'pretty printed' serialisation of ElementTree objects now
1765 inserts newlines at the root level between processing instructions,
1766 comments and the root tag.
1767
1768 * A 'pretty printed' serialisation is now terminated with a newline.
1769
1770 * Second argument to ``lxml.etree.Extension()`` helper is no longer
1771 required, third argument is now a keyword-only argument ``ns``.
1772
1773 * ``lxml.html.tostring`` takes an ``encoding`` argument.
1774
1775 * The module source files were renamed to "lxml.*.pyx", such as
1776 "lxml.etree.pyx". This was changed for consistency with the way
1777 Pyrex commonly handles package imports. The main effect is that
1778 classes now know about their fully qualified class name, including
1779 the package name of their module.
1780
1781 * Keyword-only arguments in some API functions, especially in the
1782 parsers and serialisers.
1783
1784 * Tag name validation in lxml.etree (and lxml.html) now distinguishes
1785 between HTML tags and XML tags based on the parser that was used to
1786 parse or create them. HTML tags no longer reject any non-ASCII
1787 characters in tag names but only spaces and the special characters
1788 ``<>&/"'``.
1789
1790 * lxml.etree now emits a warning if you use XPath with libxml2 2.6.27
1791 (which can crash on certain XPath errors)
1792
1793 * Type annotation in objectify now preserves the already annotated type by
1794 default to prevent loosing type information that is already there.
1795
1796 * ``element.getiterator()`` returns a list, use ``element.iter()`` to retrieve
1797 an iterator (ElementTree 1.3 compatible behaviour)
1798
57213435 » scoder
2007-08-13 [svn r2731] Changelog cleanup
1799 * objectify.PyType for None is now called "NoneType"
2ccb0a99 » scoder
2007-08-13 [svn r2728] changelog update
1800
c2f4c480 » scoder
2007-07-27 [svn r2709] new method el.iter() as future replacement of el.getitera…
1801 * ``el.getiterator()`` renamed to ``el.iter()``, following ElementTree 1.3 -
1802 original name is still available as alias
1803
0025063a » scoder
2007-07-21 [svn r2683] C-API: replaced findOrBuildNodeNs() by more generic findO…
1804 * In the public C-API, ``findOrBuildNodeNs()`` was replaced by the more
1805 generic ``findOrBuildNodeNsPrefix``
1806
7b6e9186 » scoder
2007-07-21 [svn r2686] namespace class registry is now local to the ElementNames…
1807 * Major refactoring in XPath/XSLT extension function code
79f85cdc » scoder
2007-06-25 [svn r2530] changelog cleanup after release of 1.3
1808
7b6e9186 » scoder
2007-07-21 [svn r2686] namespace class registry is now local to the ElementNames…
1809 * Network access in parsers disabled by default
1a103163 » scoder
2007-07-21 [svn r2684] mark 'no_network' parser default done for 2.0
1810
007f3769 » scoder
2007-06-24 [svn r2522] release merges from 1.3
1811
5dd0b01f » scoder
2008-04-24 [svn r3598] r4068@delle: sbehnel | 2008-04-24 19:56:09 +0200
1812 1.3.6 (2007-10-29)
1813 ==================
1814
1815 Bugs fixed
1816 ----------
1817
1818 * Backported decref crash fix from 2.0
1819
1820 * Well hidden free-while-in-use crash bug in ObjectPath
1821
1822 Other changes
1823 -------------
1824
1825 * The test suites now run ``gc.collect()`` in the ``tearDown()``
1826 methods. While this makes them take a lot longer to run, it also
1827 makes it easier to link a specific test to garbage collection
1828 problems that would otherwise appear in later tests.
1829
1830
1831 1.3.5 (2007-10-22)
1832 ==================
1833
1834 Features added
1835 --------------
1836
1837 Bugs fixed
1838 ----------
1839
1840 * lxml.etree could crash when adding more than 10000 namespaces to a
1841 document
1842
1843 * lxml failed to serialise namespace declarations of elements other
1844 than the root node of a tree
1845
1846
417b1ff0 » scoder
2007-08-30 [svn r2789] release updates
1847 1.3.4 (2007-08-30)
57213435 » scoder
2007-08-13 [svn r2731] Changelog cleanup
1848 ==================
1849
49ef0035 » scoder
2007-08-29 [svn r2773] doc updates
1850 Features added
1851 --------------
1852
54f3822b » scoder
2007-08-29 [svn r2776] let ElementMaker accept 'namespace' and 'nsmap' keywords …
1853 * The ``ElementMaker`` in ``lxml.builder`` now accepts the keyword arguments
1854 ``namespace`` and ``nsmap`` to set a namespace and nsmap for the Elements it
1855 creates.
1856
7fe6795d » scoder
2007-08-18 [svn r2750] integrated lxml.html
1857 * The ``docinfo`` on ElementTree objects has new properties ``internalDTD``
1858 and ``externalDTD`` that return a DTD object for the internal or external
1859 subset of the document respectively.
1860
57213435 » scoder
2007-08-13 [svn r2731] Changelog cleanup
1861 * Serialising an ElementTree now includes any internal DTD subsets that are
1862 part of the document, as well as comments and PIs that are siblings of the
1863 root node.
1864
1865 Bugs fixed
1866 ----------
1867
1868 * Parsing with the ``no_network`` option could fail
1869
1870 Other changes
1871 -------------
1872
417b1ff0 » scoder
2007-08-30 [svn r2789] release updates
1873 * lxml now raises a TagNameWarning about tag names containing ':' instead of
1874 an Error as 1.3.3 did. The reason is that a number of projects currently
1875 misuse the previous lack of tag name validation to generate namespace
1876 prefixes without declaring namespaces. Apart from the danger of generating
1877 broken XML this way, it also breaks most of the namespace-aware tools in
1878 XML, including XPath, XSLT and validation. lxml 1.3.x will continue to
1879 support this bug with a Warning, while lxml 2.0 will be strict about
1880 well-formed tag names (not only regarding ':').
1881
57213435 » scoder
2007-08-13 [svn r2731] Changelog cleanup
1882 * Serialising an Element no longer includes its comment and PI siblings (only
1883 ElementTree serialisation includes them).
1884
1885
ad74b4fa » scoder
2007-07-27 [svn r2708] 1.3.3 release date
1886 1.3.3 (2007-07-26)
1887 ==================
782201b5 » scoder
2007-07-21 [svn r2672] cleanup before 1.3.3 release
1888
1889 Features added
1890 --------------
1891
1892 * ElementTree compatible parser ``ETCompatXMLParser`` strips processing
1893 instructions and comments while parsing XML
1894
1895 * Parsers now support stripping PIs (keyword argument 'remove_pis')
1896
1897 * ``etree.fromstring()`` now supports parsing both HTML and XML, depending on
1898 the parser you pass.
1899
1900 * Support ``base_url`` keyword argument in ``HTML()`` and ``XML()``
1901
1902 Bugs fixed
1903 ----------
1904
1905 * Parsing from Python Unicode strings failed on some platforms
1906
1907 * ``Element()`` did not raise an exception on tag names containing ':'
1908
1909 * ``Element.getiterator(tag)`` did not accept ``Comment`` and
1910 ``ProcessingInstruction`` as tags. It also accepts ``Element`` now.
1911
1912
374dc2c3 » scoder
2007-07-03 [svn r2593] merged in 1.3.2 release updates from 1.3 branch
1913 1.3.2 (2007-07-03)
1914 ==================
1915
1916 Features added
1917 --------------
1918
1919 Bugs fixed
1920 ----------
1921
1922 * "deallocating None" crash bug
1923
1924
b8ea7076 » scoder
2007-07-02 [svn r2570] merged in release changes for 1.3.1
1925 1.3.1 (2007-07-02)
1926 ==================
1927
1928 Features added
1929 --------------
1930
1931 * objectify.DataElement now supports setting values from existing data
1932 elements (not just plain Python types) and reuses defined namespaces etc.
1933
1934 * E-factory support for lxml.objectify (``objectify.E``)
1935
1936 Bugs fixed
1937 ----------
1938
1939 * Better way to prevent crashes in Element proxy cleanup code
1940
1941 * objectify.DataElement didn't set up None value correctly
1942
1943 * objectify.DataElement didn't check the value against the provided type hints
1944
1945 * Reference-counting bug in ``Element.attrib.pop()``
1946
1947
007f3769 » scoder
2007-06-24 [svn r2522] release merges from 1.3
1948 1.3 (2007-06-24)
1949 ================
1950
1951 Features added
1952 --------------
1953
3e6b97fa » scoder
2007-06-25 [svn r2529] changelog consolidation
1954 * Module ``lxml.pyclasslookup`` module implements an Element class lookup
1955 scheme that can access the entire tree in read-only mode to help determining
1956 a suitable Element class
4b524188 » scoder
2007-06-15 [svn r2474] added remove_comments keyword argument to parsers to skip…
1957
3e6b97fa » scoder
2007-06-25 [svn r2529] changelog consolidation
1958 * Parsers take a ``remove_comments`` keyword argument that skips over comments
ba96e08d » scoder
2007-05-29 [svn r2347] Entity support at the API level
1959
53052d65 » scoder
2007-05-23 [svn r2333] parse() function in objectify
1960 * ``parse()`` function in ``objectify``, corresponding to ``XML()`` etc.
1961
6f8d008c » scoder
2007-05-05 [svn r2248] comment/PI fixes for lxml.sax, support for serialising to…
1962 * ``Element.addnext(el)`` and ``Element.addprevious(el)`` methods to support
1963 adding processing instructions and comments around the root node
1964
5f20d706 » scoder
2007-05-14 [svn r2301] cleanup
1965 * ``Element.attrib`` was missing ``clear()`` and ``pop()`` methods
d87feeb4 » scoder
2007-04-15 [svn r2228] support for element.attrib.pop()
1966
bac48e6d » scoder
2007-04-10 [svn r2225] Holger's patch for type annotations in objectify
1967 * Extended type annotation in objectify: cleaner annotation namespace setup
3e6b97fa » scoder
2007-06-25 [svn r2529] changelog consolidation
1968 plus new ``deannotate()`` function
bac48e6d » scoder
2007-04-10 [svn r2225] Holger's patch for type annotations in objectify
1969
6f8d008c » scoder
2007-05-05 [svn r2248] comment/PI fixes for lxml.sax, support for serialising to…
1970 * Support for custom Element class instantiation in lxml.sax: passing a
9d810bcc » scoder
2007-05-05 [svn r2249] support passing a node-set instead of a string in XPath r…
1971 ``makeelement`` function to the ElementTreeContentHandler will reuse the
6f8d008c » scoder
2007-05-05 [svn r2248] comment/PI fixes for lxml.sax, support for serialising to…
1972 lookup context of that function
7741ca13 » scoder
2007-04-07 [svn r2222] support for custom Element class instantiation in lxml.sax
1973
98f9d863 » scoder
2007-04-07 [svn r2221] support '.' as identity ObjectPath
1974 * '.' represents empty ObjectPath (identity)
1975
79e2ed96 » scoder
2007-03-22 [svn r2212] cleanup
1976 * ``Element.values()`` to accompany the existing ``.keys()`` and ``.items()``
598f3365 » scoder
2007-03-22 [svn r2211] lxml.pyclasslookup - element class lookup mechanism with …
1977
1978 * ``collectAttributes()`` C-function to build a list of attribute
1979 keys/values/items for a libxml2 node
1980
3e6b97fa » scoder
2007-06-25 [svn r2529] changelog consolidation
1981 * ``DTD`` validator class (like ``RelaxNG`` and ``XMLSchema``)
1982
1983 * HTML generator helpers by Fredrik Lundh in ``lxml.htmlbuilder``
1984
1985 * ``ElementMaker`` XML generator by Fredrik Lundh in ``lxml.builder.E``
1986
1987 * Support for pickeling ``objectify.ObjectifiedElement`` objects to XML
1988
1989 * ``update()`` method on Element.attrib
1990
1991 * Optimised replacement for libxml2's _xmlReconsiliateNs(). This allows lxml
1992 a better handling of namespaces when moving elements between documents.
1993
598f3365 » scoder
2007-03-22 [svn r2211] lxml.pyclasslookup - element class lookup mechanism with …
1994 Bugs fixed
1995 ----------
1996
1d2679b5 » scoder
2007-06-22 [svn r2507] make removed nodes ns-self-contained
1997 * Removing Elements from a tree could make them loose their namespace
1998 declarations
1999
d6d59fc9 » scoder
2007-06-21 [svn r2492] ElementInclude didn't honour base URL of source document
2000 * ``ElementInclude`` didn't honour base URL of original document
2001
400a384b » scoder
2007-06-12 [svn r2413] fix: replacing the children slice of an Element cut off t…
2002 * Replacing the children slice of an Element would cut off the tails of the
2003 original children
2004
79f85cdc » scoder
2007-06-25 [svn r2530] changelog cleanup after release of 1.3
2005 * ``Element.getiterator(tag)`` did not accept ``Comment`` and
2006 ``ProcessingInstruction`` as tags
ba96e08d » scoder
2007-05-29 [svn r2347] Entity support at the API level
2007
79f85cdc » scoder
2007-06-25 [svn r2530] changelog cleanup after release of 1.3
2008 * API functions now check incoming strings for XML conformity. Zero bytes or
2009 low ASCII characters are no longer accepted (AssertionError).
56be84bd » scoder
2007-05-26 [svn r2334] display first error in exception string instead of last one
2010
aa1a2c8b » scoder
2007-05-23 [svn r2331] pass resolver context on to imported XSLT documents
2011 * XSLT parsing failed to pass resolver context on to imported documents
2012
b59e42e4 » scoder
2007-05-15 [svn r2305] empty (non-None) string prefixes handled as None instead …
2013 * passing '' as namespace prefix in nsmap could be passed through to libxml2
2014
44a08941 » scoder
2007-05-14 [svn r2303] objectify didn't handle prefixed type names in xsi:type
2015 * Objectify couldn't handle prefixed XSD type names in ``xsi:type``
2016
fb11da50 » scoder
2007-05-11 [svn r2286] clear() method on Element.attrib
2017 * More ET compatible behaviour when writing out XML declarations or not
2018
93f424ee » scoder
2007-05-11 [svn r2285] more robust error handling in iterparse()
2019 * More robust error handling in ``iterparse()``
2020
6f8d008c » scoder
2007-05-05 [svn r2248] comment/PI fixes for lxml.sax, support for serialising to…
2021 * Documents lost their top-level PIs and comments on serialisation
2022
2023 * lxml.sax failed on comments and PIs. Comments are now properly ignored and
2024 PIs are copied.
2025
2d562f38 » scoder
2007-02-27 [svn r2181] integrated changelog from 1.2.1 release
2026 * Possible memory leaks in namespace handling when moving elements between
2027 documents
2028
2029 Other changes
2030 -------------
2031
2032 * major restructuring in the documentation
2033
2034
2035 1.2.1 (2007-02-27)
2036 ==================
2037
2038 Bugs fixed
2039 ----------
2040
7c1dab23 » scoder
2007-02-27 [svn r2179] note on build fixes in changelog
2041 * Build fixes for MS compiler
2042
14a92172 » scoder
2007-02-26 [svn r2165] test and fix for 'element[item]' assignment in objectify:…
2043 * Item assignments to special names like ``element["text"]`` failed
2044
752b974a » scoder
2007-02-25 [svn r2155] keep track of removed redundant namespace declarations an…
2045 * Renamed ObjectifiedDataElement.__setText() to _setText() to make it easier
e01c3be0 » scoder
2007-02-21 [svn r2123] renamed ObjectifiedDataElement.__setText() to _setText() …
2046 to access
2047
2048 * The pattern for attribute names in ObjectPath was too restrictive
2049
64992bce » scoder
2007-02-21 [svn r2122] be less restrictive wrt attribute names in ObjectPath
2050
2940d9b6 » scoder
2007-02-20 [svn r2115] release date
2051 1.2 (2007-02-20)