Imported Upstream version 2.35.1
[platform/upstream/libxml++.git] / NEWS
1 2.35.1 (unstable):
2
3 * Handle attributes with default values correctly.
4   (Kjell Ahlstedt) Bug #669635.
5 * Improved handling of entity references and processing instructions.
6   (Kjell Ahlstedt) Bug #669481
7 * Parser: Throw more detailed error messages.
8   (Kjell Ahlstedt) Bug #304020 (Virgile Devaux)
9 * Document: Make the Document(xmlDoc*) constructor protected.
10   (Murray Cumming) Bug #668980 (A. Pignotti).
11
12 2.34.2 (stable):
13
14 * Element: Add add_child_cdata(), like the existing add_child_text().
15 * Node::create_new_child_node(): Use the default namespace if none is specified.
16   (Mathias Lorente) Bug #656110
17 * Documentation: Fix a markup typo.
18   (Murray Cumming)
19         
20 2.34.1 (stable):
21
22 * Do not require mm-common during the tarball build.
23   (Murray Cumming)
24
25 2.34.0 (stable):
26
27 Major changes since 2.32:
28
29 * Allow separate and multi-threaded libxml2 usage by
30   not using the global xmlRegisterNodeDefault() and xmlDeregisterNodeDefault()
31   callbacks.
32   (Alessandro Pignotti)
33 * Do not call xmlCleanupParser() when the library is unloaded,
34   because it is brutal and can break other parts of applications that try to
35   use libxml separately.
36   (Murray Cumming)
37
38 2.33.2 (unstable):
39
40 * Node::remove_child(): Fix a memory management problem introduced in
41   2.33.1.
42   (Murray Cumming)
43 * Document::do_write_to_stream(), Schema::set_document(): Check the results from
44         xmlSchemaNewDocParserCtxt() and xmlSaveFormatFileTo().
45   (Murray Cumming) Bug #635846 (Markus Elfring)
46
47 2.33.1 (unstable):
48
49 * (Hopefully) allow separate and multi-threaded libxml2 usage by
50   not using the global xmlRegisterNodeDefault() and xmlDeregisterNodeDefault()
51   callbacks.
52   (Alessandro Pignotti)
53 * Do not call xmlCleanupParser() when the library is unloaded,
54   because it is brutal and can break other parts of applications that try to
55   use libxml separately.
56   (Murray Cumming)
57 * Minor code improvement.
58   (Knut Aksel Røysland)
59 * Build: Build the examples by default.
60   (Murray Cumming)
61
62 2.32.0 (stable):
63
64 * Node::find(): Check xmlNode::type for a XML_NAMESPACE_DECL to prevent a
65   crash/corruption.
66   (Murray Cumming) Bug #386013 (Max Kirillov)
67 * Build: Added an MSVC .net 2010 and 64-bit Windows builds.
68   (Armin Burgmeier)
69
70 2.30.1 (stable):
71
72 * Documentation:
73   - Added main page doxygen text.
74   (David King, Murray Cumming)
75   - Show NodeList.
76   (Murray Cumming) Bug #583412 (Hubert Figuiere).
77   - Correct some @newin tags.
78   (Murray Cumming)
79
80 2.30.0(stable):
81
82 * Build system rewrite.
83 * Use mm-common for reference documentation generation. Fixes GNOME bugs
84   #583411 (Hubert Figuiere), #614260 (David King) and #551501 (Johannes Schmid)
85 * Fix several compiler warnings.
86 * Use 0 instead of NULL. (Murray Cumming)
87
88 2.26.1(stable):
89
90 * Build fixes
91 * Build without exceptions
92
93 2.26.0(stable):
94
95 * Increased version number to match GNOME 2.26.
96
97 2.24.3 (stable):
98
99 * TextReader: Actually throw exceptions on errors.
100   (This breaks ABI but we do not believe that this class could be used with
101   this problem so it should not actually break any application.)
102   Bug #348006.
103 * Build: Windows: Remove unnecessary vsnprint define.
104   (Armin Burgmeier)
105
106 2.24.2 (stable):
107
108 * Fixed another two memory leaks.
109   (Armin Burgmeier) Bug #563321 (Arjan Franzen)
110 * Removed obsolete MSVC6 project files
111   (Armin Burgmeier)
112
113 2.24.1 (stable):
114
115 * Added new Schema and SchemaValidator classes to MSVC project files
116   (Arjan Franzen, Arming Burgmeier) Bug #563664.
117 * Avoid a memory leak in Validator::check_for_exception.
118   (Arjan Franzen, Murray Cumming) Bug #563321.
119 * Avoid a memory leak in schema class.
120   (Balazs Tirpak, Murray Cumming) Bug #312216.
121
122 2.24.0 (stable):
123
124 Changes since 2.22:
125
126 * Attribute: Return the correct value even when using a namespace.
127   (Murray Cumming) Bug #547689 (Sergei Fedorov)
128 * Added Schema and SchemaValidator classes, demonstrated in
129   examples/schemavalidation.
130   (Emilien KIA) Bug #312216.
131 * Element: Added add_child_text() with a previous_node parameter, for adding
132   between existing nodes. Added add_child_text_before() too.
133 * Node: Added add_child() with a previous_node parameter, for adding between
134   existing nodes. Added add_child_before() too.
135   (Murray Cumming)
136 * SaxParser: added parse_chunk_raw().
137   (Armin Burgmeier)
138
139
140 2.23.3 (unstable):
141
142 * Attribute: Return the correct value even when using a namespace.
143   (Murray Cumming) Bug #547689 (Sergei Fedorov)
144 * Fixed MSVC++ Windows build.
145   (Armin Burgmeier)
146
147 2.23.2 (unstable):
148
149 * SaxParser: added parse_chunk_raw().
150   (Armin Burgmeier)
151 * examples: sax_parser: Catch convert errors when printing an exception to
152   std:cout, though libxml++/libxml should always supply valid UTF-8.
153   (Murray Cumming)
154
155 2.23.1 (unstable):
156
157 * Added Schema and SchemaValidator classes, demonstrated in
158   examples/schemavalidation.
159   (Emilien KIA) Bug #312216.
160 * Element: Added add_child_text() with a previous_node parameter, for adding
161   between existing nodes. Added add_child_text_before() too.
162 * Node: Added add_child() with a previous_node parameter, for adding between
163   existing nodes. Added add_child_before() too.
164   (Murray Cumming)
165
166 2.22.0 (stable):
167
168 * Document: Fix a memory leak, by calling xmlCleanupParser
169   in the destructor.
170   (Deng Xiyue) Bug #501168 (Matt G.)
171 * Build: Fix the build with gcc 4.3 pre-releases.
172   (Martin Michlmayr) Bug #510053.
173
174 2.20.0 (stable):
175
176 Changes since 2.18:
177 * Element: Added get_attribute_value(),
178   to get a simple text value for an attribute.
179   (Stef Walter) Bug #373573.
180 * Added an experimental --enable-api-exceptions
181   configure option, to allow libxml++ to build without
182   exceptions.
183   (Murray Cumming)
184
185 2.19.2 (unstable):
186
187 * Added an experimental --enable-api-exceptions
188   configure option, to allow libxml++ to build without
189   exceptions.
190
191 2.19.1(unstable):
192
193 * Element.h: Added get_attribute_value(),
194   to get a simple text value for an attribute.
195   (Stef Walter) Bug #373573.
196
197 2.18.2 (stable):
198
199 * TextReader: get_name(): Fixed a memory leak.
200   (Christophe de Vienne) Bug #447535.
201
202 2.18.1 (stable):
203
204 * Document::add_comment,
205   Element: add_child_text(), add_child_comment():
206   avoid accessing freed memory. (Murray Cumming)
207
208 2.18.0(stable):
209
210 * Slight win32 build improvement, possibly.
211   (Artur Wegele)
212 * Slight improvement to examples.
213   (Murray Cumming)
214
215 2.17.2 (unstable):
216
217 * Node: Adedd get_next_sibling() and get_previous_sibling().
218   Bug #351867.
219   (Nate Nielsen)
220
221 2.17.1 (unstable):
222
223 * Node: Added get_parent() Bug #351876 (Patch by Nate Nielsen)
224 * TextReader: Added TextReader(const char* data) constructor, for
225   parsing memory buffers. Bug #351215 (Patch by Nate Nielsen)
226 * Element::set_attribute(): Really return the new attribute.
227   Bug #361950 (Patch by Nate Nielsen)
228 * Build: Added MS Visual Studio 2005 project files.
229   (Cedric Gustin)
230
231
232 2.14 (stable):
233
234 * Documentation:
235   - Improved ContentNode documentation (Murray Cumming)
236
237 2.13.1 (unstable):
238
239 * First unstable 2.13.x release, to become stable 2.14.x, for GNOME 2.14.
240 * Node:
241   - Added find() overload that takes namespaces to register during the search,
242   using xmlXPathRegisterNs(). Bug #323935. (Robert Fleming)
243   - set_namespace(): When creating a default namespace, avoid the
244   "The namespace () has not been declared" warning, by passing 0 to
245   xmlSearchNs() instead of an empty string. Bug #318186.
246   (Erik Oestby).
247 * Build: Fix buildir!=srcdir builds. Bug #319863.(Vadim Zeitlin)
248 * Documentation:
249   - Tutorial: Mention pkg-config.
250   - Reference: Grammar fixes and a small fix for find().
251   (Murray Cumming)
252
253 2.12.0 (stable):
254
255 * Added the state "Reading" to xml Reader States list.
256
257 2.11.0 (unstable):
258
259 * First unstable 2.11.x release, to become stable 2.12.x
260 * Fixed Document::set_entity_declaration behavior (Murray Cumming)
261 * Updated MSVC.Net2003 project files (Cedric Gustin)
262 * Fixed bugs #301727, #301712, #156352, #161825, #307481, #314419
263
264 2.10.0 (stable):
265
266 * Fixed documentation packaging problems (Murray Cumming, Christophe de Vienne)
267
268 2.9.2 (unstable):
269
270 * Added MSVC .Net 2003 support (Cedric Gustin)
271 * Improved documentation + Added a manual (Murray Cumming)
272 * Fixed a bug in utf8 handling in Document::do_write_to_string (Murray Cumming)
273
274 2.9.1 (unstable):
275
276 * First unstable 2.9.x release, to become stable 2.10.x.
277 * DomParser, SaxParser: Added
278   parse_memory_raw(const unsigned char* contents, size_type bytes)
279   for parsing non-utf8 text or text of unknown encoding.
280
281 2.8.0 (stable):
282
283 * Code Cleaning.
284
285 * Changes compared to libxml++ 2.7:
286   - Added Validator and DtdValidator classes.
287
288 2.7.1 (unstable):
289
290 * Fixed bug #150082 (Christophe de Vienne)
291
292 2.7.0 (unstable):
293
294 * Added Validator and DtdValidator (Guillaume Arreckx)
295
296 2004-05-05 2.6.1 (stable):
297
298 * Fixed an issue (#141824) with Glib::ustring.
299 * Fixed ContentNode::SetContent behavior.
300
301 2004-04-13 2.6.0 (stable):
302
303 * Corrected constness of TextReader::get_current_node (Murray Cumming)
304
305 2004-03-02 2.5.2 (unstable):
306
307 * Fixed bug #134390: "SEGFAULT in Element::get_attribute" (John Coyle)
308 * Code cleaning.
309
310 2004-02-09 2.5.1 (unstable):
311
312 * Introduced Glib::ustring instead of std::string (Murray Cumming)
313 * Added Document::create_root_node_by_import (Kim Garrison)
314 * Fixed bugs #131018, #131329 and #132014.
315 * Added TextReader interface (Christophe de Vienne)
316
317 2003-12-18 1.0.0 (stable):
318
319 * Updated msvc files (Ephraim Vider)
320 * Fixed an issue in SaxParser (Murray Cumming)
321
322 2003-12-08 0.28 (unstable):
323
324 * Added entity handling to the SAX parser + examples (Dan Dennedy and Murray Cumming)
325 * Replaced SaxParser::AttributeMap with an ordered container (Christophe de Vienne)
326 * Fixed an issue with threading (Christophe de Vienne)
327 * Complete switched to pkg-config (Christophe de Vienne)
328
329 2003-11-05 0.27 (unstable):
330
331 * Completed documentation
332 * Added Element::add_comment (Dan Dennedy)
333 * Wrapped xmlIO output buffers and added Document::write_to_stream (Christophe de Vienne)
334 * Cleaned and made more consistent Element API (Murray Cumming)
335 * Added entities support in DomParser (Murray Cumming)
336
337 2003-09-23 0.26 (unstable):
338
339 * Added import_node example into MSVC6 project files (Ephraim Vider)
340 * Node::import_node now takes a const Node (suggested by Rafael Vuijk)
341 * Fixed threading issue due to incorrect libxml2 initialisation (Fredrik Arnerup)
342 * Updated Doxyfile (Christophe de Vienne)
343 * Added Namespaces support (Dan Dennedy, Murray Cumming)
344
345 2003-07-18 0.25 (unstable):
346
347 * Fixed MSVC6 project files (Ephraim Vider)
348 * Added Node::import_node (Eric Bourque)
349 * Removed throw specification (Christophe de Vienne).
350 * Removed old-style autoconf macro for libxml++ detection (Christophe de Vienne).
351 * Removed unused examples (Murray Cumming)
352
353 2003-06-11 0.24 (unstable):
354
355 * Added Document::write_to_file_formatted() and
356   Document::write_to_string_formatted() - they add white space indenting.
357   (Christophe de Vienne)
358 * Added ContentNode::is_white_space() to make it easier for applications to
359    ignore white space such as indenting. (Murray Cumming)
360 * Node: Added set_name(). (Christophe de Vienne)
361 * Compiles with gcc's pedantic warnings as errors.
362   (Christophe de Vienne)
363 * libxml++ header files no longer include any libxml header files.
364   (Christophe de Vienne)
365 * Removed superfluous standalone parse_* methods in document.[h|cc]
366   (Murray Cumming)
367 * Minor reference documentation corrections.
368   (Jonathan Wakely)
369 * Replaced some <istream> with <iostream> to support older compilers.
370   (Jonathan Wakely)
371 * Added classes to wrap the missing node types. (Ephraim Vider).
372 * Fixed a memory leak in write_to_string[_formatted] functions. (Morten Hanssen)
373 * Fixed compile error in keepblanks.h with MSVC 6.0. (Christophe de Vienne).
374 * Fixed segfault in DomParser::parse_stream on parsing failure.
375   (Christophe de Vienne).
376
377 2003-05-20: 0.23 (unstable):
378
379 * Fixed incorrect use of xmlKeepBlanksDefault. Handling of white spaces
380   is now conforming to xml specification. (Christophe de Vienne)
381 * Classes inherit from NonCopyable to avoid mistakes and clarify the
382   memory mangement.
383   (Murray Cumming)
384 * Node::find() returns empty NodeSet if it does not find the path.
385   (Andy Glew)
386 * DomParser: Fixed memory leak. (Christophe de Vienne, Thierry Blanchard)
387 * Fixed NetBSD compilation (Chistophe de Vienne, Jaka Jejcic)
388 * Improved .spec.in file. (Eric Bourque)
389 * Some MSVC++ support and minor corrections. (Ephraim Vider)
390
391 0.22 (unstable):
392
393 * DOM Parser:
394   - Reduced API duplication - you must now use get_document().
395   (Ephraim Vider)
396   - Now throws exception if document not found.
397   (Christophe de Vienne)
398   - Added const get_document() overload. (Murray Cumming)
399
400 0.21 (unstable):
401
402 * Parsers:
403   - Validation now supported: Use Parser::set_validate() to turn on validation.
404     Parsers will then throw validation_error exceptions if validation fails.
405     (Murray Cumming)
406   - SaxParser: Added parse_chunk() for gradual parsing of XML fragments.
407     (Ole Laursen)
408 * Node:
409   - Moved add_child_content(), get_child_content(), set_child_content(),
410     and has_content() to Element class.
411   - Fixed set_child_content() to add content instead of creating a node.
412     (Murray Cumming)
413 * Added spec file for RPMs. (Eric Bourque)
414
415
416 2003-02-15: 0.20 (unstable):
417
418 * Node::remove_child() now works.
419   (Murray Cumming)
420 * Added examples/dom_xpath.
421   (Stefan Seefeld, Murray Cumming)
422
423 2003-02-08: 0.19 (unstable):
424
425 * The imlementation now uses libxml's API more instead of reimplementing data structures.
426   (Stefan Seefeld, Murray Cumming)
427 * Attribute::get_value() use libxml's API properly, so it now respects the DTD.
428   (Stefan Seefeld)
429 * Node: Added get_path() and find() for xpath lookup. (Stefan Seefeld)
430 * Attribute now inherits from Node, as required by the find() method. (Stefan Seefeld)
431 * Added Document class. (Stefan Seefeld)
432 * Added cobj() accessors, in case you need to use unwrapped libxml API. (Murray Cumming)
433 * SaxParser:
434     Added CDATA section handler.
435     fixed a potential buffer overflow problem
436   (Valentin Rusu)
437
438 2003-01-09: 0.18 (unstable):
439
440 * big API change for nodes handling : the different types of node now herit
441 from a base Node class. This, among other advantages, avoids previous ambiguity
442 on content() acessors meaning.
443 * little bugfixes and improvements in SaxParser.
444
445 2002-12-10: 0.17 (unstable):
446
447 * properties are now called attributes.
448 * it is now possible to throw exceptions from callback
449 methods in SaxParser.
450 * parsers can parse from a stream.
451 * memory leak fixed in SaxParser.
452 * configure check for libxml2 2.4.1 at least.
453 * bug fixes.
454
455
456 2002-11-20: 0.16 (unstable):
457
458 * Examples added.
459 * Xml type name prefix removed.
460 * Tree replaced with DomParser.
461 * Parser renamed to SaxParser.
462 * Property renamed to Attribute
463 * Errors thrown as exceptions.
464 * Both parsers can parse from either file or memory.
465
466 * Simplified memory management -
467   no more returning of static temporaries.
468 * set_*() methods return void.