Skip to content

Latest commit

 

History

History
242 lines (154 loc) · 12.5 KB

CHANGELOG.md

File metadata and controls

242 lines (154 loc) · 12.5 KB

Changelog

All notable changes to this project will be documented in this file.

This project adheres to Semantic Versioning. See conventional commits for commit guidelines.

0.13.0 (2024-05-07)

Features

  • client: make numeric arguments accept 'int | float' (#366) (b53bbed)

Documentation

  • readme: add codeql badge (#365) (eca3e3b)
  • tutorial: fix typo (#353) (65f75b8)
  • add references to exceptions in docstrings (#351) (4df8491)

0.12.1 (2024-04-25)

Bug Fixes

  • exceptions: rename nometadataformat to nometadataformats (#349) (255acb2)

Code Refactoring

  • make all exceptions available in the main init file (#348) (bad60ff)
  • client: set up explicit default encoding in httpx.Client (#330) (25ef4cb)
  • iterator: rename params argument to query in itemiterator (#329) (1de6cd5)

Documentation

  • add api reference pages for all modules (#344) (8578031)
  • add python standard library inventory (#338) (20d176c)

0.12.0 (2024-04-04)

Features

  • client: add authentication parameter (#316) (035c0fe)

Documentation

  • readme: add download badges to readme (#294) (c375ea9)
  • add pypi project version to release notes template (#282) (c9d37ea)
  • update environment section in bug report template (#281) (a2c225a)
  • add ci to types of changes in pr template (#272) (f2745e7)
  • rename code of conduct (#270) (1994bf3)
  • add license headers to documentation (#258) (63aa318)

0.11.0 (2024-01-25)

Features

  • set up logging of http requests (#250) (3df5ba1)

Documentation

  • update python version in contributor guide (#248) (81366d8)
  • readme: add pypi downloads badge to readme (#243) (1f87b18)
  • add initial citation.cff (#240) (135a433)
  • readme: add pypi package information to readme (#237) (ada4dcf)
  • readme: add minor improvements to readme (#234) (9871491)
  • make urls in docstrings clickable (#233) (55bf699)

0.10.0 (2024-01-22)

Breaking Changes

  • make request arguments explicit (#212) (c61fab3)
  • remove request_args from scythe class and _request method (#199) (2be27aa)
  • drop support for oai-pmh version 1.0 (#183) (8644c4b)
  • drop support for python < 3.10 (#180) (cb3b99c)

Code Refactoring

  • client: remove obsolete is_error_code() (#177) (1e6dfe1)
  • add accept text/xml headers to client config (#155) (4d92818)

Testing

  • update getrecord example (#200) (77c8ee6)

Documentation

  • update author name (5f286e1)
  • readme: update required python version (8237d2c)
  • readme: restyle project metadata table (#214) (e2487cc)
  • readme: rephrase introduction about fork (#202) (de65418)
  • add more alternatives (#192) (5062a38)
  • add full changelog to release notes (#149) (19a98f5)

0.9.0 (2023-11-18)

Features

  • add context manager to scythe class (#144) (d660f77)

Performance improvements

  • set up internal httpx.Client (#140) (969e868)

Documentation

  • readme: add similar projects section (f45781f)
  • readme: add acknowledgments section (20ecd64)
  • readme: add short descriptions of requirements (a573150)
  • remove outdated credits page (47c80e8)
  • rename api docs page to client (cf77d57)
  • change breaking changes heading (#138) (69a8572)

0.8.0 (2023-11-16)

Note: Rename project to oaipmh-scythe when forking it from mloesch/sickle to afuetterer/oaipmh-scythe

Breaking Changes

  • drop support for Python 2
  • drop support for EOL Python 3.7 and below
  • rename Sickle class to Scythe to reflect the change of the project name
  • switch to PEP8 compliant names for methods (ListRecords() -> list_records())
  • remove .next() method from iterator classes

Features

  • set up default custom user agent (oaipmh-scythe/{version})

Performance Improvements

  • make iterator classes yield their responses

Code Refactoring

  • switch from requests to httpx
  • make BaseOAIIterator an ABC
  • move version information to about.py
  • add a custom base exception

Testing

  • switch from nose to pytest
  • add tests for Python 3.8 - 3.12 in CI
  • use canned responses from Zenodo to test harvesting logic (vcr.py)

Documentation

  • update license text
  • update authors and contributors
  • update copyright notice in src files
  • add contributor guide
  • add security policy
  • add issue and pull request templates
  • add custom GitHub labels
  • switch from Sphinx to mkdocs-material
  • switch from Read the Docs to GitHub pages
  • switch from reStructuredText to Markdown
  • switch to Zenodo for harvesting examples
  • update README badges

Other

  • switch from Travis CI to Github actions for CI
  • add scheduled dependency updates with Dependabot
  • add pre-commit hooks (e.g. ruff, mypy)
  • switch to src layout
  • switch from setup.py to pyproject.toml
  • switch to hatch for project setup
  • add type annotations
  • switch to Google style docstrings
  • rename first tags of sickle project for consistency (e.g. v0.5 -> 0.5.0)
  • enable CodeQL scanning
  • add OpenSSF Scorecard report

0.7.0 (2020-05-17)

  • method for record metadata extraction has been extracted (Record.get_metadata()) to make subclassing easier (mloesch/sickle#38)
  • retryable HTTP status codes and default wait time between retries can be customized (mloesch/sickle#21 mloesch/sickle#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 mloesch/sickle#39

0.6.5 (2020-01-12)

0.6.4 (2018-10-02)

0.6.3 (2018-04-08)

  • fix unicode problems (issues 20 & 22)

0.6.2 (2017-08-11)

0.6.1 (2016-11-13)

  • it is now possible to pass any keyword arguments to requests
  • the encoding used to decode the server response can be overridden

0.5.0 (2015-11-12)

  • support for Python 3
  • consider resumption tokens with empty tag bodies

0.4.0 (2015-05-31)

  • bug fix: resumptionToken parameter is exclusive
  • added support for harvesting complete OAI-XML responses

0.3.0 (2013-04-17)

  • 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

0.2.0 (2013-02-26)

  • OAI items are now represented as their own classes instead of XML elements
  • library raises OAI-specific exceptions
  • made lxml a required dependency

0.1.0 (2013-02-20)

First public release.