Kuha Document Store Changelog

1.2.0 (2024-03-15)

Added

  • Support external_link, external_link_role, external_link_uri and external_link_title attributes in Study.principal_investigator.

Changed

  • Require Kuha Common 2.3.0.

1.1.0 (2022-10-25)

Added

  • Support grant & funding information and identifiers for related publications in ‘studies’-collection. (Implements #19)

Changed

  • Require Kuha Common 2.0.0.

  • Use KuhaUnitTestCase.run_until_complete() instead of using the loop directly.

1.0.1 (2022-03-21)

Changed

  • Explicitly include replicaset connection URI parameter for Document Store client connections.

Fixed

  • Interpret an empty string for replicaset configuration as a standalone node. (Fixes #18)

1.0.0 (2022-03-16)

Added

  • Support MongoDB replicas.

  • Support logical deletions.

Changed

  • Database administrator credentials for kuha_db_setup can now be submitted via configuration. If either is not submitted via configuration the program asks user to submit them via interactive prompt.

  • API changes to database.py and validation.py:

    • Schemas are stored in instance level attribute DocumentStoreDatabase._validation_schemas rather than in validation._SCHEMAS. Schemas are prepared by DocumentStoreDatabase._prepare_validation_schema(). This makes it easier to use records other than the ones in Kuha Common.

    • RecordsCollection class is removed. Collections are now namedtuples and instantiated by database._init_collection().

  • Update dependencies in requirements.txt.

    • Tornado 6.1.0

    • ConfigArgParse 1.5.3

    • six 1.16.0

    • Motor 2.5.1

    • PyMongo 3.12.0

    • Cerberus 1.3.4

    • Python-dateutil 2.8.2

Removed

  • Drop import API. It relied heavily on Kuha Common records and was only reliable when used against an empty database.

0.12.0 (2021-09-06)

  • Ensure future compatibility with CESSDA Data Catalogue by adding kuha_common 0.15.1 to requirements.txt. Note that this is not a hard dependency, but must be met in order to follow CDC requirements.

  • Add test to ensure the tornado server and mongoclient are started correctly. If motor.motor_tornado.MotorClient is called before starting up tornado server with multiple processes, the program errors out in FileExistsError.

  • Drop tests with Python interpreters below py38.

0.11.1 (2021-02-02)

  • Lock pip version to 20.3.4 in install script, which is the latest pip that supports Python 3.5. The install script should be compatible with Ubuntu 16.04, which defaults to Python 3.5. The latest pip does not support Python 3.5 and therefore cannot be upgraded.

  • Add six==1.15.0 to requirements.txt. It is an indirect dependency required by python-dateutil.

  • Add py39 to tox test environments. Use it in Jenkinsfile.

  • Switch python3 command to python-latest command in Jenkinsfile. In FSD Jenkins the python-latest always points to the latest installed Python.

0.11.0 (2020-06-12)

  • Require kuha_common 0.14.0 or newer in setup.py.

  • Support Python 3.8. by upgrading dependencies in requirements.txt:

    • motor==2.1.0

    • pymongo==3.10.1

    • Cerberus==1.3.2

    • kuha_common==0.14.0

  • Refactor kuha_document_store.database and fit to motor 2.1.0 and pymongo 3.10.1.

  • Refactor kuha_document_store.db_setup and fit to motor 2.1.0 and pymongo 3.10.1.

  • Refactor kuha_document_store.serve and kuha_document_store.configure and fit to kuha_common 0.14.0.

  • Increase test coverage.

  • Update documentation regarding supported versions.

0.10.0 (2020-05-07)

  • Import DDI 1.2.2. and DDI 2.5. support Study.related_publications

  • requirements.txt: kuha_common 0.13.0

0.9.0 (2020-04-29)

  • Project source code management changed to git. Does not contain code changes to Document Store.

  • INSTALL.rst now instructs to use Git instead of Mercurial.

  • requirements.txt: kuha_common 0.12.0

0.8.0 (2020-01-09)

  • Kuha Common 0.10.0 introduces new attributes for Study and StudyGroup records.

  • Require Kuha Common >= 0.11.0.

0.7.1 (2019-04-05)

  • Kuha Common 0.9.1 improves handling of empty XML elements. Use it as a requirement in requirements.txt.

  • Add end-to-end test to make sure empty elements are handled correctly when importing.

0.7.0 (2019-03-14)

  • Support for kuha_common 0.9.0

  • Update copyright headers to 2019.

0.6.0 (2018-12-18)

  • Initial support for importing DDI 3.1. metadata.

    • Require kuha_common>=0.8.0

0.5.0 (2018-07-19)

  • Support importing StudyGroups from DDI 1.2.2 metadata.

    • Require kuha_common>=0.6.0

  • Refactor end-to-end tests: Use kuha_common.testing package. (Implements #12)

0.4.2 (2018-07-04)

  • Require kuha_common>=0.4.1, because 0.4.0 had critical bug.

0.4.1 (2018-07-04)

  • Use tag 0.4.0 for kuha_common in requirements.txt rather than the release branch. This way it is easier to revert to older releases of Document Store.

0.4.0 (2018-07-03)

  • Add importer for DDI 1.2.2 Nesstar.

0.3.2 (2018-05-15)

  • Relax identifier validation to allow dots.

  • Cast MongoDB ObjectId to string for distinct query return values. (Fixes #11)

0.3.1 (2018-03-14)

  • Remove extra file kuha_document_store.ini.dist.

  • scripts/install_kuha_document_store_virtualenv.sh: install with pip and use –upgrade flag to support upgrading.

0.3.0 (2018-03-06)

  • Import API now returns HTTP status code 400, if DataImportError is risen.

  • Import API gives result (‘import failed’) if import has failed, instead of null.

  • Fix TypeError on datestamp fields for distinct query type. (Fixes #8)

  • Move ddi_c.py mapping module to kuha_common library.

  • Fix validation for localizable fields regarding the language attribute. It is now mandatory as it should be. (Fixes #9)

  • scripts/install_kuha_document_store_virtualenv.sh: add –upgrade flag to pip install cmd.

  • Write some more documentation.

0.2.3 (2018-01-30)

  • DDI-C importer: add support for

    • Study.identifiers

    • Study.distributors

    • Study.classifications.attr_uri,

    • Study.classifications.attr_description

    • Study.keywords.attr_uri

    • Study.keywords.attr_description

    • Study.collection_periods

    • Study.analysis_units

    • Study.time_methods

    • Study.sampling_procedures

    • Study.collection_modes

    • Study.data_access_descriptions

  • Add validation for Study.persistent_identifiers.

  • Separate tests in subfolders end_to_end, integration, unit.

  • Add some unit-tests against DDI-C importer. Coverage is still lacking.

0.2.2 (2017-11-10)

  • Update documentation.

0.2.1 (2017-11-09)

  • Breaks backward compatibility to 0.2.0. Users should rebuild variable collections.

  • Fix referring variables to questions. Variable may refer multiple questions.

0.2.0 (2017-11-01)

  • Support referring variables to questions and vice versa.

0.1.2 (2017-11-01)

  • Support querying without created and updated -fields.

  • Add tox.ini to support running tests with tox.

0.1.1 (2017-10-27)

  • Update documentation.

0.1.0 (2017-10-25)

  • Initial version.