invenio-oaiserver 4.0.0
"Invenio module that implements OAI-PMH server."
License: MIT
Requires Python: >=3.7
Keywords: invenio OAI-PMH

..
    This file is part of Invenio.
    Copyright (C) 2016-2018 CERN.

    Invenio is free software; you can redistribute it and/or modify it
    under the terms of the MIT License; see LICENSE file for more details.

===================
 Invenio-OAIServer
===================

.. image:: https://img.shields.io/github/license/inveniosoftware/invenio-oaiserver.svg
        :target: https://github.com/inveniosoftware/invenio-oaiserver/blob/master/LICENSE

.. image:: https://github.com/inveniosoftware/invenio-oaiserver/workflows/CI/badge.svg
        :target: https://github.com/inveniosoftware/invenio-oaiserver/actions?query=workflow%3ACI

.. image:: https://img.shields.io/coveralls/inveniosoftware/invenio-oaiserver.svg
        :target: https://coveralls.io/r/inveniosoftware/invenio-oaiserver

.. image:: https://img.shields.io/pypi/v/invenio-oaiserver.svg
        :target: https://pypi.org/pypi/invenio-oaiserver


Invenio module that implements an OAI-PMH server.

Further documentation is available on https://invenio-oaiserver.readthedocs.io/

..
    This file is part of Invenio.
    Copyright (C) 2016-2025 CERN.
    Copyright (C) 2024-2026 Graz University of Technology.
    Copyright (C) 2025 KTH Royal Institute of Technology.

    Invenio is free software; you can redistribute it and/or modify it
    under the terms of the MIT License; see LICENSE file for more details.

Changes
=======

Version v4.0.0 (released 2026-01-28)

- chore(setup): bump dependencies
- fix(chore): DeprecationWarning stdlib

Version v3.7.4 (released 2025-12-08)

- i18n: pulled translations

Version v3.7.3 (released 2025-10-21)

- i18n: pulled translations

Version v3.7.2 (released 2025-08-18)

- component_templates: add missing ElasticSearch v7

Version v3.7.1 (released 2025-07-29)

- global: fix usage of `from` argument
    * Parsing the `from` parameter in marshmallow was fixed in
      ec51ae6, but the downstream uses of the parsed key were not adapted to
      the change.

Version v3.7.0 (released 2025-07-17)

- i18n: pulled translations
- i18n: push translations

Version v3.6.0 (released 2025-07-01)

- fix: pkg_resources DeprecationWarning

Version v3.5.0 (released 2025-06-03)

- fix: serialization of from parameter

Version v3.4.0 (released 2025-04-29)

- component_templates: allow the usage of component_templates instead of mappings for the definition of the records (#254)
- fix: setuptools require underscores instead of dashes
- i18n: removed deprecated messages

Version v3.3.1 (released 2025-03-30)

- chore: fix CHANGES.rst bullet formatting

Version v3.3.0 (released 2025-03-30)

- tests: explictly test for warnings
- Reverts "component_templates: Allow the usage of component templates to define the record schemas"
    * Even though the change is backwards-compatible, it still is a major datamodel change regarding
      how OAI Sets are managed in terms of indices. This can have a large impact on running
      instances and should be released as a major version.
- i18n: update string formatting for compatibility
    * Update string formatting for compatibility with i18n the following strings were updated: invenio_oaiserver/verbs.py
- i18n: mark strings for translation

Version v3.2.0 (released 2025-03-26)

- component_templates: Allow the usage of component templates to define the record schemas

Version v3.1.0 (released 2024-12-16)

- percolator: use `OAISERVER_RECORD_INDEX` to determine percolator index
    * Instead of relying on the default `RecordIndexer` class to determine
      the percolator index, we reuse the `OAISERVER_RECORD_INDEX` config variable.

Version 3.0.0 (release 2024-12-06)

- fix: tests, apply invenio-indexer change
- fix: docs reference target not found
- tests: apply changes for sqlalchemy>=2.0
- setup: change to reusable workflows
- setup: bump major dependencies
- ci: fix docker compose call

Version v2.2.3 (released 2024-09-25)

- percolator: allow lazy strings from config for deletions

Version v2.2.2 (released 2024-09-11)

- percolator: allow lazy strings from config

Version 2.2.1 (released 2023-11-09)

- verbs: fix `from` parameter

Version 2.2.0 (released 2023-03-02)

- remove deprecated flask-babelex dependency and imports
- upgrade invenio_i18n

Version 2.1.1 (released 2022-11-29)

- Add translations

Version 2.1.0 (released 2022-10-03)

- Add support to OpenSearch v2
- Remove `doc_type` using search APIs

Version 2.0.1 (released 2022-09-27)

- Bump invenio-records
- Remove invenio-marc21 from tests

Version 2.0.0 (released 2022-09-25)

- Add support to OpenSearch
- Drop support to Elasticsearch < 7
- Upper pin Invenio dependencies
- Breaking: rename kwargs `document_es_ids` to `document_search_ids` and
  `document_es_indices` to `document_search_indices` in funcs
  `create_percolate_query` and `percolate_query`

Version 1.5.0 (released 2022-09-21)

- Adds system created flag field to oai-pmh set model
  to mark auto created sets

Version 1.4.2 (released 2022-05-23)

- Adds support for Flask v2.1

Version 1.4.1 (released 2022-03-01)

- Fixes marshmallow deprecation warning.

Version 1.4.0 (released 2022-02-22)

- OAI-PMH sets reimplementation via percolator queries during result fetching.
- Removes Python 2.7 support.
- Resumption token argument fixes.

Version 1.3.0 (released 2021-10-20)

- Unpin Flask version.

Version 1.2.2 (released 2021-09-17)

- Adds support for more easily integrating the OAI-PMH server in InvenioRDM.

- Adds new configuration variables for dependency injection of search class,
  ID fetcher, record getter tec.

- The release is fully backward compatibility and does not change any
  behaviour.

- Fixes a bug with Elasticsearch 7 causing invalid OAI-PMH output for the
  resumption token.

Version 1.2.1 (released 2021-07-12)

- Adds german translations

Version 1.2.0 (released 2020-03-17)

- Removes support for python 2.7
- Centralises management of Flask dependency via invenio-base

Version 1.1.2 (released 2019-07-19)

- fixes default config OAISERVER_QUERY_PARSER_FIELDS
- changes celery support module to invenio-celery

Version 1.1.1 (released 2019-07-31)

- Added support for Marshmallow v2 and v3.

Version 1.1.0 (released 2019-07-31)

- Added support for Eleasticsearch v7

Version 1.0.3 (released 2019-02-15)

- Pins marshmallow package to <3 in preparation for upcoming v3.0.0 release
  which will break compatibility.

Version 1.0.2 (released 2019-01-10)

- Improved performance of the *Identify* verb response by fetching earliest
  record date from Elasticsearch.

Version 1.0.1 (released 2018-12-14)

Version 1.0.0 (released 2018-03-23)

- Initial public release.