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