forked from libxmlplusplus/libxmlplusplus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS
891 lines (692 loc) · 28 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
5.4.0 (stable):
* Node: Add eval_xpath().
(Kjell Ahlstedt) Issue #66 (Marie Preusse)
Meson build:
* Require meson >= 0.62.
* Use Meson's pkgconfig module instead of the libxml++.pc.in template.
(Kjell Ahlstedt)
5.2.1 (stable):
* Parser: Ignore deprecation of xmlParserCtxt members.
(Kjell Ahlstedt)
Documentation:
* Don't link to removed developer-old.gnome.org.
(Kjell Ahlstedt)
Meson build:
* Use libxml2 meson build when libxml2 is built as a subproject.
(Andrew Potter) Issue #67, Pull request #68
* Require python3 >= 3.7. That's what Meson requires.
(Kjell Ahlstedt)
5.2.0 (stable):
* Use callback functions with C linkage
(Kjell Ahlstedt) Issue glibmm#1 (Murray Cumming)
Documentation:
* Update Visual Studio build docs
(Chun-wei Fan) Pull request #52
* Remove AUTHORS and add general information to README.md
(Kjell Ahlstedt) Issue gtkmm#140
* Parser docs: Add a link to parser options
* README.md: Add info about building the documentation
(Kjell Ahlstedt)
Meson build:
* Cleanup and fix libxml2 dep search
(Chun-wei Fan) Pull request #51
* Don't fail if warning_level=everything
(Daniel Boles, Kjell Ahlstedt) Merge request gtkmm!87
* Add bcrypt dependency when libxml2 is a subproject
Issue #64 (Kjell Ahlstedt)
(Andrew Potter) Pull request #65
* Don't require the 'dot' command to build the documentation
(Kjell Ahlstedt) Issue libsigcplusplus#98
* Add the build-manual option
(Kjell Ahlstedt)
Build:
* Make it compatible with libxml2 >= 2.12.0
by modifying #include directives
(Kjell Ahlstedt)
5.0.3 (stable):
* exception: Fix linking on MinGW
(Chun-wei Fan) Issue #45 (Rosen Penev)
(Chun-wei Fan) Pull request #46
* headers: Drop LIBXMLPP_API from 'friend' members
(Chun-wei Fan) Pull request #47
Meson build:
* Detect if we build from a git subtree
(William Roy) Merge request gtkmm!72
* Don't copy files with configure_file()
(Kjell Ahlstedt)
* Fix the evaluation of is_git_build on Windows
(Kjell Ahlstedt) Issue gtkmm#131 (William Roy)
5.0.2 (stable):
* Document, Node: Recognize HTML documents
(Kjell Ahlstedt) Issue #23 (rkd77)
* Parsers: Avoid std::getline for istream inputs
(Andrew Potter) Pull request #28
* Many small updates, suggested by the clang-tidy program
(Rosen Penev) Pull requests #33-#35, #37-#43
Build:
* Meson build: When mm-common >= 1.0.4 is used, Perl is not required
(Kjell Ahlstedt)
* Win32: Don't include afxres.h in resources
* Support Visual Studio 2022
(Chun-wei Fan)
* Meson build: Specify 'check' option in run_command()
Will be necessary with future versions of Meson.
(Kjell Ahlstedt)
* Meson build: Avoid configuration warnings
(Kjell Ahlstedt, Rosen Penev) Pull request #27
* docs/manual: Sort example file lists
See https://gitlab.gnome.org/GNOME/gtkmm-documentation/-/merge_requests/15
by Bernhard M. Wiedemann
(Kjell Ahlstedt)
* Meson build: Enable static building on windows
(Andrew Potter) Pull request #29
* Meson build: Require meson >= 0.60.0
* Meson build: libxml2 can be built as a subproject
(Andrew Potter) Pull request #30
* NMake Makefiles: Remove dependency on msvc_recommended_pragmas.h
* NMake Makefiles: Make things more configurable
(Chun-wei Fan) Issue #44 (lxxxd)
Documentation:
* docs/manual: Upgrade from DocBook 4.1 to DocBook 5.0
(Kjell Ahlstedt)
* MSVC_NMake/README: Document dependency placement
(Chun-wei Fan) Issue #44 (lxxxd)
5.0.1 (stable):
Build:
* libxml++config.h.*: Don't dllimport on MinGW
(Chun-wei Fan) Issue gtkmm#90 (Lukas K.)
* Meson build: Make it possible to use libxml++ as a subproject
(Kjell Ahlstedt)
* Meson build: No implicit_include_directories
(Kjell Ahlstedt)
* MSVC build: Export classes selectively
(Chun-wei Fan)
Documentation:
* docs/index.md: Describe the different libxml++ ABIs
(Kjell Ahlstedt) Issue #20 (Tom Schoonjans)
5.0.0 (stable):
This is the first stable release in the libxml++-5.0 ABI series.
It is parallel-installable with the libxml++-2.6, libxml++-3.0
and libxml++-4.0 ABIs.
The tarball for 5.0.0 has been created with 'meson dist'.
If you build with Autotools from the tarball, please read
the relevant part of the README file.
Build:
* Add NMake Makefiles
Remove Visual Studio 2010 projects
(Chun-wei Fan) Pull request #10
* Use __declspec(dllexport) when building on Visual Studio
Stop using gendef.exe
(Chun-wei Fan) Pull request #15
* Add support for building with Meson
(Kjell Ahlstedt, Chun-wei Fan) Pull request #16, #17, issue #19
4.9.1 (unstable):
* Change ABI name from libxml++-4.0 to libxml++-5.0
There is also a libxml++-4-0 branch for the libxml++-4.0 ABI,
which still uses glibmm-2.64.
And there is a libxml++-3-0 branch for the libxml++-3.0 ABI,
which still uses glibmm-2.4.
* Build: Remove dependency on glibmm and don't use Glib::ustring
For now, the API uses an xmlpp::ustring alias of std::string
where it previously used Glib::ustring.
3.9.1 (unstable):
* Change ABI name to libxml++-4.0
There is also a libxml++-3-2 branch for the libxml++-3.0 ABI,
which still uses glibmm-2.4.
* Build:
- Use glibmm-2.64 instead of glibmm-2.4.
- Require C++17.
* Parser: Make some methods const
3.2.0 (stable):
* Document, DomParser: Improve XInclude processing:
Document:
Add process_xinclude() overload that takes a fixup_base_uris parameter.
DomParser:
Add set/get_xinclude_options() and add optional XInclude processing to the
parse methods.
(Kjell Ahlstedt) Bug 781566
* Add explicit keyword to some single-parameter constructors.
(Murray Cumming)
* tests: Don't require C++17
(Kjell Ahlstedt)
* Build: Fix srcdir != buildir build.
(Kjell Ahlstedt, Murray Cumming)
3.0.1 (stable):
* Element::remove_attribute(): Delete the C++ wrapper
(Harald Schmalzl, Kjell Ahlstedt) Bug #768404.
3.0.0 (stable):
* This is the first stable release of libxml++-3.0. ABI and API are
incompatible with libxml++-2.6. These two series of libxml++ can be
installed in parallel.
Applications that want to upgrade from libxml++-2.6 to libxml++-3.0
must change their pkg-config check to libxml++-3.0.
(Kjell Ahlstedt) Bug #754673.
* This release is identical to the unstable 2.91.3, except for the so name,
which has now been bumped.
(Kjell Ahlstedt) Bug #760574 (Dominique Leuenberger)
2.91.3 (unstable):
* Element: Remove a redundant nullptr check
(Renu Tyagi) Bug #757515
* Use scoped enums (enum class) instead of unscoped enums
* Document: Test for nullptr in a constructor
* DomParser: Make operator bool() explicit
(Kjell Ahlstedt)
* The ABI and API are not identical to libxml++ 2.91.2.
There may be more changes in ABI and/or API before the first stable
libxml++-3.0 release.
2.91.2 (unstable):
* Remove the preprocessor constant LIBXMLCPP_EXCEPTIONS_ENABLED.
It was always 1.
* Add a config-time test for support of std::exception_ptr. Don't try to
use std::exception_ptr on a system where it does not exist.
This includes re-implementing the wrapped_exception class and the
raise() and clone() methods in xmlpp::exception and its subclasses.
(Daniel Trebbien, Kjell Ahlstedt) Bug #757042 (Michael Biebl)
* The ABI is not identical to that of libxml++ 2.91.1.
There may be more changes in ABI and/or API before the first stable
libxml++-3.0 release.
2.91.1 (unstable):
* Renamed ABI from libxml++-2.6 to libxml++-3.0.
This requires applications to change their pkg-config check to libxml++-3.0
when they wish to use libxml++ 2.9x or 3.x instead of libxml++ 2.x.
(Kjell Ahlstedt) Bug #754673.
There may be more changes in ABI and/or API before the first stable
libxml++-3.0 release.
* Node: Add const_NodeList and use it in a const version of get_children().
Add const_NodeSet and use it in a const version of find().
Replace xmlpp::NodeSet by xmlpp::Node::NodeSet.
Element: Add const_Attribute_list and use it in a const version of
get_attributes().
(Kjell Ahlstedt) Bug #338907 (Marcos Mayorga)
* Document: Add a non-const version of get_root_node(). Let the const version
return a const pointer.
(Knut Aksel Røysland) Bug #632522
* Element: Add a non-const version of get_attribute(). Let the const version
return a const pointer.
(Knut Aksel Røysland) Bug #632524
* Replace the deprecated std::auto_ptr by std::unique_ptr
(Kjell Ahlstedt) Bug #753123
* DomParser: The default behaviour is to throw both parse errors and
validity errors in an exception instead of printing some messages on stderr.
* Parser: Some protected data has become private.
* Several classes: Some virtual methods have become non-virtual, and some
non-virtual methods have become virtual.
* Remove class xmlpp::wrapped_exception and the deprecated classes
Schema and SchemaValidator.
* xmlpp::exception and its subclasses: Remove Raise() and Clone().
* SaxParser: Start each parsing with a new Document for entity resolution.
* Move all Node::add_child*() methods to Element and rename them to
add_child_element*().
* Attribute: Move set_value() to AttributeNode.
* Use std::string instead of Glib::ustring for filenames.
* Node: Replace remove_child() by remove_node().
* Move some code from DtdValidator to Dtd.
* Element: Rename set/get_child_text() to set/get_first_child_text().
2.39.2 (unstable):
* SaxParser: Fix “double free or corruption” if a std::exception is thrown
by a handler method.
(Daniel Trebbien, Kjell Ahlstedt) Bug #753570
* Replace some (deprecated in C++11) std::auto_ptr by std::unique_ptr.
There are still some auto_ptrs in header files bug replacing them would
break ABI.
(Kjell Ahlstedt) Bug #753123.
2.39.1 (unstable):
* Use (and require) C++11.
(Murray Cumming)
2.38.1 (stable):
* Fix the build with C++11 compilers, such as MS Visual C++ 2013 - Implicit
conversions from streams to bool are no longer allowed.)
(Mikhail Titov) Bug #748658
* Build: Disable deprecated API in dependencies if --enable-warnings=fatal
(Kjell Ahlstedt)
* Build: Require libxml2 2.7.7 or later
(Kjell Ahlstedt)
2.38.0 (stable):
This stable version is identical to the unstable version 2.37.2.
API additions since 2.36:
* Add Node::add_child_with_new_ns().
(Kjell Ahlstedt) Bug #737682 (Mathias Lorente)
* Add XsdSchema and XsdValidator classes. Deprecate Schema and SchemaValidator.
Add RelaxNGSchema and RelaxNGValidator.
(Kjell Ahlstedt) Bug #737712 (Michel Stam)
Thanks to Tjalling Hattink, who made initial versions of the RelaxNG classes.
* Parser: Add input operator>>(std::istream& in, Parser& parser).
(Kjell Ahlstedt) Bug #329281 (Pierre Thierry)
* Parser: Add [set|get]_include_default_attributes() and
[set|get]_parser_options().
(Kjell Ahlstedt) Bug #701674 (Bob Nolty)
2.37.2 (unstable):
* Add version information to libxml++config.h.
(Kjell Ahlstedt)
* Document: Avoid possible null pointer dereference.
(Gaurav) Bug #732604
* Element::set_namespace_declaration(): Update the node's associated namespace.
Add dom_update_namespace example program.
(Mathias Lorente) Bug #737682
* Add Node::add_child_with_new_ns().
(Kjell Ahlstedt) Bug #737682 (Mathias Lorente)
* Schema: Don't use null pointers in get_name(), get_target_namespace()
and get_version().
(Kjell Ahlstedt)
* Add XsdSchema and XsdValidator. Deprecate Schema and SchemaValidator.
Add RelaxNGSchema and RelaxNGValidator.
(Kjell Ahlstedt) Bug #737712 (Michel Stam)
Thanks to Tjalling Hattink, who made initial versions of the RelaxNG classes.
* Parser: Add input operator>>(std::istream& in, Parser& parser).
(Kjell Ahlstedt) Bug #329281 (Pierre Thierry)
Documentation:
* Use doxygen-extra.css from the mm-common package.
Requires mm-common 0.9.7 when configured to use maintainer-mode.
(Kjell Ahlstedt)
Build:
* Avoid infinite loop with Doxygen 1.8.6.
(Kjell Ahlstedt)
2.37.1 (unstable):
* Parser: Add [set|get]_include_default_attributes().
(Kjell Ahlstedt) Bug #701674 (Bob Nolty)
* Improve some null-pointer checks
(Kjell Ahlstedt) Bug #705187 (Gaurav)
Documentation:
* Manual: Add XIncludeStart and XIncludeEnd to the node type tree.
(Kjell Ahlstedt)
* Update Doxyfile.in for doxygen 1.8.3.
(Kjell Ahlstedt)
Build:
* Fix examples/Makefile.am for new versions of automake.
(Kjell Ahlstedt) Bug #678390
* Examples dom_parse_entities and dom_parser: Fix when LC_ALL=C.
(Murray Cumming) Bug #702136 (Michael Biebl)
2.36.0 (stable):
* Element::set_namespace_declaration():
It is not an error to set the same URI twice.
(Kjell Ahlstedt) Bug #635846, comment 27.
* Require libxml-2.0 >= 2.7.3.
(Kjell Ahlstedt)
* Parser::initialize_context(): Call xmlCtxtUseOptions().
(Kjell Ahlstedt)
2.35.4 (unstable):
* Document:
- Add process_xinclude(), using new XIncludeStart
and XIncludeEnd classes, derived from Node.
(Kjell Ahlsted) Bug #338521.
- Make the Document(xmlDoc*) constructor public.
(Kjell Ahlsted) Bug #668980.
* Parser: Make it thread-safe.
(Kjell Ahlstedt) Bug #681467.
* Schema::set_document(): If the argument 'document' is 0 then
create an empty document, as the documentation says.
(Kjell Ahlstedt)
* Improve the error handling.
(Kjell Ahlstedt) Bug #635846.
* Documentation:
- Add incremental parsing to the SaxParser example program.
- DtdValidation and SchemaValidation: Print all exception information.
- Improve error descriptions.
(Kjell Ahlstedt)
2.35.3 (unstable):
* Node:
- Add eval_to_[boolean|number|string]() methods.
(Kjell Ahlstedt) Bug #316244
- Fix memory problems in import_node().
(Kjell Ahlstedt) Bug #672992
* Build:
- The examples are now built and run during make check.
(Kjell Ahlstedt) Bug #678390
- Define LIBXMLCPP_EXCEPTIONS_ENABLED unconditionally.
(Kjell Ahlstedt)
2.35.2 (unstable):
* Node: Add get_first_child().
(Murray Cumming, Based on a patch by Ilya Murav'jov in bug #648125)
* Build: Remove the --disable-api-exceptions configure option.
(Murray Cumming)
2.35.1 (unstable):
* Handle attributes with default values correctly.
(Kjell Ahlstedt) Bug #669635.
* Improved handling of entity references and processing instructions.
(Kjell Ahlstedt) Bug #669481
* Parser: Throw more detailed error messages.
(Kjell Ahlstedt) Bug #304020 (Virgile Devaux)
* Document: Make the Document(xmlDoc*) constructor protected.
(Murray Cumming) Bug #668980 (A. Pignotti).
2.34.2 (stable):
* Element: Add add_child_cdata(), like the existing add_child_text().
* Node::create_new_child_node(): Use the default namespace if none is specified.
(Mathias Lorente) Bug #656110
* Documentation: Fix a markup typo.
(Murray Cumming)
2.34.1 (stable):
* Do not require mm-common during the tarball build.
(Murray Cumming)
2.34.0 (stable):
Major changes since 2.32:
* Allow separate and multi-threaded libxml2 usage by
not using the global xmlRegisterNodeDefault() and xmlDeregisterNodeDefault()
callbacks.
(Alessandro Pignotti)
* Do not call xmlCleanupParser() when the library is unloaded,
because it is brutal and can break other parts of applications that try to
use libxml separately.
(Murray Cumming)
2.33.2 (unstable):
* Node::remove_child(): Fix a memory management problem introduced in
2.33.1.
(Murray Cumming)
* Document::do_write_to_stream(), Schema::set_document(): Check the results from
xmlSchemaNewDocParserCtxt() and xmlSaveFormatFileTo().
(Murray Cumming) Bug #635846 (Markus Elfring)
2.33.1 (unstable):
* (Hopefully) allow separate and multi-threaded libxml2 usage by
not using the global xmlRegisterNodeDefault() and xmlDeregisterNodeDefault()
callbacks.
(Alessandro Pignotti)
* Do not call xmlCleanupParser() when the library is unloaded,
because it is brutal and can break other parts of applications that try to
use libxml separately.
(Murray Cumming)
* Minor code improvement.
(Knut Aksel Røysland)
* Build: Build the examples by default.
(Murray Cumming)
2.32.0 (stable):
* Node::find(): Check xmlNode::type for a XML_NAMESPACE_DECL to prevent a
crash/corruption.
(Murray Cumming) Bug #386013 (Max Kirillov)
* Build: Added an MSVC .net 2010 and 64-bit Windows builds.
(Armin Burgmeier)
2.30.1 (stable):
* Documentation:
- Added main page doxygen text.
(David King, Murray Cumming)
- Show NodeList.
(Murray Cumming) Bug #583412 (Hubert Figuiere).
- Correct some @newin tags.
(Murray Cumming)
2.30.0(stable):
* Build system rewrite.
* Use mm-common for reference documentation generation. Fixes GNOME bugs
#583411 (Hubert Figuiere), #614260 (David King) and #551501 (Johannes Schmid)
* Fix several compiler warnings.
* Use 0 instead of NULL. (Murray Cumming)
2.26.1(stable):
* Build fixes
* Build without exceptions
2.26.0(stable):
* Increased version number to match GNOME 2.26.
2.24.3 (stable):
* TextReader: Actually throw exceptions on errors.
(This breaks ABI but we do not believe that this class could be used with
this problem so it should not actually break any application.)
Bug #348006.
* Build: Windows: Remove unnecessary vsnprint define.
(Armin Burgmeier)
2.24.2 (stable):
* Fixed another two memory leaks.
(Armin Burgmeier) Bug #563321 (Arjan Franzen)
* Removed obsolete MSVC6 project files
(Armin Burgmeier)
2.24.1 (stable):
* Added new Schema and SchemaValidator classes to MSVC project files
(Arjan Franzen, Arming Burgmeier) Bug #563664.
* Avoid a memory leak in Validator::check_for_exception.
(Arjan Franzen, Murray Cumming) Bug #563321.
* Avoid a memory leak in schema class.
(Balazs Tirpak, Murray Cumming) Bug #312216.
2.24.0 (stable):
Changes since 2.22:
* Attribute: Return the correct value even when using a namespace.
(Murray Cumming) Bug #547689 (Sergei Fedorov)
* Added Schema and SchemaValidator classes, demonstrated in
examples/schemavalidation.
(Emilien KIA) Bug #312216.
* Element: Added add_child_text() with a previous_node parameter, for adding
between existing nodes. Added add_child_text_before() too.
* Node: Added add_child() with a previous_node parameter, for adding between
existing nodes. Added add_child_before() too.
(Murray Cumming)
* SaxParser: added parse_chunk_raw().
(Armin Burgmeier)
2.23.3 (unstable):
* Attribute: Return the correct value even when using a namespace.
(Murray Cumming) Bug #547689 (Sergei Fedorov)
* Fixed MSVC++ Windows build.
(Armin Burgmeier)
2.23.2 (unstable):
* SaxParser: added parse_chunk_raw().
(Armin Burgmeier)
* examples: sax_parser: Catch convert errors when printing an exception to
std:cout, though libxml++/libxml should always supply valid UTF-8.
(Murray Cumming)
2.23.1 (unstable):
* Added Schema and SchemaValidator classes, demonstrated in
examples/schemavalidation.
(Emilien KIA) Bug #312216.
* Element: Added add_child_text() with a previous_node parameter, for adding
between existing nodes. Added add_child_text_before() too.
* Node: Added add_child() with a previous_node parameter, for adding between
existing nodes. Added add_child_before() too.
(Murray Cumming)
2.22.0 (stable):
* Document: Fix a memory leak, by calling xmlCleanupParser
in the destructor.
(Deng Xiyue) Bug #501168 (Matt G.)
* Build: Fix the build with gcc 4.3 pre-releases.
(Martin Michlmayr) Bug #510053.
2.20.0 (stable):
Changes since 2.18:
* Element: Added get_attribute_value(),
to get a simple text value for an attribute.
(Stef Walter) Bug #373573.
* Added an experimental --enable-api-exceptions
configure option, to allow libxml++ to build without
exceptions.
(Murray Cumming)
2.19.2 (unstable):
* Added an experimental --enable-api-exceptions
configure option, to allow libxml++ to build without
exceptions.
2.19.1(unstable):
* Element.h: Added get_attribute_value(),
to get a simple text value for an attribute.
(Stef Walter) Bug #373573.
2.18.2 (stable):
* TextReader: get_name(): Fixed a memory leak.
(Christophe de Vienne) Bug #447535.
2.18.1 (stable):
* Document::add_comment,
Element: add_child_text(), add_child_comment():
avoid accessing freed memory. (Murray Cumming)
2.18.0(stable):
* Slight win32 build improvement, possibly.
(Artur Wegele)
* Slight improvement to examples.
(Murray Cumming)
2.17.2 (unstable):
* Node: Adedd get_next_sibling() and get_previous_sibling().
Bug #351867.
(Nate Nielsen)
2.17.1 (unstable):
* Node: Added get_parent() Bug #351876 (Patch by Nate Nielsen)
* TextReader: Added TextReader(const char* data) constructor, for
parsing memory buffers. Bug #351215 (Patch by Nate Nielsen)
* Element::set_attribute(): Really return the new attribute.
Bug #361950 (Patch by Nate Nielsen)
* Build: Added MS Visual Studio 2005 project files.
(Cedric Gustin)
2.14 (stable):
* Documentation:
- Improved ContentNode documentation (Murray Cumming)
2.13.1 (unstable):
* First unstable 2.13.x release, to become stable 2.14.x, for GNOME 2.14.
* Node:
- Added find() overload that takes namespaces to register during the search,
using xmlXPathRegisterNs(). Bug #323935. (Robert Fleming)
- set_namespace(): When creating a default namespace, avoid the
"The namespace () has not been declared" warning, by passing 0 to
xmlSearchNs() instead of an empty string. Bug #318186.
(Erik Oestby).
* Build: Fix buildir!=srcdir builds. Bug #319863.(Vadim Zeitlin)
* Documentation:
- Tutorial: Mention pkg-config.
- Reference: Grammar fixes and a small fix for find().
(Murray Cumming)
2.12.0 (stable):
* Added the state "Reading" to xml Reader States list.
2.11.0 (unstable):
* First unstable 2.11.x release, to become stable 2.12.x
* Fixed Document::set_entity_declaration behavior (Murray Cumming)
* Updated MSVC.Net2003 project files (Cedric Gustin)
* Fixed bugs #301727, #301712, #156352, #161825, #307481, #314419
2.10.0 (stable):
* Fixed documentation packaging problems (Murray Cumming, Christophe de Vienne)
2.9.2 (unstable):
* Added MSVC .Net 2003 support (Cedric Gustin)
* Improved documentation + Added a manual (Murray Cumming)
* Fixed a bug in utf8 handling in Document::do_write_to_string (Murray Cumming)
2.9.1 (unstable):
* First unstable 2.9.x release, to become stable 2.10.x.
* DomParser, SaxParser: Added
parse_memory_raw(const unsigned char* contents, size_type bytes)
for parsing non-utf8 text or text of unknown encoding.
2.8.0 (stable):
* Code Cleaning.
* Changes compared to libxml++ 2.7:
- Added Validator and DtdValidator classes.
2.7.1 (unstable):
* Fixed bug #150082 (Christophe de Vienne)
2.7.0 (unstable):
* Added Validator and DtdValidator (Guillaume Arreckx)
2004-05-05 2.6.1 (stable):
* Fixed an issue (#141824) with Glib::ustring.
* Fixed ContentNode::SetContent behavior.
2004-04-13 2.6.0 (stable):
* Corrected constness of TextReader::get_current_node (Murray Cumming)
2004-03-02 2.5.2 (unstable):
* Fixed bug #134390: "SEGFAULT in Element::get_attribute" (John Coyle)
* Code cleaning.
2004-02-09 2.5.1 (unstable):
* Introduced Glib::ustring instead of std::string (Murray Cumming)
* Added Document::create_root_node_by_import (Kim Garrison)
* Fixed bugs #131018, #131329 and #132014.
* Added TextReader interface (Christophe de Vienne)
2003-12-18 1.0.0 (stable):
* Updated msvc files (Ephraim Vider)
* Fixed an issue in SaxParser (Murray Cumming)
2003-12-08 0.28 (unstable):
* Added entity handling to the SAX parser + examples (Dan Dennedy and Murray Cumming)
* Replaced SaxParser::AttributeMap with an ordered container (Christophe de Vienne)
* Fixed an issue with threading (Christophe de Vienne)
* Complete switched to pkg-config (Christophe de Vienne)
2003-11-05 0.27 (unstable):
* Completed documentation
* Added Element::add_comment (Dan Dennedy)
* Wrapped xmlIO output buffers and added Document::write_to_stream (Christophe de Vienne)
* Cleaned and made more consistent Element API (Murray Cumming)
* Added entities support in DomParser (Murray Cumming)
2003-09-23 0.26 (unstable):
* Added import_node example into MSVC6 project files (Ephraim Vider)
* Node::import_node now takes a const Node (suggested by Rafael Vuijk)
* Fixed threading issue due to incorrect libxml2 initialisation (Fredrik Arnerup)
* Updated Doxyfile (Christophe de Vienne)
* Added Namespaces support (Dan Dennedy, Murray Cumming)
2003-07-18 0.25 (unstable):
* Fixed MSVC6 project files (Ephraim Vider)
* Added Node::import_node (Eric Bourque)
* Removed throw specification (Christophe de Vienne).
* Removed old-style autoconf macro for libxml++ detection (Christophe de Vienne).
* Removed unused examples (Murray Cumming)
2003-06-11 0.24 (unstable):
* Added Document::write_to_file_formatted() and
Document::write_to_string_formatted() - they add white space indenting.
(Christophe de Vienne)
* Added ContentNode::is_white_space() to make it easier for applications to
ignore white space such as indenting. (Murray Cumming)
* Node: Added set_name(). (Christophe de Vienne)
* Compiles with gcc's pedantic warnings as errors.
(Christophe de Vienne)
* libxml++ header files no longer include any libxml header files.
(Christophe de Vienne)
* Removed superfluous standalone parse_* methods in document.[h|cc]
(Murray Cumming)
* Minor reference documentation corrections.
(Jonathan Wakely)
* Replaced some <istream> with <iostream> to support older compilers.
(Jonathan Wakely)
* Added classes to wrap the missing node types. (Ephraim Vider).
* Fixed a memory leak in write_to_string[_formatted] functions. (Morten Hanssen)
* Fixed compile error in keepblanks.h with MSVC 6.0. (Christophe de Vienne).
* Fixed segfault in DomParser::parse_stream on parsing failure.
(Christophe de Vienne).
2003-05-20: 0.23 (unstable):
* Fixed incorrect use of xmlKeepBlanksDefault. Handling of white spaces
is now conforming to xml specification. (Christophe de Vienne)
* Classes inherit from NonCopyable to avoid mistakes and clarify the
memory mangement.
(Murray Cumming)
* Node::find() returns empty NodeSet if it does not find the path.
(Andy Glew)
* DomParser: Fixed memory leak. (Christophe de Vienne, Thierry Blanchard)
* Fixed NetBSD compilation (Chistophe de Vienne, Jaka Jejcic)
* Improved .spec.in file. (Eric Bourque)
* Some MSVC++ support and minor corrections. (Ephraim Vider)
0.22 (unstable):
* DOM Parser:
- Reduced API duplication - you must now use get_document().
(Ephraim Vider)
- Now throws exception if document not found.
(Christophe de Vienne)
- Added const get_document() overload. (Murray Cumming)
0.21 (unstable):
* Parsers:
- Validation now supported: Use Parser::set_validate() to turn on validation.
Parsers will then throw validation_error exceptions if validation fails.
(Murray Cumming)
- SaxParser: Added parse_chunk() for gradual parsing of XML fragments.
(Ole Laursen)
* Node:
- Moved add_child_content(), get_child_content(), set_child_content(),
and has_content() to Element class.
- Fixed set_child_content() to add content instead of creating a node.
(Murray Cumming)
* Added spec file for RPMs. (Eric Bourque)
2003-02-15: 0.20 (unstable):
* Node::remove_child() now works.
(Murray Cumming)
* Added examples/dom_xpath.
(Stefan Seefeld, Murray Cumming)
2003-02-08: 0.19 (unstable):
* The imlementation now uses libxml's API more instead of reimplementing data structures.
(Stefan Seefeld, Murray Cumming)
* Attribute::get_value() use libxml's API properly, so it now respects the DTD.
(Stefan Seefeld)
* Node: Added get_path() and find() for xpath lookup. (Stefan Seefeld)
* Attribute now inherits from Node, as required by the find() method. (Stefan Seefeld)
* Added Document class. (Stefan Seefeld)
* Added cobj() accessors, in case you need to use unwrapped libxml API. (Murray Cumming)
* SaxParser:
Added CDATA section handler.
fixed a potential buffer overflow problem
(Valentin Rusu)
2003-01-09: 0.18 (unstable):
* big API change for nodes handling : the different types of node now herit
from a base Node class. This, among other advantages, avoids previous ambiguity
on content() acessors meaning.
* little bugfixes and improvements in SaxParser.
2002-12-10: 0.17 (unstable):
* properties are now called attributes.
* it is now possible to throw exceptions from callback
methods in SaxParser.
* parsers can parse from a stream.
* memory leak fixed in SaxParser.
* configure check for libxml2 2.4.1 at least.
* bug fixes.
2002-11-20: 0.16 (unstable):
* Examples added.
* Xml type name prefix removed.
* Tree replaced with DomParser.
* Parser renamed to SaxParser.
* Property renamed to Attribute
* Errors thrown as exceptions.
* Both parsers can parse from either file or memory.
* Simplified memory management -
no more returning of static temporaries.
* set_*() methods return void.