Revision history for Perl extension MARC-XML

1.0.2 Tue Jan 21 17:18:37 UTC 2014
       - MARC::File::XML will now die upon parsing a record that
         declares an external entity and tries to use it. This
         prevents the potential unwanted disclosure of the contents
         of files on the server by applications that embed this module.
         If, for some reason, an application needs to process MARCXML
         records that contain external entities, set_parser() can be
         used to force the use of an XML::LibXML parser that is
         configured to process external entities.
    
         The issue was reported by John Lightsey.

1.0.1 Fri Feb 15 08:25:04 PST 2013
       - RT#83284: return empty MARC::Record given empty <record/>

1.0  Sun Feb 10 21:32:32 PST 2013
       - Use XML::LibXML rather than XML::SAX to parse MARCXML records.
         This offers a significant speed improvement for record parsing;
         in some tests, parsing time on a large file was reduced by 80%.
         This also avoids problems caused by character encoding bugs in
         XML::SAX::PurePerl.
       - Add method to let client code give MARC::File::XML a shared
         XML::LibXML parser object.

0.93 Fri Feb 11 17:13:02 EST 2011
       - When slurping MARCXML records (e.g., via MARC::Batch), can
         now handle XML files that use a prefix
         to refer to the http://www.loc.gov/MARC21/slim namespace.
       - If trying to parse a MARCXML record that has omitted
         the <record> wrapper element, throw an exception
         with a more meaningful error message.
       - adjusted copyright statement further to meet Debian requirements
         (RT#48333)
       - set license in Makefile.PL
 
0.92 Thu Jul 30 22:37:07 EDT 2009
      - small documentation changes to close RT tickets #48334 and #48333
        filed by Jonathan from Debian world.
      - added license string to META.yml so that CPAN can pick it up

0.91 Tue Jul 28 2009
      - Nixing the stray space (always been there) in the schemaLocation
        attribute for single-record output
      - Properly apply the leader modification for USMARC to signal UTF-8
        encoding.
      - Escape '<', '>', and '&' used as indicator values and subfield labels 
        during XML output (Bill Erickson)
      - CPAN RT#34082: clarify names of header output switches

0.90 Fri Dec 14 2007
      - modifications to MARC::File::SAX to use LocalName rather than Name
        Name can contain a namespace prefix and cause parsing to fail
        Should be ok to rely on LocalName since the parser factory is
        requiring Namespace support?
      - MARC::File::SAX also can build up multiple records now, for use 
        in other SAX contexts like Net::OAI::Harvester. This required
        a few changes in MARC::File::XML as well.

0.88 Wed Nov 28 2007
      - String test for subfield code to avoid dropping $0 (Galen Charlton)

0.88_1 Tue Oct 23 2007
      - Fixed a typo in M::F::X that could be the origin of the test failure(miker)
      - Removed some useless (and confusing) code that
	    throws away some character set mapping information in the 066 (miker)

0.85 Fri Feb 13 2007
      - fixed typo in handling of unimarc w/regard to marc8 (ppoulain)

0.84 Mon Nov 26 2006
      - Fixed UNIMARC encoding detection logic (miker)
	  - Added UNIMARC Authority support (miker) 

0.83 Fri Apr 21 15:19:20 EST 2006
      - remove premature return from close() thanks Jay Luker (exlibris)

0.82 March 4, 2006
      - details unknown :(

0.81  Fri Feb  3 23:29:04 EST 2006
      - minor changes so that diagnostics (when character mappings aren't found)
        will not throw warnings about unitialized variables too.

0.8   Fri Feb  3 22:49:11 EST 2006
      - overhaul by Mike Rylander to use the new MARC::Charset for mapping
        back and forth from marc8 encoding to utf8 encoding
      - Makefile.PL requires v0.9 of MARC::Charset to be installed

0.7   Thu Apr 14 11:54:24 CDT 2005
      - marc2xml uses MARC::Batch in lenient mode, thanks Rob Casson.

0.66  Thu Sep 23 01:12:20 CDT 2004 
      - added ability to change the encoding attribute.

0.65  Wed May 19 21:22:23 2004 
      - added marc2xml and xml2marc utilities

0.61  Mon May 09 10:32:55 2004 
      - need to require MARC::Record v1.36 since it renames is_control_tag()
        to is_control_field().

0.6   Sat May 08 02:23:04 2004 
      - rudimentary XML encoding (thanks to Peter Robertson for inquiring 
        about it)

0.53  Mon Dec 01 17:32:01 2003 
      - fixed to still process XML that has namespaces on record element
        thanks Clay Redding at princeton.edu.

0.52  Wed Oct 29 20:18:44 2003 
      - fixed doc bug

0.51  Thu Sep 04 10:33:12 2003 
      - fixed warnings in MARC::File::SAX which were emitted under new 
        Test::Harness.
      - docfix in MARC::File::XML.

0.5   Thu Jul 29 13:55:38 2003 
      - updated so that it uses LC's MARCXML schema
      - updated so that it can plug into MARC::Record 

0.4   Sun Apr 23 20:50:47 CDT 2000 <Birthisel>
      - Update "Windows" test in Makefile.PL
      - Needs MARC 1.07 to cover recent fixes and incompatibilities
      - Perl 5.6.0 warns on "join (//,", change to "join (''," instead.
      - add $MARC::TEST to t/test?.t
      - various documentation fixes

0.3   Tue Jan 25 15:43:55 CST 2000 <Birthisel>
      - update to XML::Parser 2.27 and MARC 1.04
      - add Document Type Declaration support
      - header defaults to "US-ASCII"
      - add character set output processing and ansel_default
      - add entity input translation and register_default
      - add incremental input file processing: openxml, nextxml, closexml
      - add eg/pacific.pl, eg/pacific0.dat, and eg/read_pfa.pl
      - add t/ansel.ent and expand test2.t
      - rename $XDEBUG, add $XTEST and xcarp()
      - add "wrapper" methods output_header, output_body, output_footer

0.26  Fri Jan 7 22:35:40 EST 2000 
      - Corrected dangerous interpolation in field_ handler

0.25  Tue Nov 23 11:32:16 CST 1999 <Birthisel>
      - original CPAN-style version; created by h2xs 1.18
      - linux command: h2xs -A -X -n MARC::XML
      - added Makefile.PL, MANIFEST, README, etc.
      - ported t directory and tests from MARC.pm, added test4.t
      - surgery--XML::Parser wants global subs and other scope changes.
      - cleanup inheritance details
      - add "ordered" option to new()
      - numerous documentation changes


0.2   Sun Nov 21 18:49:00 EST 1999 
      - removed MARC::XML specific pod from MARC.pm and added to MARC::XML

0.1   Sun Nov 14 21:59:00 EST 1999 
      - created MARC::XML subclass to handle MARC<->XML conversions
      - moved _marc2xml() from MARC.pm into MARC::XML

0.01  Tue Jul 29 13:55:38 2003
      - original release