Revision history for Perl extension XML::LibXML *NOTE:* Version 1.54 fixes potentional buffer overflows were possible with earlier versions of the package. 1.54 - 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 - fixed cloning with namespaces misbehaviour - improved parser testsuite - 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