All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
Versioning schema
The code version follows Semantic Versioning, while the release version includes
a package number to track changes to the packaging: {Major}.{Minor}.{Patch}-{package version}
.
The Major
, Minor
and Patch
placeholders are defined as described in the Semantic Versioning
documentation, and:
- the
{package version}
is a number that will start from1
and increment with every changes made to the Docker image or repository structure. - The
{package version}
number is set to1
when a new{Major}.{Minor}.{Patch}
change is released (e.g.3.0.1-1
,3.0.1-2
,3.0.2-1
,3.1.0-1
).
- Filter on all K-Links defined for the application if no K-Link is specified
- Support for multiple K-Links (API 3.7) only available with K-Link Registry v0.3
- Ability to filter based on K-Link
klink.list
endpoint to list available K-Links
- Docker container shutdown
- For respecting EU 679/2016 (GDPR) we have removed the required constraints from the following
Data
fields: authors
can now be null or an empty arraycopyright
can now be null. If not null both properties (owner
andusage
) can be nulluploader
is not anymore a required field. If specified thename
attribute is optionaluploader.email
data attribute can now be null in respect of EU 679/2016 (GDPR)- Changes to required fields are marked with API 3.6. To comply with the regulation the changes have been backported to previous API versions
- Fix validation of search parameters against null values
- Fix validation of
geo_location
andgeo_location_filter
for WGS84 coordinate system (handle LUCENE-8522 bug)
geo_location
field in theData
object for storing geographic information related to the data (API3.5
)geo_location_filter
to theSearchQuery
object for filtering the data based on theData.geo_location
field (API3.5
)
- Updated Solr to v7.4.x
- Now Requires K-Search Engine v1.x
- Download Data files when data has been added with
data_textual_contents
(andKLINK_RETAIN_DOWNLOADED_CONTENTS=1
).
- Enforce validation for the
request.id
property in JsonRPC requests
- Fixed Docker integration
- Add
ksearch:data:compute-hash
command to compute the expected hash of a file - Add
var/data.db
Database to handle Data processing queue - Allow
data.status
to return status form the index, or from the "processing queue" state (APIv3.4
) - Allow stored files to be served from
/files/{UUID}
- Allow "data_textual_contents" from data.add to be retained (env variable: KLINK_RETAIN_DOWNLOADED_CONTENTS=[1|0])
- Add configuration for downloaded file retention policy (env variable: KLINK_RETAIN_DOWNLOADED_CONTENTS=[1|0])
- Add "uploader.organization" property (filterable, sortable, facetable)
- Refactored data processing with advanced queue system (default to file, supports RabbitMQ and other message queue systems)
- Move Vagrant VM default hostname from
ksearch.dev
toksearch.test
- Allow all data to be searched and get, ignoring the data.status value
- Configuration of
KLINK_REGISTRY_API_URL
is deprecated whenKLINK_REGISTRY_ENABLED
is set to 0
- Fix Data.Search filter validation for groups
- Fix parsing of query sent in
data.search
"filters" params, handle validation and Solr errors - Fix cache invalidation for downloaded files. The data.hash is now additionally check against the existing file
- Update Docker composer file, added docs and configurations
- Update Docker integration (ignore folders, use optimized autoloader during
composer install
) - Enable
postbigrequest
plugin for SolariumPHP (use POST method for big requests against Solr APIs)
- Fix extraction of Java examples form PDF (updated solr-engine to v0.4.1)
- Allow Data files to be pre-downloaded in
var/data-downloads/xx/UUID
(wherexx
are the first two chars of the Data UUID property). The file is checked for an indexable mime-type and kept after indexing. The file is deleted after the deletion of the related Data from the index. - Add
filename
to the full-text search matching - Add min-count parameter to search aggregations (API v3.2)
- Update Solr submodule (use github repository, v0.4.0)
- Update Drifter submodule (use newest release with native SF4 support)
- Add sorting of Data search results (API v3.1)
- Update Solr submodule to v5.5.5
- Update Drifter to latest release (added support for Symfony4)
- Updated
CopyrightOwner
: setname
as required, renamedcontact
toaddress
(breaking change).