Imported Upstream version 2.91.1
[platform/upstream/libxml++.git] / NEWS
1 2.91.1 (unstable):
2
3 * Renamed ABI from libxml++-2.6 to libxml++-3.0.
4   This requires applications to change their pkg-config check to libxml++-3.0
5   when they wish to use libxml++ 2.9x or 3.x instead of libxml++ 2.x.
6   (Kjell Ahlstedt) Bug #754673.
7   There may be more changes in ABI and/or API before the first stable
8   libxml++-3.0 release.
9
10 * Node: Add const_NodeList and use it in a const version of get_children().
11   Add const_NodeSet and use it in a const version of find().
12   Replace xmlpp::NodeSet by xmlpp::Node::NodeSet.
13   Element: Add const_Attribute_list and use it in a const version of
14   get_attributes().
15   (Kjell Ahlstedt) Bug #338907 (Marcos Mayorga)
16 * Document: Add a non-const version of get_root_node(). Let the const version
17   return a const pointer.
18   (Knut Aksel Røysland) Bug #632522
19 * Element: Add a non-const version of get_attribute(). Let the const version
20   return a const pointer.
21   (Knut Aksel Røysland) Bug #632524
22 * Replace the deprecated std::auto_ptr by std::unique_ptr
23   (Kjell Ahlstedt) Bug #753123
24 * DomParser: The default behaviour is to throw both parse errors and
25   validity errors in an exception instead of printing some messages on stderr.
26 * Parser: Some protected data has become private.
27 * Several classes: Some virtual methods have become non-virtual, and some
28   non-virtual methods have become virtual.
29 * Remove class xmlpp::wrapped_exception and the deprecated classes
30   Schema and SchemaValidator.
31 * xmlpp::exception and its subclasses: Remove Raise() and Clone().
32 * SaxParser: Start each parsing with a new Document for entity resolution.
33 * Move all Node::add_child*() methods to Element and rename them to
34   add_child_element*().
35 * Attribute: Move set_value() to AttributeNode.
36 * Use std::string instead of Glib::ustring for filenames.
37 * Node: Replace remove_child() by remove_node().
38 * Move some code from DtdValidator to Dtd.
39 * Element: Rename set/get_child_text() to set/get_first_child_text().
40
41
42 2.39.2 (unstable):
43
44 * SaxParser: Fix “double free or corruption” if a std::exception is thrown
45   by a handler method.
46   (Daniel Trebbien, Kjell Ahlstedt) Bug #753570
47 * Replace some (deprecated in C++11) std::auto_ptr by std::unique_ptr.
48   There are still some auto_ptrs in header files bug replacing them would
49   break ABI.
50   (Kjell Ahlstedt) Bug #753123.
51
52 2.39.1 (unstable):
53
54 * Use (and require) C++11.
55   (Murray Cumming)
56
57 2.38.1 (stable):
58
59 * Fix the build with C++11 compilers, such as MS Visual C++ 2013 - Implicit
60   conversions from streams to bool are no longer allowed.)
61   (Mikhail Titov) Bug #748658
62 * Build: Disable deprecated API in dependencies if --enable-warnings=fatal
63   (Kjell Ahlstedt)
64 * Build: Require libxml2 2.7.7 or later
65   (Kjell Ahlstedt)
66
67 2.38.0 (stable):
68
69 This stable version is identical to the unstable version 2.37.2.
70
71 API additions since 2.36:
72
73 * Add Node::add_child_with_new_ns().
74   (Kjell Ahlstedt) Bug #737682 (Mathias Lorente)
75 * Add XsdSchema and XsdValidator classes. Deprecate Schema and SchemaValidator.
76   Add RelaxNGSchema and RelaxNGValidator.
77   (Kjell Ahlstedt) Bug #737712 (Michel Stam)
78   Thanks to Tjalling Hattink, who made initial versions of the RelaxNG classes.
79 * Parser: Add input operator>>(std::istream& in, Parser& parser).
80   (Kjell Ahlstedt) Bug #329281 (Pierre Thierry)
81 * Parser: Add [set|get]_include_default_attributes() and
82   [set|get]_parser_options().
83   (Kjell Ahlstedt) Bug #701674 (Bob Nolty)
84
85 2.37.2 (unstable):
86
87 * Add version information to libxml++config.h.
88   (Kjell Ahlstedt)
89 * Document: Avoid possible null pointer dereference.
90   (Gaurav) Bug #732604
91 * Element::set_namespace_declaration(): Update the node's associated namespace.
92   Add dom_update_namespace example program.
93   (Mathias Lorente) Bug #737682
94 * Add Node::add_child_with_new_ns().
95   (Kjell Ahlstedt) Bug #737682 (Mathias Lorente)
96 * Schema: Don't use null pointers in get_name(), get_target_namespace()
97   and get_version().
98   (Kjell Ahlstedt)
99 * Add XsdSchema and XsdValidator. Deprecate Schema and SchemaValidator.
100   Add RelaxNGSchema and RelaxNGValidator.
101   (Kjell Ahlstedt) Bug #737712 (Michel Stam)
102   Thanks to Tjalling Hattink, who made initial versions of the RelaxNG classes.
103 * Parser: Add input operator>>(std::istream& in, Parser& parser).
104   (Kjell Ahlstedt) Bug #329281 (Pierre Thierry)
105
106 Documentation:
107 * Use doxygen-extra.css from the mm-common package.
108   Requires mm-common 0.9.7 when configured to use maintainer-mode.
109   (Kjell Ahlstedt)
110
111 Build:
112 * Avoid infinite loop with Doxygen 1.8.6.
113   (Kjell Ahlstedt)
114
115 2.37.1 (unstable):
116
117 * Parser: Add [set|get]_include_default_attributes().
118   (Kjell Ahlstedt) Bug #701674 (Bob Nolty)
119 * Improve some null-pointer checks
120   (Kjell Ahlstedt) Bug #705187 (Gaurav)
121
122 Documentation:
123 * Manual: Add XIncludeStart and XIncludeEnd to the node type tree.
124   (Kjell Ahlstedt)
125 * Update Doxyfile.in for doxygen 1.8.3.
126   (Kjell Ahlstedt)
127
128 Build:
129 * Fix examples/Makefile.am for new versions of automake.
130   (Kjell Ahlstedt) Bug #678390
131 * Examples dom_parse_entities and dom_parser: Fix when LC_ALL=C.
132   (Murray Cumming) Bug #702136 (Michael Biebl)
133
134 2.36.0 (stable):
135
136 * Element::set_namespace_declaration():
137   It is not an error to set the same URI twice.
138   (Kjell Ahlstedt) Bug #635846, comment 27.
139 * Require libxml-2.0 >= 2.7.3.
140   (Kjell Ahlstedt)
141 * Parser::initialize_context(): Call xmlCtxtUseOptions().
142   (Kjell Ahlstedt)
143
144 2.35.4 (unstable):
145
146 * Document:
147   - Add process_xinclude(), using new XIncludeStart
148     and XIncludeEnd classes, derived from Node.
149     (Kjell Ahlsted) Bug #338521.
150   - Make the Document(xmlDoc*) constructor public.
151     (Kjell Ahlsted) Bug #668980.
152 * Parser: Make it thread-safe.
153   (Kjell Ahlstedt) Bug #681467.
154 * Schema::set_document(): If the argument 'document' is 0 then
155   create an empty document, as the documentation says.
156   (Kjell Ahlstedt)
157 * Improve the error handling.
158   (Kjell Ahlstedt) Bug #635846.
159 * Documentation:
160   - Add incremental parsing to the SaxParser example program.
161   - DtdValidation and SchemaValidation: Print all exception information.
162   - Improve error descriptions.
163     (Kjell Ahlstedt)
164
165
166 2.35.3 (unstable):
167
168 * Node:
169   - Add eval_to_[boolean|number|string]() methods.
170   (Kjell Ahlstedt) Bug #316244
171   - Fix memory problems in import_node().
172   (Kjell Ahlstedt) Bug #672992
173 * Build:
174   - The examples are now built and run during make check.
175   (Kjell Ahlstedt) Bug #678390
176   - Define LIBXMLCPP_EXCEPTIONS_ENABLED unconditionally.
177   (Kjell Ahlstedt)
178
179 2.35.2 (unstable):
180
181 * Node: Add get_first_child().
182   (Murray Cumming, Based on a patch by Ilya Murav'jov in bug #648125)
183 * Build: Remove the --disable-api-exceptions configure option.
184   (Murray Cumming)
185
186 2.35.1 (unstable):
187
188 * Handle attributes with default values correctly.
189   (Kjell Ahlstedt) Bug #669635.
190 * Improved handling of entity references and processing instructions.
191   (Kjell Ahlstedt) Bug #669481
192 * Parser: Throw more detailed error messages.
193   (Kjell Ahlstedt) Bug #304020 (Virgile Devaux)
194 * Document: Make the Document(xmlDoc*) constructor protected.
195   (Murray Cumming) Bug #668980 (A. Pignotti).
196
197 2.34.2 (stable):
198
199 * Element: Add add_child_cdata(), like the existing add_child_text().
200 * Node::create_new_child_node(): Use the default namespace if none is specified.
201   (Mathias Lorente) Bug #656110
202 * Documentation: Fix a markup typo.
203   (Murray Cumming)
204         
205 2.34.1 (stable):
206
207 * Do not require mm-common during the tarball build.
208   (Murray Cumming)
209
210 2.34.0 (stable):
211
212 Major changes since 2.32:
213
214 * Allow separate and multi-threaded libxml2 usage by
215   not using the global xmlRegisterNodeDefault() and xmlDeregisterNodeDefault()
216   callbacks.
217   (Alessandro Pignotti)
218 * Do not call xmlCleanupParser() when the library is unloaded,
219   because it is brutal and can break other parts of applications that try to
220   use libxml separately.
221   (Murray Cumming)
222
223 2.33.2 (unstable):
224
225 * Node::remove_child(): Fix a memory management problem introduced in
226   2.33.1.
227   (Murray Cumming)
228 * Document::do_write_to_stream(), Schema::set_document(): Check the results from
229         xmlSchemaNewDocParserCtxt() and xmlSaveFormatFileTo().
230   (Murray Cumming) Bug #635846 (Markus Elfring)
231
232 2.33.1 (unstable):
233
234 * (Hopefully) allow separate and multi-threaded libxml2 usage by
235   not using the global xmlRegisterNodeDefault() and xmlDeregisterNodeDefault()
236   callbacks.
237   (Alessandro Pignotti)
238 * Do not call xmlCleanupParser() when the library is unloaded,
239   because it is brutal and can break other parts of applications that try to
240   use libxml separately.
241   (Murray Cumming)
242 * Minor code improvement.
243   (Knut Aksel Røysland)
244 * Build: Build the examples by default.
245   (Murray Cumming)
246
247 2.32.0 (stable):
248
249 * Node::find(): Check xmlNode::type for a XML_NAMESPACE_DECL to prevent a
250   crash/corruption.
251   (Murray Cumming) Bug #386013 (Max Kirillov)
252 * Build: Added an MSVC .net 2010 and 64-bit Windows builds.
253   (Armin Burgmeier)
254
255 2.30.1 (stable):
256
257 * Documentation:
258   - Added main page doxygen text.
259   (David King, Murray Cumming)
260   - Show NodeList.
261   (Murray Cumming) Bug #583412 (Hubert Figuiere).
262   - Correct some @newin tags.
263   (Murray Cumming)
264
265 2.30.0(stable):
266
267 * Build system rewrite.
268 * Use mm-common for reference documentation generation. Fixes GNOME bugs
269   #583411 (Hubert Figuiere), #614260 (David King) and #551501 (Johannes Schmid)
270 * Fix several compiler warnings.
271 * Use 0 instead of NULL. (Murray Cumming)
272
273 2.26.1(stable):
274
275 * Build fixes
276 * Build without exceptions
277
278 2.26.0(stable):
279
280 * Increased version number to match GNOME 2.26.
281
282 2.24.3 (stable):
283
284 * TextReader: Actually throw exceptions on errors.
285   (This breaks ABI but we do not believe that this class could be used with
286   this problem so it should not actually break any application.)
287   Bug #348006.
288 * Build: Windows: Remove unnecessary vsnprint define.
289   (Armin Burgmeier)
290
291 2.24.2 (stable):
292
293 * Fixed another two memory leaks.
294   (Armin Burgmeier) Bug #563321 (Arjan Franzen)
295 * Removed obsolete MSVC6 project files
296   (Armin Burgmeier)
297
298 2.24.1 (stable):
299
300 * Added new Schema and SchemaValidator classes to MSVC project files
301   (Arjan Franzen, Arming Burgmeier) Bug #563664.
302 * Avoid a memory leak in Validator::check_for_exception.
303   (Arjan Franzen, Murray Cumming) Bug #563321.
304 * Avoid a memory leak in schema class.
305   (Balazs Tirpak, Murray Cumming) Bug #312216.
306
307 2.24.0 (stable):
308
309 Changes since 2.22:
310
311 * Attribute: Return the correct value even when using a namespace.
312   (Murray Cumming) Bug #547689 (Sergei Fedorov)
313 * Added Schema and SchemaValidator classes, demonstrated in
314   examples/schemavalidation.
315   (Emilien KIA) Bug #312216.
316 * Element: Added add_child_text() with a previous_node parameter, for adding
317   between existing nodes. Added add_child_text_before() too.
318 * Node: Added add_child() with a previous_node parameter, for adding between
319   existing nodes. Added add_child_before() too.
320   (Murray Cumming)
321 * SaxParser: added parse_chunk_raw().
322   (Armin Burgmeier)
323
324
325 2.23.3 (unstable):
326
327 * Attribute: Return the correct value even when using a namespace.
328   (Murray Cumming) Bug #547689 (Sergei Fedorov)
329 * Fixed MSVC++ Windows build.
330   (Armin Burgmeier)
331
332 2.23.2 (unstable):
333
334 * SaxParser: added parse_chunk_raw().
335   (Armin Burgmeier)
336 * examples: sax_parser: Catch convert errors when printing an exception to
337   std:cout, though libxml++/libxml should always supply valid UTF-8.
338   (Murray Cumming)
339
340 2.23.1 (unstable):
341
342 * Added Schema and SchemaValidator classes, demonstrated in
343   examples/schemavalidation.
344   (Emilien KIA) Bug #312216.
345 * Element: Added add_child_text() with a previous_node parameter, for adding
346   between existing nodes. Added add_child_text_before() too.
347 * Node: Added add_child() with a previous_node parameter, for adding between
348   existing nodes. Added add_child_before() too.
349   (Murray Cumming)
350
351 2.22.0 (stable):
352
353 * Document: Fix a memory leak, by calling xmlCleanupParser
354   in the destructor.
355   (Deng Xiyue) Bug #501168 (Matt G.)
356 * Build: Fix the build with gcc 4.3 pre-releases.
357   (Martin Michlmayr) Bug #510053.
358
359 2.20.0 (stable):
360
361 Changes since 2.18:
362 * Element: Added get_attribute_value(),
363   to get a simple text value for an attribute.
364   (Stef Walter) Bug #373573.
365 * Added an experimental --enable-api-exceptions
366   configure option, to allow libxml++ to build without
367   exceptions.
368   (Murray Cumming)
369
370 2.19.2 (unstable):
371
372 * Added an experimental --enable-api-exceptions
373   configure option, to allow libxml++ to build without
374   exceptions.
375
376 2.19.1(unstable):
377
378 * Element.h: Added get_attribute_value(),
379   to get a simple text value for an attribute.
380   (Stef Walter) Bug #373573.
381
382 2.18.2 (stable):
383
384 * TextReader: get_name(): Fixed a memory leak.
385   (Christophe de Vienne) Bug #447535.
386
387 2.18.1 (stable):
388
389 * Document::add_comment,
390   Element: add_child_text(), add_child_comment():
391   avoid accessing freed memory. (Murray Cumming)
392
393 2.18.0(stable):
394
395 * Slight win32 build improvement, possibly.
396   (Artur Wegele)
397 * Slight improvement to examples.
398   (Murray Cumming)
399
400 2.17.2 (unstable):
401
402 * Node: Adedd get_next_sibling() and get_previous_sibling().
403   Bug #351867.
404   (Nate Nielsen)
405
406 2.17.1 (unstable):
407
408 * Node: Added get_parent() Bug #351876 (Patch by Nate Nielsen)
409 * TextReader: Added TextReader(const char* data) constructor, for
410   parsing memory buffers. Bug #351215 (Patch by Nate Nielsen)
411 * Element::set_attribute(): Really return the new attribute.
412   Bug #361950 (Patch by Nate Nielsen)
413 * Build: Added MS Visual Studio 2005 project files.
414   (Cedric Gustin)
415
416
417 2.14 (stable):
418
419 * Documentation:
420   - Improved ContentNode documentation (Murray Cumming)
421
422 2.13.1 (unstable):
423
424 * First unstable 2.13.x release, to become stable 2.14.x, for GNOME 2.14.
425 * Node:
426   - Added find() overload that takes namespaces to register during the search,
427   using xmlXPathRegisterNs(). Bug #323935. (Robert Fleming)
428   - set_namespace(): When creating a default namespace, avoid the
429   "The namespace () has not been declared" warning, by passing 0 to
430   xmlSearchNs() instead of an empty string. Bug #318186.
431   (Erik Oestby).
432 * Build: Fix buildir!=srcdir builds. Bug #319863.(Vadim Zeitlin)
433 * Documentation:
434   - Tutorial: Mention pkg-config.
435   - Reference: Grammar fixes and a small fix for find().
436   (Murray Cumming)
437
438 2.12.0 (stable):
439
440 * Added the state "Reading" to xml Reader States list.
441
442 2.11.0 (unstable):
443
444 * First unstable 2.11.x release, to become stable 2.12.x
445 * Fixed Document::set_entity_declaration behavior (Murray Cumming)
446 * Updated MSVC.Net2003 project files (Cedric Gustin)
447 * Fixed bugs #301727, #301712, #156352, #161825, #307481, #314419
448
449 2.10.0 (stable):
450
451 * Fixed documentation packaging problems (Murray Cumming, Christophe de Vienne)
452
453 2.9.2 (unstable):
454
455 * Added MSVC .Net 2003 support (Cedric Gustin)
456 * Improved documentation + Added a manual (Murray Cumming)
457 * Fixed a bug in utf8 handling in Document::do_write_to_string (Murray Cumming)
458
459 2.9.1 (unstable):
460
461 * First unstable 2.9.x release, to become stable 2.10.x.
462 * DomParser, SaxParser: Added
463   parse_memory_raw(const unsigned char* contents, size_type bytes)
464   for parsing non-utf8 text or text of unknown encoding.
465
466 2.8.0 (stable):
467
468 * Code Cleaning.
469
470 * Changes compared to libxml++ 2.7:
471   - Added Validator and DtdValidator classes.
472
473 2.7.1 (unstable):
474
475 * Fixed bug #150082 (Christophe de Vienne)
476
477 2.7.0 (unstable):
478
479 * Added Validator and DtdValidator (Guillaume Arreckx)
480
481 2004-05-05 2.6.1 (stable):
482
483 * Fixed an issue (#141824) with Glib::ustring.
484 * Fixed ContentNode::SetContent behavior.
485
486 2004-04-13 2.6.0 (stable):
487
488 * Corrected constness of TextReader::get_current_node (Murray Cumming)
489
490 2004-03-02 2.5.2 (unstable):
491
492 * Fixed bug #134390: "SEGFAULT in Element::get_attribute" (John Coyle)
493 * Code cleaning.
494
495 2004-02-09 2.5.1 (unstable):
496
497 * Introduced Glib::ustring instead of std::string (Murray Cumming)
498 * Added Document::create_root_node_by_import (Kim Garrison)
499 * Fixed bugs #131018, #131329 and #132014.
500 * Added TextReader interface (Christophe de Vienne)
501
502 2003-12-18 1.0.0 (stable):
503
504 * Updated msvc files (Ephraim Vider)
505 * Fixed an issue in SaxParser (Murray Cumming)
506
507 2003-12-08 0.28 (unstable):
508
509 * Added entity handling to the SAX parser + examples (Dan Dennedy and Murray Cumming)
510 * Replaced SaxParser::AttributeMap with an ordered container (Christophe de Vienne)
511 * Fixed an issue with threading (Christophe de Vienne)
512 * Complete switched to pkg-config (Christophe de Vienne)
513
514 2003-11-05 0.27 (unstable):
515
516 * Completed documentation
517 * Added Element::add_comment (Dan Dennedy)
518 * Wrapped xmlIO output buffers and added Document::write_to_stream (Christophe de Vienne)
519 * Cleaned and made more consistent Element API (Murray Cumming)
520 * Added entities support in DomParser (Murray Cumming)
521
522 2003-09-23 0.26 (unstable):
523
524 * Added import_node example into MSVC6 project files (Ephraim Vider)
525 * Node::import_node now takes a const Node (suggested by Rafael Vuijk)
526 * Fixed threading issue due to incorrect libxml2 initialisation (Fredrik Arnerup)
527 * Updated Doxyfile (Christophe de Vienne)
528 * Added Namespaces support (Dan Dennedy, Murray Cumming)
529
530 2003-07-18 0.25 (unstable):
531
532 * Fixed MSVC6 project files (Ephraim Vider)
533 * Added Node::import_node (Eric Bourque)
534 * Removed throw specification (Christophe de Vienne).
535 * Removed old-style autoconf macro for libxml++ detection (Christophe de Vienne).
536 * Removed unused examples (Murray Cumming)
537
538 2003-06-11 0.24 (unstable):
539
540 * Added Document::write_to_file_formatted() and
541   Document::write_to_string_formatted() - they add white space indenting.
542   (Christophe de Vienne)
543 * Added ContentNode::is_white_space() to make it easier for applications to
544    ignore white space such as indenting. (Murray Cumming)
545 * Node: Added set_name(). (Christophe de Vienne)
546 * Compiles with gcc's pedantic warnings as errors.
547   (Christophe de Vienne)
548 * libxml++ header files no longer include any libxml header files.
549   (Christophe de Vienne)
550 * Removed superfluous standalone parse_* methods in document.[h|cc]
551   (Murray Cumming)
552 * Minor reference documentation corrections.
553   (Jonathan Wakely)
554 * Replaced some <istream> with <iostream> to support older compilers.
555   (Jonathan Wakely)
556 * Added classes to wrap the missing node types. (Ephraim Vider).
557 * Fixed a memory leak in write_to_string[_formatted] functions. (Morten Hanssen)
558 * Fixed compile error in keepblanks.h with MSVC 6.0. (Christophe de Vienne).
559 * Fixed segfault in DomParser::parse_stream on parsing failure.
560   (Christophe de Vienne).
561
562 2003-05-20: 0.23 (unstable):
563
564 * Fixed incorrect use of xmlKeepBlanksDefault. Handling of white spaces
565   is now conforming to xml specification. (Christophe de Vienne)
566 * Classes inherit from NonCopyable to avoid mistakes and clarify the
567   memory mangement.
568   (Murray Cumming)
569 * Node::find() returns empty NodeSet if it does not find the path.
570   (Andy Glew)
571 * DomParser: Fixed memory leak. (Christophe de Vienne, Thierry Blanchard)
572 * Fixed NetBSD compilation (Chistophe de Vienne, Jaka Jejcic)
573 * Improved .spec.in file. (Eric Bourque)
574 * Some MSVC++ support and minor corrections. (Ephraim Vider)
575
576 0.22 (unstable):
577
578 * DOM Parser:
579   - Reduced API duplication - you must now use get_document().
580   (Ephraim Vider)
581   - Now throws exception if document not found.
582   (Christophe de Vienne)
583   - Added const get_document() overload. (Murray Cumming)
584
585 0.21 (unstable):
586
587 * Parsers:
588   - Validation now supported: Use Parser::set_validate() to turn on validation.
589     Parsers will then throw validation_error exceptions if validation fails.
590     (Murray Cumming)
591   - SaxParser: Added parse_chunk() for gradual parsing of XML fragments.
592     (Ole Laursen)
593 * Node:
594   - Moved add_child_content(), get_child_content(), set_child_content(),
595     and has_content() to Element class.
596   - Fixed set_child_content() to add content instead of creating a node.
597     (Murray Cumming)
598 * Added spec file for RPMs. (Eric Bourque)
599
600
601 2003-02-15: 0.20 (unstable):
602
603 * Node::remove_child() now works.
604   (Murray Cumming)
605 * Added examples/dom_xpath.
606   (Stefan Seefeld, Murray Cumming)
607
608 2003-02-08: 0.19 (unstable):
609
610 * The imlementation now uses libxml's API more instead of reimplementing data structures.
611   (Stefan Seefeld, Murray Cumming)
612 * Attribute::get_value() use libxml's API properly, so it now respects the DTD.
613   (Stefan Seefeld)
614 * Node: Added get_path() and find() for xpath lookup. (Stefan Seefeld)
615 * Attribute now inherits from Node, as required by the find() method. (Stefan Seefeld)
616 * Added Document class. (Stefan Seefeld)
617 * Added cobj() accessors, in case you need to use unwrapped libxml API. (Murray Cumming)
618 * SaxParser:
619     Added CDATA section handler.
620     fixed a potential buffer overflow problem
621   (Valentin Rusu)
622
623 2003-01-09: 0.18 (unstable):
624
625 * big API change for nodes handling : the different types of node now herit
626 from a base Node class. This, among other advantages, avoids previous ambiguity
627 on content() acessors meaning.
628 * little bugfixes and improvements in SaxParser.
629
630 2002-12-10: 0.17 (unstable):
631
632 * properties are now called attributes.
633 * it is now possible to throw exceptions from callback
634 methods in SaxParser.
635 * parsers can parse from a stream.
636 * memory leak fixed in SaxParser.
637 * configure check for libxml2 2.4.1 at least.
638 * bug fixes.
639
640
641 2002-11-20: 0.16 (unstable):
642
643 * Examples added.
644 * Xml type name prefix removed.
645 * Tree replaced with DomParser.
646 * Parser renamed to SaxParser.
647 * Property renamed to Attribute
648 * Errors thrown as exceptions.
649 * Both parsers can parse from either file or memory.
650
651 * Simplified memory management -
652   no more returning of static temporaries.
653 * set_*() methods return void.