Revision history for Perl extension Net::OAI::Harvester

        - Net::OAI::NamespaceFilter as kind of generic metadata handler
        - Queries are now constructed basing on a copy of the Harvester's baseURL
        - pass parameters to URI->query_form() more reproducably,
          (esp. "verb" should now always be first to accommodate some 
          allegedly broken repositories)
        - temporary? tests for correctness of LWP operations

1.16_07	Tue, Apr 30 01:26:40 CEST 2013
        - added new methods: response(), responseDate(), error()
        - Smoke still tests failed on 'Bad Host' tests (wrong error codes
          induced by HTTP proxies?)
        - aligned behavior of metadataHandler for listRecords() and
        - introducing alternative recordHandler for listRecords() and
        - removed erroneous resumptionToken handling for identify()

1.16_04	Fri Dec  7 09:49:03 CET 2012
	- consider HTTP proxies in design of t/003.error.t
	- 'Bad Host' tests failing b/c error code 500 is not the expected
	   code 404 (due to some recent change in LWP)?

1.16_01 Mon Apr  2 23:14:35 CEST 2012
	- Modules were not namespace aware.
	- Add HTTPRetryAfter() method (catches HTTP Retry-After header)
	- Check responses for Content-Type and charset before parsing
	- Net::OAI::Header handed up (empty) header elements and other stuff
	  to the request's metadataHandler
	- SKIP tests when HTTP errors are encountered

1.15    Thu Feb 02 16:29:31 CEST 2011
	- one repository used for tests changed identifiers

1.14b   Wed May 18 16:29:31 CEST 2011
	- Explicit fallback to XML::SAX::PurePerl if we don't get a parser
          (we know that XML::SAX::PurePerl has the required features and
          does exist): Warn about probably broken XML::SAX installation and
          issues with ParserDetails.ini [Fix mainly motivated by reputation
          management: Far too many smoke tests failing because of automated
          (=> no ParserDetails.ini => broken) installs of XML::SAX]
1.14a   Tue May 17 18:50:03 CEST 2011
        - Record::OAI_DC: asString() now returns the string and does not print
          any more
        - Dependencies: XML::SAX::Base 1.04 (as per XML-SAX since 0.11
          and opposed to the standalone version on CPAN) is really a necessary
          prerequisite! (Thanks to Dave Sheroman for testing this out)
1.14    Mon May 16 22:57:24 CEST 2011
        - Installation: Makefile.PL and Build.PL failed if XML::SAX::Expat
          was installed and XML::SAX not (probably a border case only with
          "standalone" versions of XML::SAX::Base)
        - Changed messages: ExpatXS should give the mentioned "performance
        - Tests: Check if XML::SAX::ParserFactory delivered a parser
          introduce NOH_ParserPackage environment variable

1.13    Fri May  9 17:34:15 WEDT 2008 (Thomas Berger <THB at cpan dot org>) 
        - ListMetadataFormats: namespaces() glued previous names with current;
              new methods: namespaces_byprefix() and schemas_byprefix() 
        - added HTTPError() method for access to underlying HTTP::Response
              object (in case of HTTP errors only)
          NOTE: file() now will yield undef in this case (was: name of
              non-existing file)
        - baseURL() had trailing garbage when called after a request
        - enforce tempfile cleanup by adding UNLINK=>1 to all tempfile() calls
        - avoid tempfile pollution on Win32 when using xml() method
        - Module::Build support
        - Tests: Fixed broken nsdl repository URL

1.12    Tue Aug  7 21:48:50 EDT 2007
        - modified t/055.listallrecords.t to not iterate over records
          that are known to cause problems for XML::SAX::PurePerl

1.11    Fri Jul 27 11:47:21 EDT 2007
        - added oai-dump to MANIFEST

1.1     Fri Jul 27 09:16:35 EDT 2007
        - added the ability to dump xml files to a directory
        - trapped xml parsing errors are now always printed to STDERR 
        - added oai-dump utility

1.0     Wed Jul 27 22:52:42 CDT 2005
        - resumption token handling now respects custom metadata handlers
          (thanks Thorsten Schwander)

0.991   Thu Feb 24 22:07:05 CST 2005
        - fixed namespaces() so it works

0.99    Tue Feb 22 21:38:16 CST 2005
        - added namespaces() and schemas() to Net::OAI::ListMetadataFormats
          and suitable tests.

0.98    Fri Nov 19 09:41:32 CST 2004
        - docfix thanks Brian Cassidy

0.97    Tue Aug 30 21:07:05 2004
        - deprecated Net::OAI::Haverster::debug() in favor of setting
          Net::OAI::Harvester::DEBUG. This allows for other packages
          to easily report diagnostics. 
        - fixed test count in identify 010-identify.t
        - fixed names of utilities in bin
        - added some docs concerning Net::OAI::Base and passing in
          LWP::UserAgent to Net::OAI::Harvester::new().

0.96    Mon Jul 19 22:12:04 2004
        - Fixed Net::OAI::Harvester to return HTTP level errors
        - Fixed Net::OAI::Identity to not run together sub descriptions into
          the overall repositoryName.

0.95    Thu Apr 1 13:48:54 2004
        - Fixed behavior of Net::OAI::Harvester::Record::Header::status()
          which wasn't pulling out the status attribute properly. Thanks
          Darin Burleigh at Also added test of status() to 

0.94	Thu Dec 11 14:04:12 2003
	- added listAllIdentifiers() and listAllRecords() which automatically
	  handle resumption tokens.

0.9	Sun Dec 07 08:45:28 2003 
	- Net::OAI::ListRecords now uses Storable rather than YAML since
	  YAML cannot handle utf8 at this time. Also Storable is
	  significantly faster.
	- Modified listRecords() to accept metadataHandler parameter for
	  specifying a custom metadata SAX handler.
	- Brought getRecord() into synch with listRecords() so that
	  metadataHandler specifies the package name of the custom metadata 
	  handler, rather than an actual instance of that class. 

0.86	Wed Nov 26 14:01:21 2003
	- fixed 5/002.error to not skip ALL THE TIME!

0.85	Wed Nov 26 13:45:23 2003
	- added note to to indicate the 
	  return values in list and scalar contexts. Thanks Jose
	  Barrueco @ University of Valencia.
	- beefed up docs in Net::OAI::Identify
	- modified t/002.error to check parser so that test doesn't fail 
	  under XML::LibXML
	- added output message to Makefile.PL encouraging folks to 
	  use libxml2 parser for increased speed.

0.82	Sat Nov 01 07:40:53 2003
	- require at least 5.8.0 for installation since this is the recommended
	  baseline for processing unicode. 

0.81	Fri Oct 24 01:51:03 2003
	- fixed passing of empty metadataFormat name/value pair when 
	  listRecords() and listIdentifiers() use a resumption token.
	  Thanks Patrick Hochstenbach @ LANL.

0.8	Fri Oct 24 09:16:12 2003
	- better catching of XML errors
	- added debug() method
	- added --debug switch to oai-listrecords

0.75	Wed Oct 22 21:51:08 2003
	- wrapped XML parsing in eval block to trap fatal errors.

0.7	Wed Oct 22 09:58:55 2003
	- more doc fixes (thanks Martin)
	- resumptionToken() now returns undef when no resumption token 
	  was present in the response.
	- modified bin/oai-listrecords to take advantage of the new return 
	  convention of resumptionToken().
	- fixed custom userAgent getting/setting (thanks Martin). 

0.6	Tue Oct 21 17:12:31 2003
	- fixed several doc errors (thanks Martin Emmerich)
	- modified list verbs to work with resumption tokens
	- modified oai-listrecords utility to automatically fetch all 
	  records using resumption tokens.

0.5	Wed Aug 28 16:57:03 2003
	- more doc fixes

0.4	Thu Aug 07 17:22:12 2003
	- fixed doc error (thanks Tajoli Zeno)
	- fixed warnings that run under new Test::Harness.
	- explicitly use IO::File

0.3	Mon Jul 28 11:35:37 2003
	- added asString() method to Net::OAI::Record::OAI_DC
	- added oai-listrecords utility
	- modified Makefile.PL to put oai-listsets and oai-listrecords in bin

0.2	Tue Jul 08 09:59:34 2003
	- updated docs

0.1	Thu May 15 22:37:02 2003
	- original version