perl-XML-LibXML / Changes

  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
Revision history for Perl extension XML::LibXML

2.0000          Tue Jun 19 23:04:23 IDT 2012
    - 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            Thu May 31 10:21:23 IDT 2012
    - 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            Sun May 13 21:02:14 IDT 2012
    - 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            Mon Apr 30 20:31:24 IDT 2012
    - 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            Fri Mar 16 21:01:09 IST 2012
    - 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            Tue Mar  6 10:35:26 IST 2012
    - 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            Sat Mar  3 22:05:18 IST 2012
    - 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            Mon Feb 27 11:15:50 IST 2012
    - Fix XML::LibXML::Element comparision 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            Tue Feb 21 19:00:48 IST 2012
    - 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            Tue Feb 21 13:57:54 IST 2012
    - 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            Sun Jan  8 20:57:58 IST 2012
    - 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            Sat Dec 24 09:46:26 IDT 2011
    - 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            Wed Sep 21 12:54:33 IDT 2011
    - 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            Sat Aug 27 14:05:37 IDT 2011
    - 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            Thu Aug 25 11:42:55 IDT 2011
    - 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            Wed Aug 24 17:05:19 IDT 2011
    - 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            Sat Jul 23 23:12:28 IDT 2011
    - 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            Sat Jul 23 14:28:40 IDT 2011
    - 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            Wed Jul 20 23:43:53 IDT 2011
    - 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            Sat Jul 16 18:30:02 IDT 2011
    - 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            Tue Jul 12 23:35:03 IDT 2011
    - 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            Fri Jul  8 20:02:32 IDT 2011
    - 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            Wed Jul  6 20:23:58 IDT 2011
    - 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            Fri Jul  1 22:27:56 IDT 2011
    - 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            Thu Jun 30 20:58:46 IDT 2011
    - 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            Fri Jun 24 19:00:40 IDT 2011
    - 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            Thu Jun 23 16:20:42 IDT 2011
    - 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            Sat Jun 18 10:53:44 IDT 2011
    - 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            Thu Jun 16 19:26:13 IDT 2011
    - 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            Tue Jun 14 19:43:50 IDT 2011
   - 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
   - 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
   - provide context and more accurate column number in
     structured errors
   - clarify license and copyright
   - support for Win32+mingw+ActiveState

1.69_1
   - 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
   - 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
   - compilation problem fixes

1.67
   - 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
   - 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
   - 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
   - fix reconcilation 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
   - 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
   - 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
   - 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
   - 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
   - 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
   - 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
   - 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
   - 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
   - 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

*NOTE:*
Version 1.54 fixes potentional buffer overflows were possible with earlier
versions of the package.

1.54
   - 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

1.53
   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
   - 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
   - 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
   - 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
   - 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
   - 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
    - Removed C-layer parser implementation.
    - Added support for prefixes in find* functions
    - More memory leak fixes (in custom DOMs)
    - Allow global callbacks

1.30
    - 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
    - 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
    - Added support for $doc->URI getter/setter

0.98
    - New have_library implementation

0.97
    - 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
    - Addition of HTML parser
    - getOwner method added
    - Element->getAttributes() added
    - Element->getAttributesNS(URI) added
    - Documentation updates
    - Memory leak fixes
    - Bug Fixes

0.94
    - Some DOM Level 2 cleanups
    - getParentNode returns XML::LibXML::Document if we get the
      document node

0.93
    - Addition of DOM Level 2 APIs
    - some more segfault fixes
    - Document is now a Node (which makes lots of things easier)

0.92
    - Many segfault and other bug fixes
    - More DOM API methods added

0.91
    - Removed from XML::LibXSLT distribution
    - Added DOM API (phish)

0.01  Sat Mar  3 17:08:00 2001
	- original version; created by h2xs 1.19
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.