Revision history for HTTP-OAI

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]

  - Fixed MANIFEST [phochste]

  - Fixed namespace issue with [sebastfr]

	- Reworked API to use DocumentFragments
	- Various speed improvements
	- Added bin/ CLI tool

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

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

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

	- Fixed CPAN bugs #60760 and #60856

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

	- 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
	- added debug class HTTP::OAI::Debug
	- added check in 01parse test case for file open
	- added test case for basic XML::SAX function
	- added "trace" and "saxtrace" options to

	- 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

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


	- broke apart Metadata from Encapsulation
	- now uses XML::SAX in Response, 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


	- 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


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


	- 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


	- 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


	- 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 tool


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


	- 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


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


	- 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


	- 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
	- now throws an error if given a resumption token (which should never occur because it doesn't use Flow-Control)


	- 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 :-(


	- 80network.t && added Prereqs ( RT #11508 & #11509)


	- Added new script '' 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


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


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