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
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
|
Revision history for Perl extension XML::LibXML
2.0204 2020-03-17
- Require a recent Alien::Libxml2.
- https://rt.cpan.org/Public/Bug/Display.html?id=132129
- Thanks to SREZIC
2.0203 2020-03-11
- Use Alien::Base::Wrapper for better portability.
- https://github.com/shlomif/perl-XML-LibXML/pull/45
- Thanks to @plicease
2.0202 2020-01-13
- Disable loading external DTDs or external entities by default
- Thanks to Tim Retout
- Docs: Noting that HTTPS doesn't work for schema-loading either.
- Thanks to Jason McIntosh
- Allow to parse RelaxNG without accessing network
- Thanks to PALI
- Allow to parse XML Schema without accessing network
- Thanks to PALI
- Add Test-Count assertion count checking using
https://metacpan.org/pod/Code::TidyAll::Plugin::TestCount
2.0201 2019-05-25
- Set MIN_PERL_VERSION to 5.8.1.
- Alien::Libxml2 Makefile.PL cleanups.
- Update the README for grammar and info.
- Link to XML-LibXML "by Example"
- https://github.com/shlomif/perl-XML-LibXML/pull/36
- Thanks to @Grinnz .
2.0200 2019-03-23
- Convert to use Alien::Libxml2 .
- https://github.com/shlomif/perl-XML-LibXML/pull/30
- Thanks to @genio and @plicease .
2.0134 2019-02-10
- Fix overzealous POD escaping in the docs' synposes
- https://github.com/shlomif/perl-XML-LibXML/issues/26
- Thanks to @davorg.
2.0133 2019-02-02
- Mark as working with libxml2 2.9.9 ( and below ).
- Allow LibParser to be provided for all methods
- https://github.com/shlomif/perl-XML-LibXML/pull/23
- Thanks to @lavock .
- Portability fixes by Reini Urban and others.
- https://github.com/shlomif/perl-XML-LibXML/pull/18 .
- Thanks!
2.0132 2017-10-28
- Revert setNamespace() enhancements that broke some dependent tests:
- commit df9fdc6659cb2e4e9bc896e58c02dfd79b430fbb
- add t/48_rt123379_setNamespace.t .
- Thanks to Alexander Bluhm and Slaven Rezic for the reports and
the test.
2.0131 2017-10-24
- Re-include the missing *.pod documents.
- https://rt.cpan.org/Ticket/Display.html?id=123362
- Thanks to Stephen for the report.
- Add t/pod-files-presence.t to test for it in the future.
- Merge https://github.com/shlomif/perl-XML-LibXML/pull/8
- Fix bug in Node::replaceChild()
- Thanks to @Mipu94 .
2.0130 2017-10-18
- Fix the tests with libxml2-2.9.6 .
- https://rt.cpan.org/Public/Bug/Display.html?id=122958
- Thanks to Daniel Macks for the report and ppisar for a patch.
- setNamespace() Enhancements.
- Thanks to E. Choroba.
2.0129 2017-03-14
- Add example/create-sample-html-document.pl .
- https://rt.cpan.org/Ticket/Display.html?id=117923
- Add support for the set_document_locator() SAX method .
- Thanks to Alexander Batyrshin for the pull-request.
- Make parsing of large perl strings much faster.
- https://github.com/shlomif/perl-XML-LibXML/pull/5
- Thanks to Cedric Cellier for the pull-request.
2.0128 2016-07-24
- Hopefully add the .pod files again as they were missing from 2.0127.
- https://github.com/shlomif/perl-XML-LibXML/issues/3
- Thanks to Paul Howarth for the report.
- This was caused by ExtUtils::Manifest just warning that the files
referenced in the "MANIFEST" file were not present and still
continuing to prepare the archive as usual. A "do-what-I-don't-want-to"
thing.
2.0127 2016-07-22
- Make sure t/release-kwalitee.t and other tests do not run by default.
- Only with AUTHOR_TESTING or RELEASE_TESTING specified.
- Thanks to Lance Wicks for the pull request.
- https://rt.cpan.org/Ticket/Display.html?id=115586
- https://rt.cpan.org/Ticket/Display.html?id=115859
2.0126 2016-06-24
- Workaround RT#114638:
- 2.9.4 broke XSD Schema support.
- https://rt.cpan.org/Public/Bug/Display.html?id=114638
- https://github.com/shlomif/libxml2-2.9.4-reader-schema-regression
- https://bugzilla.gnome.org/show_bug.cgi?id=766834
- https://github.com/shlomif/perl-XML-LibXML/pull/1
- Thanks to Paul for the report and to RURBAN for a pull-req.
- Add t/release-kwalitee.t for testing CPANTS Kwalitee.
2.0125 2016-05-30
- Moved the repository from Mercurial and BitBucket to Git and GitHub:
- https://github.com/shlomif/perl-XML-LibXML
- This was done to better encourage contributions to XML::LibXML and
to be able to use the better Continuous Integration options that
are available for GitHub projects.
2.0124 2016-02-27
- Fix XML::LibXML::Text->attributes() to return an empty list in list
context.
- https://rt.cpan.org/Ticket/Display.html?id=112470
- Thanks to Rob Dixon for the report.
2.0123 2015-12-06
- Get rid of an undef-warning in XML::LibXML::Reader .
- https://rt.cpan.org/Ticket/Display.html?id=106830
- Thanks to Rich for the report and testcase.
- Apply patch from Debian for rewording the documentation.
- https://rt.cpan.org/Ticket/Display.html?id=110116
- Some extra rewording has been done by SHLOMIF.
- Thanks to Gregor Herrman and the Debian Team
2.0122 2015-09-01
- Enable the memory test on cygwin as well as Linux.
- https://rt.cpan.org/Ticket/Display.html?id=104666
- Thanks to https://me.yahoo.com/howdidwegetherereally#f714d for
the report.
- Fix a typo in createElementNS
- https://rt.cpan.org/Public/Bug/Display.html?id=106807
- Thanks to Rich for the report.
2.0121 2015-05-03
- Mention CVE-2015-3451 and related links in the Changes (= this file)
entry for 2.0119.
- Thanks to Tilmann Haak for pointing it out.
2.0120 2015-05-01
- Replace the test for the previous change with a more meaningful one.
- Change was to preserve unset options after a _clone() call.
- https://access.redhat.com/security/cve/CVE-2015-3451
- Thanks to Salvatore Bonaccorso from Debian for the report and
for a proposed fix (which was further refined by Shlomi Fish).
2.0119 2015-04-23
- SECURITY: Preserve unset options after a _clone() call (e.g: in
load_xml()).
- This caused expand_entities(0) to not be preserved/etc.
- This is a security problem which was assigned the CVE number of
CVE-2015-3451 .
- https://access.redhat.com/security/cve/CVE-2015-3451
- http://seclists.org/oss-sec/2015/q2/313
- Thanks to Tilmann Haak from xing.com for the report.
2.0118 2015-02-05
- Add $Config{incpath} to the include paths on Win32.
- Fixes https://rt.cpan.org/Ticket/Display.html?id=101944
- Thanks to Marek for the report and propsed fix.
2.0117 2014-10-26
- Support libxml2 builds with disabled xmlReader
- Makefile.PL : don't require a recentish ExtUtils::MakeMaker.
- https://rt.cpan.org/Ticket/Display.html?id=83322
- Thanks to Slaven Rezic for the report.
- Fix broken t/02parse.t with non-English locale with recent perls.
- https://rt.cpan.org/Public/Bug/Display.html?id=97805
- Thanks to Slaven Rezic for the report.
2.0116 2014-04-12
- t/cpan-changes.t : minimum version of Test::CPAN::Changes.
- This is to avoid test failures such as:
- http://www.cpantesters.org/cpan/report/69ee1a2a-6c09-1014-be8f-3786912f2992
2.0115 2014-04-03
- Fix double free when calling $node->addSibling with text nodes.
- https://rt.cpan.org/Ticket/Display.html?id=94149
- Thanks to Jeff Trout for the report.
2.0114 2014-04-03
- Fix memory leaks and segfaults related to removal and insertion of
DTD nodes.
- https://rt.cpan.org/Ticket/Display.html?id=80521
- Fix memory leak in $node->removeChildNodes
2.0113 2014-03-14
- Fix test failures with older libxml2 versions.
- https://rt.cpan.org/Ticket/Display.html?id=93852
- Thanks to Nick Wellnhofer for the patch.
- Thanks to the CPAN Testers for reporting this issue.
2.0112 2014-03-13
- Fix segfaults when accessing attributes of DTD nodes
- https://rt.cpan.org/Ticket/Display.html?id=71076
- Thanks to Ralph Merridew for the report.
- Make $schema->validate work with elements. This uses
xmlSchemaValidateOneElement under the hood.
- https://rt.cpan.org/Ticket/Display.html?id=93496
- Thanks to Jeremy Marshall for the report.
- Fix https://rt.cpan.org/Ticket/Display.html?id=93429 .
- Thanks to Nick Wellnhofer for the report and test.
- Apply patch to build with MSVC on Windows.
- https://rt.cpan.org/Ticket/Display.html?id=90064
- Thanks to Nick Wellnhofer for the investigation and the patch.
2.0111 2014-03-05
- Skip t/40reader_mem_error.t with libxml2 < 2.7.4
The failure is probably due to a known double-free bug.
- https://rt.cpan.org/Ticket/Display.html?id=84564
- https://bugzilla.gnome.org/show_bug.cgi?id=447899
- Thanks to Nick Wellnhofer for the pull request.
- Die if a file handle with an encoding layer returns more bytes
than requested in parse_fh.
- https://rt.cpan.org/Ticket/Display.html?id=78448
- Make insertData, deleteData, replaceData work correctly with UTF-8
strings.
- Fix substringData
- https://rt.cpan.org/Ticket/Display.html?id=88730
- Fix "Threads still failing?" Bug report.
- https://rt.cpan.org/Ticket/Display.html?id=91800
- Thanks to Daniel for the bug report and a test case, and to
YOREEK for the patch.
2.0110 2014-02-01
- Add "use strict;" and "use warnings;" to all modules (CPANTS).
- MIN_PERL_VERSION (CPANTS).
- Add a LICENSE section to the POD (CPANTS).
2.0109 2014-01-31
- Fix for requiring XML::LibXML inside two loops in perl-5.19.6 and up.
- https://rt.cpan.org/Ticket/Display.html?id=92606
- Thanks to Father Chrysostomos for the investigation, the test
case, and the fix.
- There are other ways to reproduce the bug, but the tests tests
for a require inside two loops.
2.0108 2013-12-17
- Replace local $^W with << no warnings 'portable'; >> in t/15nodelist.t
- Should fix https://rt.cpan.org/Public/Bug/Display.html?id=88017
- Thanks to "pagenyon" for the report.
- Fix hash key typo in SAX/Builder.pm - "LocalName" was mis-capitalised.
- https://rt.cpan.org/Public/Bug/Display.html?id=91433
- Thanks to Thomas Berger for the report and for a reproducing
testcase.
- Convert from "use base" to the more modern "use parent".
2.0107 2013-10-31
- Add a unique_key method for namespace objects.
- https://bitbucket.org/shlomif/perl-xml-libxml/pull-request/24/unique_key-method-for-namespace-objects/diff
- Thanks to garfieldnate for the pull request.
- Grammar fixes in the documentation.
- https://rt.cpan.org/Ticket/Display.html?id=89718
- Thanks to Gregor Herrman and the Debian Team
2.0106 2013-09-17
- Import croak from "use Carp;" to fix a missing croak definition.
- https://rt.cpan.org/Ticket/Display.html?id=88624
- Update Devel::CheckLib under "./inc" to 1.01 :
- Should fix https://rt.cpan.org/Public/Bug/Display.html?id=81297
2.0105 2013-09-07
- Pull some commits from Jason Mash (JRMASH) to add convenience methods
to the XML::LibXML::NodeList module.
- New method 'to_literal_delimited($separator)'
- New method 'to_literal_list()'
- Fix t/35huge_mode.t on libxml2 versions less than 2.7.0.
- Fixes https://rt.cpan.org/Ticket/Display.html?id=88375
- Thanks to Yuriy / YOREEK for the patch.
- Add toStringC14N_v1_1() to XML::LibXML::Node.
- Fixes https://rt.cpan.org/Public/Bug/Display.html?id=88254
- Thanks to Ulrich for the report and for a patch of sorts.
2.0104 2013-08-30
- Fix https://rt.cpan.org/Ticket/Display.html?id=88060
- Use quoted version number in the SYNOPSIS.
- Thanks to Philipp Gortan for the report.
- Apply a patch from Yuriy / YOREEK for test failures with a
directory component that contains whitespace.
- https://rt.cpan.org/Ticket/Display.html?id=86665
2.0103 2013-08-22
- Apply patch from Yuriy / YOREEK for test failures in t/40reader.t:
- https://rt.cpan.org/Public/Bug/Display.html?id=83779
- Changed the variable name to start with an underscore for internal
use.
2.0102 2013-08-19
- Fixed https://rt.cpan.org/Ticket/Display.html?id=83744
- XPathContext memory leak on registerFunction.
- Thanks to DGINEV for the report and Yuriy for the patch.
- Apply proposed fix for https://rt.cpan.org/Ticket/Display.html?id=80521
- "replaceNode() segfaults when copying DTD nodes with ATTLISTs"
- Thanks to GUIDO@cpan.org for the report and to YOREEK for
the patch.
- Apply fix for https://rt.cpan.org/Ticket/Display.html?id=83779
- "building on RHEL-5-64 fails"
- Thanks to mathias@koerber.org for the report, SREZIC@cpan.org
and d.thomas@its.uq.edu.au for taking part and Yuriy for the patch.
2.0101 2013-08-15
- Fixed https://rt.cpan.org/Ticket/Display.html?id=87089 .
- "HTML doctype differs for string/scalar input"
- Thanks to NGLENN for the report and to Yuriy for the tests and
fix.
2.0100 2013-08-14
- Added the unique_key() method to XML::LibXML::Node.
- t/40reader.t: assigning from $@ to a lexical so it won't be
over-ridden.
- https://rt.cpan.org/Ticket/Display.html?id=87830
- Thanks to Douglas Christopher Wilson for the report.
2.0019 2013-07-01
- Correct typos reported in RT #86599.
- https://rt.cpan.org/Ticket/Display.html?id=86599
- Thanks to dsteinbrunner.
2.0018 2013-05-13
- Revert previous change of minimal version of libxml2.
- This change proved to be unpopular and didn't prevent
the CPAN test failures.
- By SHLOMIF
2.0017 2013-05-09
- Made the minimal version of libxml2 2.9.0 as previous versions were
too buggy due to spuriourous CPAN test failures.
- Please upgrade.
- By SHLOMIF
2.0016 2013-04-13
- Don't enable XML_PARSE_HUGE by default.
- Fix the previous version due to a mercurial SNAFU.
2.0015 2013-04-13
- Don't enable XML_PARSE_HUGE by default.
- https://bitbucket.org/shlomif/perl-xml-libxml/pull-request/19
- Thanks to Grant McLean ( https://metacpan.org/author/GRANTM ) for
the bug report and patch.
2.0014 2012-12-05
- Got 40reader_mem_error.t to not fetch the external DTDs.
- https://rt.cpan.org/Public/Bug/Display.html?id=81703
- Thanks to Alexandr Ciornii (CHORNY) for the report and Slaven
Rezic (SREZIC) for the analysis and a proposed fix.
2.0013 2012-12-04
- Fix a memory error (double-free) in XML::LibXML::Reader if we reached
EOF and
then called destroy.
- discovered by Shlomi Fish.
- Fixed by Shlomi Fish.
- see t/40reader_mem_error.t
2.0012 2012-11-09
- Fix support for references to scalars with overloaded stringification
magic.
- https://rt.cpan.org/Public/Bug/Display.html?id=77864
- Thanks to Christian Hansen (CHANSEN) for a report, a testcase, and
a patch.
2.0011 2012-11-08
- Fix crash in removeChild() when not expanding entities
- https://rt.cpan.org/Ticket/Display.html?id=80395
- "removeChild() segfaults when not expanding entities"
- Thanks to GUIDO@cpan.org for the report, for a test case (that
was adapted into t/48_removeChild_crashes_rt_80395.t ) and for
a patch to fix it.
2.0010 2012-11-01
- Passing debug (an undocumented option) to check_lib in Makefile.PL.
- This way we get more meaningful traces on perl Makefile.PL DEBUG=1.
- Thanks to MSTROUT for the report and a proposed fix.
2.0009 2012-11-01
- Fix libxml2 detection in Strawberry Perl.
- Another Devel::CheckOS fallout.
- Thanks to KMX for the report and for a proposed fix. The actual fix
was made to be more generic considering the use-cases.
- https://rt.cpan.org/Ticket/Display.html?id=80540
2.0008 2012-10-22
- Fix build error when using non-standard libxml2 installation
- https://rt.cpan.org/Ticket/Display.html?id=80332
- Thanks to L RW for the report.
2.0007 2012-10-17
- Fix for build failures on Windows with Microsoft Visual C++.
- https://rt.cpan.org/Ticket/Display.html?id=80229
- Thanks to Desmond Daignault for the report and an initial patch.
- Patch modified by Shlomi Fish
2.0006 2012-10-13
- When xml2-config returns several paths, the configuration failed.
Fixed that.
- https://rt.cpan.org/Public/Bug/Display.html?id=80167
- Thanks to VOVKASM for the report and fix.
2.0005 2012-10-13
- Added t/style-trailing-space.t and removed trailing space.
- Add a check for the existence of included C headers (*.h) files
in Makefile.PL to avoid failed compilations.
- Using Devel::CheckLib.
- Thanks to its maintainers!
2.0004 2012-08-07
- Add a way to specify a different compiler to be used in the
"Makefile" by calling Makefile.PL with the CC environment variable
set to the path to the alternate compiler.
- This way we can use «CC=/usr/bin/clang perl Makefile.PL»
in order to compile faster.
- LibXML.pm (_clone): Fix typo in line_numbers handling.
- Thanks to Bernhard Reutner-Fischer for the report and fix.
2.0003 2012-07-27
- Patch to a potential NULL dereference in xpath.c.
- Thanks to Ville Skyttä <ville.skytta@iki.fi> and cppcheck.
- Fix NodeList::item() calling a 1-indxed array reference.
- See:
- https://bitbucket.org/shlomif/perl-xml-libxml/pull-request/18
- Thanks to Tim Brody
- Add the scripts/tag-release.pl script to tag a release using
Mercurial.
2.0002 2012-07-08
- Applied spelling fixes correction patch by
Ville Skyttä <ville.skytta@iki.fi>.
- Thanks, Ville!
2.0001 2012-06-20
- Remove the leftover perl-libxml-libxml.h from the distribution.
- https://rt.cpan.org/Ticket/Display.html?id=77924
- Thanks to Martin Mann for the report.
2.0000 2012-06-19
- Fix warnings that appear when compiling using the clang C compiler by
default.
- https://rt.cpan.org/Ticket/Display.html?id=77802
- Thanks to duvny for the report, and to seldon, doy and Zefram
for their assistance in fixing the warnings.
- Fix tests and run-time errors when Hash::FieldHash is installed
by no longer using Hash::FieldHash.
- https://rt.cpan.org/Ticket/Display.html?id=77576
- Thanks to hsk@fli-leibniz.de for reporting it, and to
Father Chrysostomos ( http://search.cpan.org/~sprout/ ) and
Mons Anderson for some diagnosis.
1.99 2012-05-31
- Apply a patch from Mons Anderson ( mons@cpan.org ) for fixing the
overloading.
- t/62overload.t
- Thanks to Mons.
- Fix test failures (and general functionality) on 64-bit big endian
platforms
- https://rt.cpan.org/Ticket/Display.html?id=77340
- Thanks to Gregor Herrmann and Niko Tyni from the
Debian Perl group.
1.98 2012-05-13
- Make sure parse_string() and load_xml() also accept references to
strings (to avoid unnecessary copying).
- See: https://rt.cpan.org/Ticket/Display.html?id=64051
1.97 2012-04-30
- Apply a test and a fix to correct keep_blanks having no effect on
parse_balanced_chunk.
- fixes https://rt.cpan.org/Ticket/Display.html?id=76696
- Add t/30keep_blanks.t .
- Thanks to SREZIC for the report, the test and the fix.
1.96 2012-03-16
- Apply a patch to add leading minus signs to the commands of
install_sax_driver.
- This makes the make process succeed even if they fail.
- Fixes https://rt.cpan.org/Public/Bug/Display.html?id=75007
- Thanks to POPEL for the report, and to Petr Pajas for the patch.
- Apply a patch from Tim Brody to skip_all on
t/49callbacks_returning_undef.t when URI.pm's version is below 1.35.
- Thanks to Tim Brody for the patch.
- Fixes the problem reported in http://www.city-fan.org/tips/PaulHowarth/Blog/2011-09-06.
1.95 2012-03-06
- Got rid of a broken test (at least with recent libxml2s) in
t/03doc.t :
- https://rt.cpan.org/Ticket/Display.html?id=75403
- The problem was that the test tested for an undefined XML
namespace, a behaviour which was changed in a recent libxml2
release.
- Thanks to vcizek for the report.
1.94 2012-03-03
- Fix XML::LibXML::Element tests for ineqaulity with == and eq.
- Fixes https://rt.cpan.org/Ticket/Display.html?id=75505 .
- Thanks to Mark Overmeer for the report and for a preliminary patch
to t/71overload.t .
1.93 2012-02-27
- Fix XML::LibXML::Element comparison with == and eq.
- Fixes https://rt.cpan.org/Ticket/Display.html?id=75257 ,
https://rt.cpan.org/Ticket/Display.html?id=75293 ,
https://rt.cpan.org/Ticket/Display.html?id=75259 .
- Thanks to Toby Inkster for a preliminary patch (that was modified by
me) and to the various people who reported the problem.
1.92 2012-02-21
- Fix for test failure on perls < 5.10.
- Fixes https://rt.cpan.org/Public/Bug/Display.html?id=75195
- Thanks to Paul for the report, and for a patch that was not
accepted.
1.91 2012-02-21
- Overload hash dereferencing on XML::LibXML::Elements, to provide
access to the element's attributes.
- See XML::LibXML::AttributeHash for details.
- Thanks to Toby Inkster.
- Pull some commits from Toby Inkster to add more convenient methods
to XML::LibXML::NodeList such as sort, map, grep, etc.
- https://bitbucket.org/shlomif/perl-xml-libxml/pull-request/11/xml-libxml-nodelist-improvements
- Thanks, Toby!
- Printed some warnings regardless if DEBUG is on.
- Thanks to http://search.cpan.org/~mstrout/ for the suggestion.
1.90 2012-01-08
- Pull a commit from Aaron Crange to fix compilation bugs in Devel.xs:
- local variable declarations must be in the PREINIT section,
not `CODE`, at least for some compiler/OS combinations.
- Thanks, Aaron!
1.89 2011-12-24
- Apply a patch with spelling fixes by Kevin Lyda :
- https://rt.cpan.org/Public/Bug/Display.html?id=71403
- Thanks to Kevin.
- Apply a pull request by ElDiablo with the implementation of
lib/XML/LibXML/Devel.pm .
- Adjust the Win32 Build Instructions in the README file.
- Thanks to Christopher J. Madsen.
1.88 2011-09-21
- Add libxml2 2.7.8 as tested and working fine for the Makefile.PL.
(Thanks to H. Merijn Brand.).
- Apply a patch to perl-libxml-sax.c to use xmlChar * instead of char *.
(Thanks to H. Merijn Brand.).
- Correct the README so it won't read XML-LibXML-Common.
- see http://code.activestate.com/lists/perl-xml/8907/
- Add a patch to implement the no_defdtd option in recent libxml2's:
- https://rt.cpan.org/Ticket/Display.html?id=70878
- Thanks to zzgrim@gmail.com .
- Add scripts/bump-version-number.pl to modify the version number globally.
- Up to then, the version numbers of the modules under lib/ had
been 1.73.
1.87 2011-08-27
- Fix t/49callbacks_returning_undef.t to not read /etc/passed which may
not be valid XML. Instead, we're reading a local file while using
URI::file (assuming it exists - else - we skip_all.)
1.86 2011-08-25
- Changed SvPVx_nolen() to SvPV_nolen() in LibXML.xs for better compatibility.
- SvPVx_nolen() appears to be undocumented API.
- Resolves https://rt.cpan.org/Public/Bug/Display.html?id=70476
- Thanks to Paul for the report.
1.85 2011-08-24
- Gracefully handle returned undef()s in the read callback under -w ($^W):
- t/49callbacks_returning_undef.t
- https://rt.cpan.org/Ticket/Display.html?id=70321
- Add a patch from Mithaldu to get XML::LibXML to compile on Win32:
- https://rt.cpan.org/Ticket/Display.html?id=70141
- I'm applying it by faith, so if it breaks, blame him. (;-).
- the patch adds -lllibgettextlib.dll to the Makefile.PL.
1.84 2011-07-23
- Fix for perl 5.8.x before 5.8.8:
- "You can now use the x operator to repeat a qw// list. This used to raise a syntax error."
- http://search.cpan.org/perldoc?perl588delta
- fixes https://rt.cpan.org/Ticket/Display.html?id=69722 .
- thanks to paul@city-fan.org for the report.
1.83 2011-07-23
- Fixed missing declarations after statements:
- resolves https://rt.cpan.org/Ticket/Display.html?id=69622 again.
- thanks to Vadim / VKON.
- Fix docbook source validity
- resolves https://rt.cpan.org/Ticket/Display.html?id=69702
- thanks to Ville Skytta / SCOP for the patch.
- Applied patch from https://rt.cpan.org/Ticket/Display.html?id=69703
- [PATCH] Documentation spelling fixes
- thanks to Ville Skytta / SCOP for the patch.
- minor correction by the current maintainer (SHLOMIF).
- Convert t/14sax.t to Counter and Stacker so the tests will be more
reliable.
- SHLOMIF
1.82 2011-07-20
- Moved some if blocks after the dSP; (which contains declarations) to be
compliant with C89/C90, which don't allow declarations in the middle of
a C function.
- resolves https://rt.cpan.org/Ticket/Display.html?id=69622
- thanks to Vadim / VKON.
- Fix https://rt.cpan.org/Ticket/Display.html?id=69553 :
- "install_sax_driver doesn't like custom INSTALLARCHLIB"
- thanks to Milki from U.Cal Berkeley.
1.81 2011-07-16
- Add scripts/fast-eumm.pl to remove the explicit objects dependency on
the "Makefile" file so after running scripts/fast-eumm.pl one won't have to
rebuild the C-files.
- Add no warnings 'recursion' to lib/XML/LibXML/Error.pm to get rid of
a "Deep recursion" warning.
- Fix "IDs of elements is lost when importing nodes"
- https://rt.cpan.org/Public/Bug/Display.html?id=69520
- With t/48importing_nodes_IDs_rt_69520.t .
- Thanks to Yuriy Ustushenko.
- Convert all remaining Test.pm-based test scripts except t/14sax.t to
Test::More .
1.80 2011-07-12
- Fix https://rt.cpan.org/Public/Bug/Display.html?id=69082 :
- Compilation on strawberry perl.
- The problem was that stderr required a dTHX; call previously.
- DOM Normalisation patches and a fix for #69096
- Thanks to Daniel Frett.
- https://rt.cpan.org/Ticket/Display.html?id=69096
- "findvalue from XML::LibXML 1.74 is very slow (regression)"
- https://bitbucket.org/shlomif/perl-xml-libxml/pull-request/5/normalize-bug-fixes
- Fix https://rt.cpan.org/Ticket/Display.html?id=69433 :
- "t/19die_on_invalid_utf8_rt_58848.t assumes errors will be objects:"
- Thanks to TODDR.
- Failed on older libxml2's.
- Add a skip for t/60error_prev_chain.t in case $@ is true but not a ref.
- https://rt.cpan.org/Ticket/Display.html?id=69435
- Thanks to TODDR.
- http://www.cpantesters.org/cpan/report/4ac00aae-a73f-11e0-84bd-8881cd42d09c
1.79 2011-07-08
- t/46err_column.t : add a skip for a test for CentOS/RHEL 4:
- https://rt.cpan.org/Ticket/Display.html?id=69070
- old version of libxml2 .
- t/49global_extent.t : fix the double plan (present on libxml2
below 2.6.27):
- https://rt.cpan.org/Ticket/Display.html?id=69330
- Thanks to Chris for reporting it.
- double plan in t/61error.t .
- in accordance to the previous change.
1.78 2011-07-06
- Change t/02parse.t to test for the localized error message:
- https://rt.cpan.org/Public/Bug/Display.html?id=69248
- Fix the skip() and 'plan skip_all' syntax in t/06elements.t and
t/49global_extent.t for old versions of XML::LibXML:
- http://www.cpantesters.org/cpan/report/b648ae66-a569-11e0-a41d-a7c8b84ee953
- It did not match the one specified in Test::More.
- Convert more test scripts from Test.pm to Test::More.
1.77 2011-07-01
- Change the signature of XML::LibXML::Reader::byteConsumed to be
"long" instead of "int", so it can return values above 2**31 in
64-bit platforms.
- should fix https://rt.cpan.org/Ticket/Display.html?id=57085
- Change "a XML::LibXML::*" to "an XML::LibXML::*" in the documentation.
- Document XML::LibXML::NamedNodeMap :
- https://rt.cpan.org/Ticket/Display.html?id=57652 .
- Add an external entity resolver (for XSLT/etc.):
- Fixing https://rt.cpan.org/Ticket/Display.html?id=69166 .
- Thanks to SAMSK for the patch.
- Add the missing string comparison overload in
lib/XML/LibXML/NodeList.pm :
- https://rt.cpan.org/Ticket/Display.html?id=57737
- Thanks to MSCHWERN .
- Fix https://rt.cpan.org/Ticket/Display.html?id=58024 :
- <<< In XML::LibXML, warnings are not suppressed when specifying the
recover() or recover_silently() flags as per the following excerpt from
the manpage: >>>
- Now XML-LibXML requires perl-5.8.x (to print to a buffer trick.).
- Thanks to Michael Ludwig for the report.
- Fix https://rt.cpan.org/Ticket/Display.html?id=56671 :
- limit the length of the chain of the previous errors.
- New files:
- t/60error_prev_chain.t
- example/JBR-ALLENtrees.htm
- Thanks to SCOP.
- Fix https://rt.cpan.org/Ticket/Display.html?id=58848 :
- "Malformed UTF-8 character (fatal) at" exception thrown on invalid
UTF-8.
- Thanks to David E. Wheeler (DWHEELER) for the report.
1.76 2011-06-30
- Cleaned up t/28new_callbacks_multiple.t - convert to a Counter
and Stacker class.
- After that, the regression test for was added:
- https://rt.cpan.org/Ticket/Display.html?id=51086
- Already fixed in the trunk.
- Add the file HACKING.txt with style guidelines.
- Fix https://rt.cpan.org/Ticket/Display.html?id=53270 (with a test
in t/49_load_html.t ) - uncovered some more bugs in the process
documented in TODO.
- << suppress_errors option not honored by load_html() method if set in
parser object >>
- Created t/lib/TestHelpers.pm with slurp(), utf8_slurp() and, in the
future, some other routines.
- skipping for LIBXML_RUNTIME_VERSION() *less than* 2.7 instead of
*more than* in t/09xpath.t :
- https://rt.cpan.org/Ticket/Display.html?id=69205
- Thanks to DOUGW .
1.75 2011-06-24
- Correct some typos reported in
- https://rt.cpan.org/Ticket/Display.html?id=54390
- Fix the handling of XML::LibXML::InputCallbacks at load_xml().
- https://rt.cpan.org/Ticket/Display.html?id=58190
- The problem was that the input callbacks were not cloned in
_clone().
- Apply the patches from https://rt.cpan.org/Ticket/Display.html?id=56334
- Convert t/02parse.t to Test::More .
- Thanks to TODDR .
- Removed the diag() messages which were annoying.
- Add 'make runtest' and 'make distruntest' targets to run the tests using
Test::Run ( http://beta.metacpan.org/module/Test::Run ).
- Adds colours and stuff like that.
- Add << LICENSE => 'perl' >> to the Makefile.PL for a license
meta-data in the META.YML.
- Feature implementation: joining congruent character data together in
SAX driver .
- Apply a somewhat modified patch from:
- https://rt.cpan.org/Ticket/Display.html?id=52368
- Add t/pod.t .
- Fix https://rt.cpan.org/Ticket/Display.html?id=55000 :
- Apply modified patch in the bug report.
- << If an element contains both a default namespace declaration and a
second namespace declaration, adding an attribute using the default
namespace declaration will cause that attribute to have the other
prefix. >>
1.74 2011-06-23
- More work on the t/*.t test scripts.
- Add scripts/Test.pm-to-Test-More.pl to semi-automatically
convert a test script from Test.pm to Test::More.
- Change NodeSet to NodeList in the documentation of
lib/XML/LibXML/NodeList.pm .
- Resolved https://rt.cpan.org/Ticket/Display.html?id=60998
- Makefile.PL: now saying we are trying to link against -lm, -lz
and -lxml2 . Not only -lxml2:
- https://rt.cpan.org/Ticket/Display.html?id=51439
- https://rt.cpan.org/Ticket/Display.html?id=61756
- << $node = XML::LibXML::Comment( $content ); >> is wrong.
- Documentation: moved away from Indirect-object-notation and added
some missing "my"s:
- http://www.modernperlbooks.com/mt/2009/08/the-problems-with-indirect-object-notation.html
- Fix failing t/01basic.t when compiling against libxml2 that comes from
git.
- https://rt.cpan.org/Public/Bug/Display.html?id=54951
- Thanks to Evan Carroll ( http://www.evancarroll.com/ ) for the
report.
1.73 2011-06-18
- Calculating $err->column() properly, so it won't be maxed out at
80:
- https://rt.cpan.org/Public/Bug/Display.html?id=66642
- the context still maxes at 80 (to avoid wasting RAM) but we
still continue past that to get the accurate verdict.
- Thanks to SCOP.
- Update the repository in the documentation to point to the
bitbucket.org one.
- Revamped Makefile.PL:
- Got rid of "\t" characters.
- Add "use strict" and "use warnings".
- Add resources and keywords to the META_MERGE.
- Other changes.
- Fix https://rt.cpan.org/Public/Bug/Display.html?id=53632 :
- << when calling normalize on a node, processing of children nodes
will stop when an empty element node is encountered. >>
- Thanks to Daniel Frett for the patch.
- Apply the patch from Daniel Frett's InputCallbackFix branch.
- a partial fix to https://rt.cpan.org/Public/Bug/Display.html?id=4263 .
- Call two $parser->parse_string() in succession.
- Apply the NestedParsing patch.
- more of https://rt.cpan.org/Public/Bug/Display.html?id=4263
- Thanks to Daniel Frett for the patch.
[QUOTE]
Updated how legacy parser local callbacks are utilized by
init_callbacks so that the XML::LibXML::InputCallback object doesn't
have to be temporarily modified during the parsing process.
This change could break code for users that have subclassed
XML::LibXML::InputCallback and overridden the init_callbacks method
[/QUOTE]
- Documentation fixes patch from Daniel Frett on:
- From https://github.com/frett/perl-libxml .
1.72 2011-06-16
- Removed a stray file from the MANIFEST
- http://rt.cpan.org/Ticket/Display.html?id=68865
- Warned on "kit not complete".
- Thanks to obrien.jk
1.71 2011-06-14
- turn XML_LIBXML_PARSE_DEFAULTS constant to $XML::LibXML::XML_LIBXML_PARSE_DEFAULTS
- Apply 0001-XML-LibXML-Error-no-need-to-AUTOLOAD-domain.patch from
https://rt.cpan.org/Public/Bug/Display.html?id=68575 - no need to
AUTOLOAD 'domain' because a method like that exists.
-- Applied by SHLOMIF.
-- Thanks to Aaron Crane.
- Apply 0002-XML-LibXML-Error-avoid-AUTOLOAD.patch from
https://rt.cpan.org/Public/Bug/Display.html?id=68575 - get rid of
AUTOLOAD completely.
-- Applied by SHLOMIF.
-- Thanks to Aaron Crane.
- Apply 0003-XML-LibXML-Error-make-domain-work-for-unknown-domain.patch
from https://rt.cpan.org/Public/Bug/Display.html?id=68575 - handle
unknown domains.
-- Applied by SHLOMIF.
-- Thanks to Aaron Crane.
- Apply 0004-XML-LibXML-Error-add-domains-from-newer-libxml2.patch
from https://rt.cpan.org/Public/Bug/Display.html?id=68575 - add more
errors.
-- Applied by SHLOMIF.
-- Thanks to Aaron Crane.
- Apply 0005-XML-LibXML-Error-avoid-malformed-UTF-8-warnings.patch
from https://rt.cpan.org/Public/Bug/Display.html?id=68575
-- Applied by SHLOMIF.
-- Thanks to Aaron Crane.
- In replaceDataString - use
http://perldoc.perl.org/functions/quotemeta.html instead of a long (and
incomplete) list of characters to escape.
-- With test.
-- also fix deleteDataString by making it use replaceDataString
for help.
-- Fixing https://rt.cpan.org/Ticket/Display.html?id=68564
-- Thanks to Daniel Perrett .
1.70 Unknown
- various fixes and improvements in the documentation
- added (convenient yet non-standard) methods nonBlankChildNodes,
firstNonBlankChild, nextNonBlankSibling, prevNonBlankSibling
that skip empty or whitespace-only Text and CDATA nodes
- exposed and documented external entity handler
- XPathContext can now be passed to toStringC14N and toStringEC14N
(e.g. to provide NS mapping for the XPath expression)
- avoid using libxml2's globals (Nick Wellnhofer)
- added interface to libxml2's regexp implementation: XML::LibXML::RegExp
- added XML::LibXML->load_xml and XML::LibXML->load_html with
uniform and cleaner API than the old parse_* family
- cleanup code dealing with parsing flags
- fix bogus validation results if revalidating a modified document
- added 'eq' and 'cmp' overloading on XML::LibXML::Error and set fallback to 1
- lots of bugs fixed
1.69_2 Unknown
- provide context and more accurate column number in
structured errors
- clarify license and copyright
- support for Win32+mingw+ActiveState
1.69_1 Unknown
- merge with XML::LibXML::Common
- fix compilation on Windows with mingw or msvc
- fix a bug in structured errors preventing the previous errors from being reported
- fix compilation bugs
- fix encoding problem in reader
- added getAttributeHash to the reader interface
- fix segfaults: reconcileNs in domReplaceChild, findnodes with a doc fragment (S. Rezic)
1.69 Unknown
- fix incorrect output of getAttributeNS and possibly other methods on UTF-8
- added $node_or_xpc->exists($xpath) method
- remove accidental debug output from XML::LibXML::SAX::Builder
1.68 Unknown
- compilation problem fixes
1.67 Unknown
- many bugfixes (rt.cpan.org)
- added XML::LibXML::Pattern module and extended pattern support in Reader
- added XML::LibXML::XPathExpression module that can pre-compile an XPath
expression
- reimplementation of the thread support (mostly by Tim Brody)
- structured errors XML::LibXML::Error
- memory leak fixes
- documentation fixes
- README - notes for building on Win32 (C.J. Madsen)
1.66 Unknown
- Perl-thread support contributed by Tim Brody [rt.cpan.org #31945]
- fix [rt.cpan.org #30610] possible segmentation fault when importing nodes from a document to an element created with XML::LibXML::Element->new
- fix [rt.cpan.org #30261] Segmentation fault when extracting elements from an XML chunk
- make Makefile.PL require Perl 5.6.1
- minor fixes and additions to the documentation
- portability patch from [rt.cpan.org #29627]
- give registered Ns declarations precedence over document-specific ones
in XML::LibXML::XPathContext; fixes [rt.cpan.org #29650]
1.65 Unknown
- fix bug in t/40reader.t revealed by a bugfix in Test::More 0.71 (Jonathan Rockway)
- fix possible SIGSEGV when PI's or attrs created with
createDocument can get garbage-collected after their owning
document (old-standing bug suddenly caught by XML::Compile regression tests)
- skip tests for unsupported features on unsupported versions of Perl/libxml2
- make Reader interface require Perl 5.8 (patches to extend to 5.6 are welcome)
1.64 Unknown
- fix reconciliation of the "xml" namespace [rt.cpan.org #26450]
- make tests pass with libxml2 2.9.29 - PI regression tests now
accept "" as data of an empty PI [rt.cpan.org #27659]
- strip-off UTF8 flag with $node->toString($format,1) for consistent
behavior independent on the actual document encoding
- fix in XML::LibXML::Reader::nextSiblingElment
- fix synopsis for XML::LibXML::Reader
- skip tests that require Encode module if not available (perl 5.6)
- finally removed the iterator() method deprecated since 1.54
- set_document_locator support in XML::LibXML::SAX::Parser
- SYNOPSIS sections of the docs now mention which module to use
and which other manpage to look into for inherited methods
- XML::LibXML::Namespace API fixed in order to achieve
an agreement between the docs and the implementation
1.63 Unknown
- added no_network parser flag
- added support for exclusive canonicalization (http://www.w3.org/TR/xml-exc-c14n/)
- make XInclude reflect parser flags
- documentation fixes
- better namespace reconciliation implemented by Tim Brody
- $doc->toString always returns octets
- $doc->actualEncoding returns UTF8 if no document encoding is declared
(unlike $doc->getEncoding, which returns undef)
1.62 Unknown
- interface to libxml2's pull-parser XML::LibXML::Reader
(initiated by Heiko Klein)
- make error messages intended to the user report the line of the
application call rather than that of the internal XS call
- XML::LibXML::Attr->serializeContent added (convenience function)
- fix getAttributeNode etc. w.r.t. #FIXED attributes (as well as some
cases with old buggy libxml2 versions)
- warn if runtime libxml2 is older than the one used at the compile time
- if compiled against libxml2 >= 2.6.27, new parse_html_* implementation is used
allowing encoding and other options to be passed to the parser
- DOM-compliant nodeNames: #comment, #text, #cdata, #document, #document-fragment
- toString on empty text node returns empty string, not undef
- cloneNode copies attributes on an element as required by the DOM spec
1.61 Unknown
- get{Elements,Children}By{TagName,TagNameNS,LocalName} now
obey wildcards '*', getChildrenByLocalName was added.
- XML::LibXML::XPathContext merged in
- many new tests added
- the module should now be fully compatibile with libxml2 >= 2.6.16
(some older versions compile but have problems with namespaced attributes)
- threads test skipped by default
- documentation updates (namely DOM namespace conformance in XML::LibXML::DOM)
- added setNamespaceDecl{URI,Prefix}
- get/setAttribute(NS)? implementation made xmlns aware
- all sub-modules have the same version as XML::LibXML
1.60 Unknown
- getElementsById corrected to getElementById and the old name kept
as an alias. Also re-implemented without XPath for improved
performance
- DOM Level 3 method $attr->isId() added
- make {get,set,has}Attribute(Node)? methods work with full
attribute names rather than just localnames.
(Although DOM Level 3 is not very clear about the behavior of
these methods for an attributes with namespaces, it certainly
does not imply that getAttribute('foo') should return value of a
bar:foo, which was the old behavior.)
- added publicId and systemId methods to XML::LibXML::Dtd
1.59 Unknown
- new parser and callback code (Christian Glahn)
- new XML::LibXML::InputCallback class
- many bug fixes (including several memory leaks)
- documentation and regression fixes and enhancements
- Perl wrappers for parse_html_*
- make sure parse_* methods are not called on class (bug 11126)
- DOM Layer 3 conformance fixes:
* lookupNamespaceURI(empty_or_undef) now returns the default NS
- faster getChildrenByTagNameNS implementation
- remove the SGML parser code no longer supported by libxml (Michael Kröll)
1.58 Unknown
- fixed a pointer initialization in parse_xml_chunk(), fixes
random several segmentation faults on document fragments.
- added NSCLEAN feature to the parser interface (bug 4560)
- minor code cleanups
- updated libxml2 blacklist.
- fixed croak while requesting nodeName() of CDATA sections (bug 1694).
- more documentation updates
1.57 Unknown
- added cloneNode to XML::LibXML::Document
- include Schema/RelaxNG code only with libxml2 >= 2.6.0 (to support old libxml2)
- applied patch to example/cb_example.pl (bug 4262)
- fixed insertBefore/insertAfter on empty elements (bug 3691)
- more DOM conformant XML::LibXML->createDocument API (by Robin Berjon)
- fixed encoding problems with API calls in document encoding
- improved support for importing DTD subsets
- fixed DTD validation error reporting problems with libxml2-2.6.x
- fixed compilation problems with libxml2-2.6.x
- fixed XML::LibXML::Number to support negative numbers
- added XML Schema validation interface (XML::LibXML::Schema)
- added XML RelaxNG validation interface (XML::LibXML::RelaxNG)
- Michael K. Edwards' patch applied with some amendments from Petr Pajas:
* add debian build files (I added SKIP_SAX_INSTALL flag for
Makefile.PL and changed the patch so that it doesn't disable
sax parser registration completely by default, and rather made
debian build use this flag)
* general cleanup (use SV_nolen, etc.)
* SAX parsers cleanup
* general error reporting code cleanup/rewrite, try preventing
possible memory leaks
* recover(1) now triggers warnings (disable with $SIG{__WARN__}=sub {})
(fixes bug 1968, too)
* slighlty more strict parse_string behavior (now same as when
parsing fh, etc): e.g. parse_string("<foo:bar>"), i.e prefix without
NS declaration, raises error unless recover(1) is used
* documentation fixes/updates
* slightly updated test set to reflect the new slightly more strict
parsing.
- fixed default c14n XPath to include attributes and namespaces (Petr Pajas)
- make libxml2's xmlXPathOrderDocElems available through a new
$doc->indexElements method
- added version information of libxml2
- Les Richardson's documentation patch applied.
1.56 Unknown
- added line number interface (thanks to Peter Haworth)
- patch to make perl 5.8.1 and XML::LibXML work together (thanks to François Pons)
- added getElementById to XML::LibXML::Document (thanks to Robin Berjon)
- fixes symbol problem with versions of libxml2 compiled without
thread support (reported by Randal L. Schwartz)
- tiny code clean ups
- corrected tested versions after a local setup problem
1.55 Unknown
- fixed possible problems with math.h
- added C14N interface "toStringC14N()" (thanks to Chip Turner)
- fixed default namespace bug with libxml2 2.5.8 (by Vaclav Barta)
- fixed a NOOP in the XPath code.
- fixed insertBefore() behaviour to be DOM conform
- fixed a minor problem in Makefile.PL
- improved more documentation
- converted documentation to DocBook
1.54 Unknown
- fixed some major bugs, works now with libxml2 2.5.x
- fixed problem with empty document fragments
- bad tag and attribute names cannot be created anymore
- Catalog interface is aware about libxml2 configuration
- XML::LibXML should work now on systems without having zlib installed
- cleaned the error handling code, which
- fixes bad reporting of the validating parser
- fixes bad reporting in xpath functions
- added getElementsBy*Name() functions for the Document Class
- fixed memory management problem introduced in 1.53
(that fixes a lot strange things)
- interface for raw libxml2 DOM building functions
(currently just addChild() and addNewChild(), others will follow)
- fixed namespace handling if nodes are imported to a new DOM.
- fixed segmentation fault during validation under libxml2 2.4.25
- fixed bad CDATA handing in XML::LibXML::SAX::Builder
- fixed namespace handing in XML::LibXML::SAX
- fixed attribute handing in XML::LibXML::SAX
- fixed memory leak in XML::LibXML::SAX
- fixed memory leak in XML::LibXML::Document
- fixed segfault while appending entity ref nodes to documents
- fixed some backward compatibility issues
- fixed cloning with namespaces misbehaviour
- fixed parser problems with libxml2 2.5.3+
- moved iterator classes into a separate package
(after realizing some CPAN testers refuse to read their warnings
from Makefile.PL)
- improved parser testsuite
- improved M
- more documentation
- *NOTE:*
- Version 1.54 fixes potentional buffer overflows were possible with
- earlier versions of the package.
1.53 Unknown
Parser
- catalog interface
- enabled SGML parsing
- implemented libxml2 dom recovering
- parsing into GDOME nodes is now possible
- XML::LibXML::SAX is now faster
- made XML::LibXML::SAX parser running without errors in most (all?) cases
(DTD handling is still not implemented).
DOM interface
- Node Iterator class
- NodeList Iterator class
- introduced XML::GDOME import and export. (EXPERIMENTAL)
- more security checks
general blur
- removed code shared with XML::GDOME to a separate XML::LibXML::Common
module (check CPAN)
- removed some redundand code
- more documentation (and docu fixes) (thanks to Petr Pajas)
major fixes:
- possible buffer overflow with broken XML:
This may effect all older versions of XML::LibXML, please upgrade!
- a bug while replacing the document element.
- very stupid encoding bug. all UTF8 strings will now be marked as
UTF8 correctly
- namespace functions to work with empty namespaces
- toFH()
- namespace setting in XPath functions:
the namespaces of the document element will always be added now
- threaded perl 5.8.0 issues
- calling external entity handlers work again
- XML::LibXML::SAX::Parser will not throw warnings on DTD nodes
1.52 Unknown
- fixed some typos (thanks to Randy Kobes and Hildo Biersma)
- fixed namespace node handling
- fixed empty Text Node bug
- corrected the parser default values.
- added some documentation
1.51 Unknown
- fixed parser bug with broken XML declarations
- fixed memory management within documents that have subsets
- fixed some threaded perl issues
(special thanks to Andreas Koenig for the patch)
- applied Win32 tests
(special thanks to Randy Kobes for the patch)
- fixed findnodes() and find() to return empty arrays in array context
if the statement was legal but produced no result.
- fixed namespace handling in xpath functions
- fixed local namespace handling in DOM functions
- pretty formating to all serializing functions
*NOTE* the XML::LibXML::Node::toString interface changed
check the XML::LibXML::Node man page
- made xpath functions verbose to perl (one can wrap evals now)
- improved native SAX interface
- improved XML::LibXML::SAX::Builder
- added getNamespaces to the node interface
- better libxml2 version testing
- more documentation
1.50 Unknown
- fixed major problems with the validating parser
- fixed default behaviour of the generic parser
- fixed attribute setting of the string parser
- fixed external entity loading for entity expansion
- fixed nodeValue() to handle entities and entity refs correctly
- SAX::Parser ignores now hidden XINCLUDE nodes.
- fixed SAX::Builder to recognize namespace declarations correctly
- compatibility fixes
- importNode() bug fix
- fixed library tests and output in Makefile.PL
- added setOwnerDocument() again
- XML::LibXML::Document::process_xincludes reintroduced
- global callbacks reintroduced
NOTE: the Interface changed here, read XML::LibXML manpage!
- code cleanings
- push parser interface
- basic native libxml2 SAX interface
THIS INTERFACE IS STILL EXPERIMENTAL
- cloneNode clones now within documents
- more documentation
1.49 Unknown
- memory management has been completely rewritten.
now the module should not cause that many memory leaks
(special thanks to Merijn Broeren and Petr Pajas for providing
testcases)
- more libxml2 functions are used
- DOM API is more Level 3 conform
- ownerDocument fixed
- parser validation bug fixed (reported by Erik Ray)
- made parse_xml_chunk() report errors
- fixed the PI interface
- xpath.pl example
- better namespace support
- improved NamedNodeMap support
- restructured the interfaces
- HTML document nodes are recognized as HTML doc nodes instead of plain nodes
- XML::LibXML::SAX::Parser able to handle HTML docs now
(patch by D. Hageman [dhageman@dracken.com])
- added serialization flags ($setTagCompression, $skipDtd and
$skipXMLDeclaration)
- more documentation
1.40 Unknown
- new parsefunction: $parser->parse_xml_chunk($string);
- appendChild( $doc_fragment ) bug fixed
- removed obsolete files (parser.?)
- fixed getElementsByTagName and getElementsByTagNameNS to fit the spec
- new functions in XML::LibXML::Element:
getChildrenByTagName
getChildrenByTagNameNS
getElementsByLocalName
- minor fixes and extensions of the tests
- more docu ;)
- SAX added comment and PI support
- SAX added start_prefix_mapping/end_prefix_mapping
- Fixed find() bug with no results
- Added use IO::Handle so FH reads work
- A number of segfault fixes
- constants added without XML_ prefix
1.31 Unknown
- Removed C-layer parser implementation.
- Added support for prefixes in find* functions
- More memory leak fixes (in custom DOMs)
- Allow global callbacks
1.30 Unknown
- Full PI access
- New parser implementation (safer)
- Callbacks API changed to be on the object, not the class
- SAX uses XML::SAX now (required)
- Memory leak fixes
- applied a bunch of patches provided by T.J. Mather
1.00 Unknown
- Added SAX serialisation
- Added a SAX builder module
- Fixed findnodes in scalar context to return a NodeList object
- Added findvalue($xpath)
- Added find(), which returns different things depending on the XPath
- Added Boolean, Number and Literal data types
0.99 Unknown
- Added support for $doc->URI getter/setter
0.98 Unknown
- New have_library implementation
0.97 Unknown
- Addition of Dtd string parser
- Added support for namespace nodes (e.g. $element->getNamespaces())
- Some memory leak and segfault fixes
- Added $doc->validate([$dtd]) which throws exceptions (augments
$doc->is_valid([$dtd]))
- Added doc files and test files to CPAN distro
0.96 Unknown
- Addition of HTML parser
- getOwner method added
- Element->getAttributes() added
- Element->getAttributesNS(URI) added
- Documentation updates
- Memory leak fixes
- Bug Fixes
0.94 Unknown
- Some DOM Level 2 cleanups
- getParentNode returns XML::LibXML::Document if we get the
document node
0.93 Unknown
- Addition of DOM Level 2 APIs
- some more segfault fixes
- Document is now a Node (which makes lots of things easier)
0.92 Unknown
- Many segfault and other bug fixes
- More DOM API methods added
0.91 Unknown
- Removed from XML::LibXSLT distribution
- Added DOM API (phish)
0.01 2001-03-03
- original version; created by h2xs 1.19
|