Revision history for HTTP-OAI

4.13  2023-06-06 11:43:51 CEST
  - Fixing use lib bug [ppisar]
  
4.12  2022-09-13 10:05:28 CEST
  - Adding a HTTP_OAI_AGENT environment variable

4.11  2021-02-22 08:52:44 CET
  - Fixing errors in documentation

4.10  2019-10-16 16:18:38 CEST
  - Support 429 Too Many Requests (RFC6585)
  - Fix broken link in pod

4.09  2019-08-22 10:39:03 CEST
  - Fixing set option in script/oai_pmh.pl [stain]

4.08  2018-11-26 11:29:41 CET
  - Fixing passing DOM to HTTP::OAI::Metadata

4.07  2018-05-28 15:14:54 CEST
  - Fixing counting number of tests
  - Fixed adding XSLT stylesheet process instructions #4

4.06  2017-09-01 07:55:01 CEST
  - Fixed metadataPrefix unreserved characters bugs [sdt]

4.05  2017-07-15 10:19:45 CEST
  - Fixing 5.26 installs
  - Fixing installation of command line tools

4.04  2017-01-19 10:06:11 CET
  - Moving to Dist::Milla [phochste]
  - Fixed Test t/getrecord.t fails [phochste]
  - Fixing pod [phochste]

4.03
  - Fixed MANIFEST [phochste]

4.02
  - Fixed namespace issue with ResumptionToken.pm [sebastfr]

4.01
	- Reworked API to use DocumentFragments
	- Various speed improvements
	- Added bin/oai_pmh.pl CLI tool

3.28
	- Fixed parsing <description> elements that contain multiple child nodes

3.26
	- Added 'delay' option to delay between requests
	- Added --skip-identify option to oai_browser.pl
	- Fixed POD for RT #64077
	- Hopefully fixes #69337 (no test case given)
	- Bumped XML::SAX::Base to 1.04 which should fix #68907

3.25
	- Added unit test for OAI_DC metadata() parsing
	- Metadata::OAI_DC now parses dc when passed as a DOM to ->metadata

3.24
	- Fixed CPAN bugs #60760 and #60856

3.23
	- Changed license to BSD
	- Added dependency for XML::SAX rt #43287
	- Fixed some POD issues rt #51853

3.22
	- use XML::SAX::Parser rather than ParserFactory
	- test the namespace on NamespaceURI rather than the XMLNS attribute, which
	  is reported differently between XML::LibXML::SAX and
	  XML::LibXML::SAX::Parser
	- added debug class HTTP::OAI::Debug
	- added check in 01parse test case for file open
	- added 000xml_sax.pl test case for basic XML::SAX function
	- added "trace" and "saxtrace" options to oai_browser.pl

3.21
	- added test case for bad characters
	- fix bad chars as they arrive, to avoid buffering an entire response if it
	  contains bad chars
	- some code cleanup

3.20
	- use strict UTF-8 (suggested by Dennis Vierkant)

3.19

3.18
	- broke apart Metadata from Encapsulation
	- now uses XML::SAX in Response, rt.cpan.org ticket #27191
	- shifted all use's into HTTP::OAI
	- added use strict(), use warnings() to every module
	- shifted $VERSION in HTTP::OAI
	- href attribute lookup in METS should be namespaced too
	- added mets test case
	- fixed test cases for changed XML output

3.17

	- Removed next() call from oai_browser for List*
	- Fixed missing HTTP:: in ListIdentifiers documentation
	- Fixed missing namespace initialization in SAX
	- Fixed bug in request where '?' wasn't being removed

3.16

  - Fixed recursion bug in onRecord
	- No longer need to call next() for onRecord (Harvester will do it for you)
	- Added PartialList module (ListIdentifiers, ListRecords, ListSets)

3.15

	- Several bug fixes, particularly catching and throwing parsing errors
	- Added onRecord argument to ListRecords, ListIdentifiers, ListSets
	- INCOMPATIBLE: Changed error handling, so now only need to check after the
		next() loop for both initial errors and flow errors
	- Added is_deleted method to Record and Header

3.14

	- By default oai-lib now fixes bad UTF-8 characters (replacing with '?')
	  To disable this set $HTTP::OAI::UserAgent::IGNORE_BAD_CHARS to 0
	- Fixed bug where a partially downloaded utf-8 character could cause a harvest to fail

3.13

3.12
	- BUG: Static repository was re-fetching the source for every request
	- API change: when parsing a static repository records are now pre-parsed to allow for quick GetRecord access, this means you *must* supply the handlers argument to the Harvester constructor (otherwise the first request's handlers are always used)
	- Added resumptionToken option to ListIdentifiers in the oai_browser.pl tool

2005-09-05

	- Added -oldstyle_urls to gateway & doc examples [thanks to Patrick Hochstenbach]

2005-04-13

	- Improved display of errors in the event of XML parsing failure (bad chars etc.)
	- In the event of bad XML resumption token will not sleep(60) and retry, but simply fail

2005-04-08

	- Fixed bug where Header wasn't getting end_element on </header>, resulting in deleted items in ListRecords never being flagged as such

2005-04-06

	- UserAgent now uses a callback with LWP to parse XML responses, resulting in a much reduced memory footprint
	- Compression support is removed for the moment

2005-03-30

	- CGI has an annoying habit of return the URL with semi-colons, ::Response now checks for this and acts appropriately
	- Header was blanking setSpecs when given a dom (corrected POD for setSpec)
	- Fixed Header missing the record status
	- Tests added to getrecord.t for parsing Header
	- oai_static_gateway.pl now throws an error if given a resumption token (which should never occur because it doesn't use Flow-Control)

2005-03-07

	- Fixed undef warning when trying to set the repository to an Identify w/o a base URL
	- Changed back to XML::LibXML::SAX::Parser due to unreliability in XML::LibXML::SAX :-(

2005-03-05

	- 80network.t && added Prereqs (jaybonci@debian.org RT #11508 & #11509)

2005-02-25

	- Added new script 'gateway.pl' that acts as a static repository broker
	- Library now uses temporary files to harvest (due to memory leak in LibXML's parse_string), provides for a smaller memory footprint
	- Numerous bug fixes

2005-02-23

	- Added support for harvesting from Static repositories
	- Fixed bug where the error message for an unsupported namespace wasn't getting displayed

2004-10-08

	- Moved to namespace HTTP::OAI
	- Changed all arguments from -style to 'argument'
	- Now uses (in a round-about way) XML::SAX, dropping the requirement for XML::Parser and XML::SAX::PerlSAX
	- Fixed some bugs with the DOM construction code (which also effected toString)