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.
- RM constraint validation for DIRECTORY (with feature toggle) #1584
- update to java 25 #1595
- changed history DB model for better compression #1584
- migrating
managementproperties deprecated since Spring Boot 3.5 #1605
- Adjusted some endpoints to comply with openEHR REST API specs; see UPDATING.md #1599
- For existing EHR directory entries, missing
archetype_node_ids ofFOLDERs are set toopenEHR-EHR-FOLDER.generic.v1#1584
- Updating compositions with newer template versions now supports SemVer version syntax #1597
- Fixed parsing of template versions when updating compositions #1597
- When deleting templates, all composition versions are considered for graceful error handling #1597
- AQL: COMPOSITION CONTAINS COMPOSITION and EHR_STATUS CONTAINS EHR_STATUS no longer wrongly return results #1580
- Fixed an error where the deletion date of versioned objects was set to the creation date of the previous version #1573
- Fixed an error during AQL parameter replacement, when using COUNT(*) #1564
- When executing a stored query, the response no longer includes the variable
qwith the query definition #1563
- Proper escaping of AQL LIKE operands #1542
- Upgrade openEHR_SDK to version 2.26.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Proper escaping of AQL LIKE operands #1542
- Renaming the query type parameter when storing queries to match the specification #1536
- AQL: deterministic SQL generation #1534
- Option
ehrbase.aql.path-node-skippingto improve AQL performance for paths containing consecutive node predicates. Disabled by default, since it may produce unexpected results if the paths do not follow the archetype definitions. #1521
- AQL: CONTAINS with a node predicate now excludes results from nested archetypes.
To restore the previous behaviour set
ehrbase.aql.archetype-local-node-predicates = false#1524
- Fix terminology validation URL extraction #1507
- Publishing artifacts directly to central.sonatype.com #1512
- Add missing test dependency scope to assertj #1502
- Allow for retrieving COMPOSITIONs containing ELEMENTs with FEEDER_AUDIT #1506
- Parsing of invalid temporal aql parameters #1489
- Prevent concurrent creation of multiple EHRs with same patient reference #1475
- fix difference in Web template between openEhr API and etercis API #1470
- Fix AQL handling for "FOLDER CONTAINS VERSION CONTAINS COMPOSITION" #1459
- Added check for duplicate version IDs during Folder creation as well as check for Folder uid and if-match header id during update (#1410)
- Remove EHR from AQL if not needed for the query (#1448)
- Update flyway to V11 to Gracefully exit in case installed flyway DB is newer than supported (#1450)
- Allow Template overwrite with renamed property from
system.allow-template-overwritetoehrbase.template.allow-overwrite(#1440)
- EHR directory: Restriction of FOLDER items to only contain local VERSIONED_COMPOSITION references (#1433)
- Revived option to pre-fill template cache (
ehrbase.cache.template-init-on-startup, default:false) (#1394) - Added experimental
AQLsupport forFOLDER(ehrbase.aql.experimental.aqlOnFolder, default:false) (#1401)
- Feature toggle for ehrscape API (
ehrbase.rest.ehrscape.enabled, default:false) (#1415)
- Validate that compositions only contain nodes that are defined by the template (
ehrbase.validation.checkForExtraNodes, default:true) (#1424)
- Improved transaction-awareness of caches (#1407)
- Fixed HTTP 500 in case stored query does not exist #1409
- AQL: Support query parameter with multiple values (1399)
- Enable user access to the welcome page while authentication is enabled (#1400)
- Stored AQL queries: Correctly clean up query cache when storing queries (#1405)
- Updating an
EHR_STATUSorFOLDERdid not check theIf-Match header(1398)
- Experimental ItemTag REST endpoints for EHR_STATUS and COMPOSITION (configs:
ehrbase.rest.experimental.tags.*) (1343) - CLI runner with support for flyway pre-migrations (1387)
- Require EHR_STATUS
is_queryableandis_modifiableto be present (#1377)
- Improved data structure for hierarchy of versioned objects (#1359)
- Upgrade openEHR_SDK to version 2.15.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Create a
ehrbaseuser to run the Docker container (#1336)
- Deprecate plugin aspects (#1344)
- Add simplified JSON-based “web template” format support for GET Template ADL 1.4 using header
Accept: application/openehr.wt+json(1334) - Improved AQL performance (#1358)
- Upgrade openEHR_SDK to version 2.14.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Return
201instead of204for EHR creation (1371) - Fixed AQL predicate reduction logic (#1358)
- Respect AQL root predicates (#1358)
- Configurable flyway migration strategy
- Configurable fetch limit checks + default limit for AQL queries
- Configurable fetch limit precedence strategy for AQL queries
- Upgrade openEHR_SDK to version 2.13.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Upgrade openEHR_SDK to version 2.12.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- AQL-Performance: paths containing non-locatable structure attributes (EVENT_CONTEXT, FEEDER_AUDIT) (#1341)
- Removed
@Schema(MediaType.class)Header declaration from swagger UI (#1333)
- Added AQL debug support (#1296)
- Upgrade openEHR_SDK to version 2.11.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- The field
qof AQL query responses now contain the requested, and not the executed, query string (#1296) - The field
meta._schema_versionof AQL query responses has been changed to1.0.3(#1296) - Return HTTP 422 Unprocessable Content in case fetch or offset is defined inside the aql query and as parameter (#1325).
- Added
STORED_QUERY_CACHE(#1258) - Added new config option
ehrbase.security.management.endpoints.web.csrf-validation-enabled(#1294,#1297)
- Upgrade openEHR_SDK to version 2.10.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Changed
StoredQueryRepositorymethods to only acceptStoredQueryQualifiedNameas arguments (#1258)
- Fixed an issue with AQL, which caused NPEs when the query required adding filtering subqueries on a DV_ORDERED path (#1293)
- Delete Contribution now returns a 501 Not Implemented instead of 500 as it's not supported since 2.0.0 (#1278)
Welcome to EHRbase 2.0.0. This major release contains a complete overhaul of the data structure and the Archetype Query Language (AQL) engine.
See UPDATING.md for details on how to update to the new release.