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