1. Shlomi Fish
  2. perl-XML-LibXML


perl-XML-LibXML / Changes

Revision history for Perl extension XML::LibXML

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

   - Catalog interface is aware about libxml2 configuration
   - XML::LibXML should work now on system without having zlib installed (?)
   - cleaned the error handling code, which 
     - fixes bad reporting of the validating parser
     - fixes bad reporting in xpath functions
   - fixed memory management problem introduced in 1.53
     (that fixes a lot strange things)
   - fixed default iterator of XML::LibXML::Iterator
   - interface for raw libxml2 DOM building functions 
     (currently just addChild(), others will follow)
   - fixed memory leak in push parser code
   - 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
   - improved parser testsuite
   - more documentation 

   - 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

   - 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

   - 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

   - 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
   - cloneNode clones now within documents
   - more documentation

   - 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 
   - 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 
   - more documentation

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

    - Removed C-layer parser implementation.
    - Added support for prefixes in find* functions
    - More memory leak fixes (in custom DOMs)
    - Allow global callbacks

    - 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

    - 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

    - Added support for $doc->URI getter/setter

    - New have_library implementation

    - 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 
    - Added doc files and test files to CPAN distro

    - Addition of HTML parser
    - getOwner method added
    - Element->getAttributes() added
    - Element->getAttributesNS(URI) added
    - Documentation updates
    - Memory leak fixes
    - Bug Fixes

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

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

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

    - 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