Revision history for Perl extension XML::SAX::ExpatXS ===================================================== 1.31 July 3, 2007 - Security fix: namespace separator in XML_ParserCreate_MM changed from '}' to -1, related to SF.net bug 1742315 [suggested by Bjoern Hoehrmann] 1.30 July 2, 2007 - speed optimizations - main callback functions (start_element, end_element, characters, comment) resolved in advance using XML::SAX::ExpatXS::Preload module - feature 'http://xmlns.perl.org/sax/recstring' controls whether a recognized string is available as {RecognizedString} among {ParseOptions} (not by default as this is rather expensive). - added {ExpatVersion} property 1.20 April 7, 2006 - speed optimizations - data structures reused: start_element() hash reused by end_element() call when free, characters() hash recycled when free - better error message when parse_uri fails 1.10 November 10, 2005 - fixed start_entity() called for an external DTD subset if parameter entity parsing is in effect (ParseParamEnt option setting XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE in Expat) [using patches by Axel Eckenberger] - resolve_entity() can return source with {String} now - feature 'http://xml.org/sax/features/external-general-entities' controls processing of external general entities - feature 'http://xml.org/sax/features/external-parameter-entities' controls processing of external parameter entities (the same as ParseParamEnt option) - skipped_entity() implemented [based on patch and tests by Axel Eckenberger] - fixed segfault for unparsed entities without PublicId [using patches by Axel Eckenberger] - fixed leaks in entity callbacks 1.09 October 14, 2005 - {Source}{Encoding} is used (with higher priority than encoding specified in the XML declaration) - fixed segfaults for undefined {Source} properties - Expat localization improved in Makefile.PL - localized setting of $/ in _get_external_entity 1.08 April 22, 2005 - feature 'http://xmlns.perl.org/sax/xmlns-uris' puts xmlns:* attributes into the 'http://www.w3.org/2000/xmlns/' namespace and xmlns attributes into no namespace. The 'http://xml.org/sax/features/xmlns-uris' applies only if the new one is off. The default behavior is the same as for other Perl SAX parsers now. - fixed repeated parsing with Perl 5.6 1.07 March 16, 2005 - feature 'http://xml.org/sax/features/xmlns-uris' puts xmlns and xmlns:* attributes into no or the 'http://www.w3.org/2000/xmlns/' namespace. Default is no namespace (feature not set) which is a behavior different from previous versions! - feature 'http://xmlns.perl.org/sax/version-2.1' is set (and can't be turned off) - minor fix in memory management [reported by Rob Bloodgood] 1.06 March 7, 2005 - more changes in memory management; parse_* run in loops without leaks [reported by Rob Bloodgood] 1.05 February 18, 2005 - fixed segfault after deleting a key of Features [patch by Pavel Hlavnicka] 1.04 December 15, 2004 - fixed the bug of SystemId/PublicId of external DTD subset provided instead of identifiers of the current entity in Locator and Exception [reported by Bjoern Hoehrmann] - recognized string made available as $p->{ParseOptions}{RecognizedString} - ParserOptions renamed to ParseOptions to match XML::SAX::Base - minor fixes for make test - test suite extended 1.03 November 23, 2004 - minor fixes for make test 1.02 November 22, 2004 - document locator redesigned to fit Perl SAX 2.1 specs - feature 'http://xmlns.perl.org/sax/locator' can turn the document locator off - test suite extended 1.01 September 24, 2004 - memory management check completed, no more leaks detected 1.00 July 16, 2004 - relevant memory leaks fixed - some more XS code cleanup 0.99 June 7, 2004 - element_decl (Name, Model) completed - attribute_decl (eName, aName, Type, Mode, Value) completed - ns declaration attributes are treated as common attributes when the 'http://xmlns.perl.org/sax/ns-attributes' feature is set to 1 (default) - fixed the bug of "0" translated into "" [patch by Sam Tregar] - fixed a reference counting bug in startElement [reported by Sam Tregar] - test suite extended 0.98 April 9, 2004 - added support for more encodings. In addition to built-in Expat encodings (UTF-8, UTF-16, ISO-8859-1, US-ASCII) we now support ISO-8859-2,3,4,5,7,8,9, WIN-1250,1252, BIG5, EUC-KR, EUC-JP and Shift JIS. (adapted from XML::Parser) - cleaning the code to satisfy gcc2 and ANSI C [suggested by Sergey Skvortsov] - minor bug fixes (locator, test suite) 0.97 March 29, 2004 - external parsed entities parsed - external_entity_decl (Name, PublicId, SystemId) called for external entity declarations - internal_entity_decl (Name, Value) called for external entity declarations - start_entity (Name), end_entity (Name) called for external entity references - resolve_entity callback implemented - get_feature(), set_feature(), get_features() API functions implemented - feature 'http://xmlns.perl.org/sax/join-character-data' controls character data fragmentation, 0/1 (1 being default) - performance optimizations - fixed the xmlns="" segmentation fault - test suite extended 0.96 February 19, 2004 - exceptions (Message, Exception, LineNumber, ColumnNumber, PublicId, SystemId) sent to ErrorHandler - document locator (LineNumber, ColumnNumber, PublicId, SystemId, Encoding, XMLVersion) implemented (updated on start_element, end_element, characters, start_prefix_mapping, end_prefix_mapping, processing-instruction) - test suite extended 0.95 February 5, 2004 - renamed to XML::SAX::ExpatXS - completed parsing of xml declarations - completed start_dtd, end_dtd - fixed a bug of Attributes hash keys - fixed an "Attempt to free unreferenced scalar during global destruction" bug when parsing repeatedly - test suite extended 0.90_01 May 13, 2002 - initial release by Matt Sergeant (a working parser).