Revision history for Perl extension XML::SAX::ExpatXS
=====================================================
 
1.33 Oct 26, 2012 
    - LICENSE field added to ExpatXS.pm
    - [rt.cpan.org #69253] t/f08noexpand.t is missing in distro ()

1.32 Apr 12, 2011
    - NoExpand option test added
    - type warnings fixed (gcc 4.4)

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).
