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