All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Switched to Java 21 (LTS)
❗Manual check of custom and customized metadata schemas is required.
- Use
dcterms:hasVersion
has been changed todcat:version
- Support for configuration using environment variables
- Updated to Spring Boot 3
- Updated several other dependencies
- Reset metadata schema to defaults
- Validation on metadata record deletion
- Target class URIs detection
- Permissions in DB migration (caused by refactoring)
- Application title and subtitle in config and settings
- Possibility to configure ping endpoints in config file
- SHACL preview for metadata schemas
- (Index) Cleanup of harvested records before next harvesting
- Child UUIDs for a metadata schema repetition due to versions
- Extended search (filters, simple and complex query)
- Add saved search queries
- Several dependencies updated
- Security audit via GitHub Actions (Snyk and CodeQL)
- Introduced metadata schemas (as replacement of shapes) including versioning and importing
- Updated RDF4J to 4.0
- Several dependencies updated
- Harvest also
fdp-o:MetadataService
in FDP Index
- Upgrade to Spring Boot 2.6.6 due to CVE-2022-22965 (more info)
- Profile resources contain
rdfs:label
with Shape name
- Replaced
**
wildcards with safer pattern - Added restriction to URL prefixes of Resource Definitions (
[a-zA-Z_-]*
) - Upgrade Java JDK from 16 to 17
- Updated SpringDoc OpenAPI UI and several other dependencies
- Compliance with FDP-O ontology (
fdp-o:FAIRDataPoint
)
- Missing
xsd
prefix in some default metadataSchemas
- Forcing log4j (indirect dependency) to v2.17.1 due to CVE-2021-44832
- Forcing log4j (indirect dependency) to v2.17.0 due to vulnerability
- Forcing log4j (indirect dependency) to v2.16.0 due to vulnerability (again)
- Forcing log4j (indirect dependency) to v2.15.0 due to vulnerability
- New endpoints for settings (metrics and ping)
- Reset to defaults works with settings as well
- Metadata endpoint
**/expanded
is marked as Deprecated - Several dependencies updated (including Spring Boot 2.5.3)
- Multiple children resource definitions with the same child relation
- Ordering of target classes
- Computing cache on DB migration and reset to defaults
- Profile namespace
/
vs#
- Creating metadata of a resource definition that has multiple parents
- All metadata have dct:conformsTo with profile based on resource definition
- Resolving labels for RDF resources
- Registration of standard namespaces in RDF output
- Resource definitions are related directly to metadataSchemas
- Allow to change internal metadataSchemas
- Reset to "factory defaults" (users, resource definitions, metadata)
- Upgrade Java JDK from 15 to 16
- Publishing and sharing SHACL metadataSchemas between FDPs
- Pagination for child resources
- Migrated API Docs to SpringDoc OpenAPI
- Generating OpenAPI based on resource definitions
- Explicit content types for responses in OpenAPI
- Allow to configure multiple ping endpoints
- Upgrade to Spring Boot 2.4.5
- Migrated from Mongobee to Mongock
- Several minor dependencies updates
- Denylist for FDP Index pings
- Endpoints for managing Index settings from Client
- Upgrade Java JDK from 14 to 15
- Rate limits use forwarded IP by proxy based on config
- Index settings are moved to the database
- Admin trigger now accepts the same DTO as ping
- Fix metadata not found error
- Possibility to change profile and password for current user
- FDP Index functionality (moved from FAIRDataPoint-index)
- Harvestor for collecting metadata
- Support for PROF profiles
- Metadata search including RDF type
- Fix schema.org URL in pom.xml
- API keys
- Draft state for stored metadata
- Support custom resource definitions allowing more children
- Upgrade Java JDK from 11 to 14
- Switch to
OffsetDateTime
- Ping service (for call home functionality)
- Fix saving of nested entities in metadata
- Fix Git app info in actuator endpoint
themeTaxonomies
on incoming catalog
- Shape definitions with DASH support
- Endpoint for bootstrapping Client
- Validation for SHACL definitions in metadataSchemas
- Production migration for metadataSchema definitions
- Embed fairmetadata4j into the project
- Split instanceUrl to clientUrl and persistentUrl
- Internal PID system
- Dashboard identifier
- HTTP XFF (
X-Forwarded-For
) headers andPUBLIC_PATH
envvar replaced usinginstanceUrl
- References to related repositories
- Option to customize metamodel (metadata layers)
- Switch to GitHub Actions (from Travis CI)
- Swagger config reflects
instanceUrl
- Reformatted and updated SHACL definitions to use
sh:and
according to the FDP specification
- Endpoint for Client configuration
- Spring Boot Actuator for monitoring and service info
- Unified package names (
dtl
todtls
) - Loading of production configuration
- Fix crashing on mapping null descriptions, licenses, etc.
- Fallback to
InMemory
when a connection to the configured repository fails
Refactored and cleaned-up version of reference FAIR Data Point implementation supporting a new FAIRDataPoint-client.
- ACLs and use Spring Security with Mongo for authentication
- User Management and Metadata for FAIRDataPoint-client
- Themes caching for catalog and several other optimizations
- Complete refactoring, cleaning accumulated changed and deprecations, reformatting code
- Upgrade Java JDK from 8 to 11
- Enhanced Swagger UI API documentation
- Improve CI (on Travis) to automatically build and publish Docker image
- Several fixes of metadata, configuration, tests, and convertors
The first release of reference FAIR Data Point implementation.
- REST API according to the FDP specification supporting
GET
,POST
, andPATCH
for repository, catalog, dataset, and distribution layers - API documentation using Swagger UI