May 17, 2020
- method for record metadata extraction has been extracted (
Record.get_metadata()
) to make subclassing easier (#38) - retryable HTTP status codes and default wait time between retries can be customized (#21 #41)
- retry logic has been fixed:
max_retries
parameter now refers to no. of retries, not counting the initial request anymore - the default number of HTTP retries has been set to 0 (= no retries)
- fix for #39
January 12, 2020
- fix: repr methods where causing an exception on Python 3 (#30)
October 2, 2018
- fix: resumption token with empty body indicates last response (#25)
April 8, 2018
- fix unicode problems (issues 20 & 22)
August 11, 2017
- missing datestamp and identifier elements in record header don't break harvesting
- lxml resolve_entities disabled (http://lxml.de/FAQ.html#how-do-i-use-lxml-safely-as-a-web-service-endpoint)
November 13, 2016
- it is now possible to pass any keyword arguments to requests
- the encoding used to decode the server response can be overridden
November 12, 2015
- support for Python 3
- consider resumption tokens with empty tag bodies
May 31, 2015
- bug fix: resumptionToken parameter is exclusive
- added support for harvesting complete OAI-XML responses
April 17, 2013
- added support for protected OAI interfaces (basic authentication)
- made class mapping for OAI elements configurable
- added options for HTTP timeout and max retries
- added handling of HTTP 503 responses
February 26, 2013
- OAI items are now represented as their own classes instead of XML elements
- library raises OAI-specific exceptions
- made lxml a required dependency
February 20, 2013
First public release.