Kuha Document Store Changelog
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
andkuha_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.