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.
- Upgrade openEHR_SDK to version 2.6.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Fix the folder audit status event type (#1193)
- Fix OAuth2 Security Configuration for admin role and management endpoints (#1196)
- Fix party identified NP (#1191)
- Upgrade openEHR_SDK to version 2.3.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Migrated to spring boot 3 (#1174)
- Removed authorization scopes from endpoints and added support for overwriting controllers (#1157)
- Upgrade openEHR_SDK to version 2.2.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Fix storing attributes of Locatable.name (#1161)
- Upgrade openEHR_SDK to version 2.1.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Added support tenant deletion (#1146)
- Upgrade openEHR_SDK to version 2.0.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Audit log functionality has been integrated as a plugin (#1131)
- update to SDK 2.0.0-SNAPSHOT (#1141)
- move dbencoding from SDK to ehrbase (#1141)
- adjust to new SDK package paths (#1141)
- Upgrade openEHR_SDK to version 1.29.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Run directory operation in one transaction (#1133)
- Upgrade openEHR_SDK to version 1.28.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Upgrade openEHR_SDK to version 1.28.0-SNAPSHOT see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- fix flyway_checksum for script 83 (#1130)
- Upgrade openEHR_SDK to version 1.28.0-SNAPSHOT see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Fix DB Migration scripts. Remove the tenant RLS policy during script execution (#1127).
- Sub-folders are retained in the response upon updating Folders. (#1108)
- Upgrade openEHR_SDK to version 1.27.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Changed namespace UUID to number-based ID and added to the primary key in each entity. (#1100)
- Fixes NPE if during start up with many templates in the system. (#1101)
- use from sdk archie version 3.0.0 and antlr4 version 4.11.1 (#1078)
- Upgrade openEHR_SDK to version 1.26.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Respect the predefined value of the composition UID when creating new composition (#1090)
- Upgrade openEHR_SDK to version 1.25.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- new Directory implementation (#1059)
- error on concurrent user creation (#1067)
- add caches for ehr.concept, ehr.territory, ehr.language(#1007)
- add stored query text plain request support (#1021)
- unwrap if match additional double quotes (#1022)
- general support for tenants and authorization for plugins
- Expose management and swagger endpoints publicly(#1030)
- Include tenant information in ATNA logs(#1055)
-
Upgrade openEHR_SDK to version 1.24.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
-
use caffeine cache instead of ehcache as ehcache has unnecessary blocking(#1007)
-
remove unnecessary DB queries(#1007)
-
Performance improvements of the composition audit.(#1042)
-
improved versioning of stored queries (#1050)
-
switch to non-privileged user for DB Access (#11064)
- Update spring-boot(spring-security), postgresql, pf4j-spring dependency version (#1060)
- Update jackson dependency version (#1063)
- maintain a correct history of participations(#1016)
- Fixed NullPointerException when language is missing (#1023)
- Endpoint for storing queries gives a detailed error regarding incorrect version(#1032)
- Fixes NullPointerException while sending ehr status request(GET/PUT) when abac is enabled (#1031)
- Fixed status update if party already exist for ehr(#1024)
- Change response code from 400 to 406 Not Acceptable on querying POST template endpoint with unsupported
Accept
header application/json(#1029) - Fixed abac default tenant claims validation(#1041)
- Fixed incorrect path in Location http header(#1044)
- Fixed get deleted composition returns 500(#1048)
- Authorization enhancements #1002
- Impl. API extensions needed for authorization
- Added annotations on all REST endpoints to support authorization decissions
- Upgrade openEHR_SDK to version 1.24.0-SNAPSHOT see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- JAVA 17 baseline
- Spring Boot 2.7.4
- Upgrade openEHR_SDK to version 1.24.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Add spotless plugin, Add codestyle check to workflows (#864)
- Upgrade openEHR_SDK to version 1.23.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Change DB-model to save Data in a namespace (#994)
- Error causing a 500 Response when requesting a deleted composition via ECIS GET Composition Endpoint (#875)
- Update folder was not always corectly updating it items (#974)
- AuditDetails had timezone missing (#998)
- numerus AQL fixes (#1001, #1006)
- Fixed update script for user consolidation (#865)
- Implement template example endpoints (#801)
- Implement EHR_STATUS.is_modifiable semantics on service level (#791)
- use bom for dependence management (#820)
- add Release action (#831
- Added hooks for the plugin system (#816)
- Added index to
party_identified
to improve performance of find EHR by subject-id (857))
- Upgrade to Spring boot 2.5.12 see spring-framework-rce (#800) .
- Add unique constraints on
status
andentry
(#821). - Removed Postgres with extensions setup (#840)
- Upgrade openEHR_SDK to version 1.19.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Handle 4xx status code related Spring MVC Exceptions, instead of making them all a 500, and handle ResponseStatusException (#803)
- Fix duplicate users issue (#826).
- Fix validation errors in ECIS EHR endpoint (#828)
- Fix 400 error in ECIS EHR update (#834)
0.20.0 (beta)
- Add Plugins system (#772, #779).
- AQL: support
ORDER BY
andLIMIT [OFFSET]
clauses in any order (#782).
- Update Archie to version 2.0.1 #784
- Add missing database indexes #788 and #796
- Upgrade openEHR_SDK to version 1.18.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Remove unused Operational Template cache (#759).
- Allow update/adding/removal of feeder_audit/links on Composition (#773)
- Add default ASC direction to ORDER BY clause in AQL (#780).
- Fix DB Migration scripts. Allow user different then ehrbase (#795).
0.19.0 (beta)
- Add Flyway callback to check
IntervalStyle
configuration parameter (#720). - Validate RM types used in OPT template (#739).
- Upgrade to Archie 1.0.4 (#719).
- Improve errors and exceptions logging (#745).
- Upgrade openEHR_SDK to version 1.17.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Fixed SQL encoding whenever template is unresolved (#723)
- Modified handling of conflicting identified parties (#710)
- Fixes wrong status code returned by EHRbase while creating FLAT composition (#726)
- Fix NullPointerException while deleting unknown (or already deleted) composition parameter (#722).
- Fix querying other_participations (#707)
0.18.3 (beta)
- removed log4j (see ehrbase#711)
0.18.2 (beta)
- updated log4j from 1.15.0 to 1.60.0
0.18.1 (beta)
- Fix deployment issue with Flyway migration V62__add_entry_history_missing_columns.sql
0.18.0 (beta)
- Migrated to Archie openEHR library version > 1.0.0, incl. its new strict invariant checks ( see: ehrbase#570)
- Support Structured format on ecis composition endpoints ( see ehrbase#648)
- Add new configuration options to customise user/admin role names when using OAuth authentication (see ehrbase#667)
- Add configuration properties to customize CORS configuration ( see ehrbase#697)
- Missing details in response returned by Directory REST API ( see: ehrbase#605)
- Add foreign key between
folder
andehr
tables ( see: ehrbase#616) - Improves 'Admin Delete EHR' performance (see ehrbase#626)
- many fixes to the flat support (see ehrbase#627)
- Fix conversion between
DvDateTime
andTimestamp
( see ehrbase#634) - Fix FLAT format does not return the archetype data if the archetype_id contains the letters "and"
- Datetime inconsistent handling (see ehrbase#649)
- Fix issue using DV_DATE_TIME without time-zone (see ehrbase#658)
- update lg4j version (see ehrbase#702)
0.17.2 (beta)
- Github Action worklows to deploy multiarch images (
latest
,next
,version-tag
) to Docker Hub ( see: ehrbase#578)
- Removes SELECT statement when PartyProxy object is empty ( see: ehrbase#581)
- Provide configuration properties for configuring context paths of openEHR REST API and Admin API ( see: ehrbase#585)
Accept
header with multiple MIME types causes an IllegalArgumentException ( see: ehrbase#583)- Composition version Uid schema in EhrScape API (see: ehrbase#520)
- Terminology Service calls from within AQL queries does not work ( see: ehrbase#572)
0.17.1 (beta)
- Default handling for audit metadata (see: ehrbase#552)
- Updated the SDK dependency to the latest version ( see: ehrbase#565)
- Refactored versioned object (interfaces) on service and access layer ( see: ehrbase#552)
- Assigner in DV_IDENTIFIER not selected in aql (see: ehrbase#561)
- ehr_status.uuid not selects via aql (see: ehrbase#561)
- DB migration file conflict (see: ehrbase#564)
- Ddmin delete of multiple status versions (see: ehrbase#552)
0.17.0 (beta)
- Implement validation of compositions using external FHIR TS ( see: ehrbase#493)
- Support for Attribute-based Access Control (see: ehrbase#499)
- Support AQL array resolution in EHR_STATUS::other_details
- Update paths for Admin API, Management API and
/status
endpoint ( see: ehrbase#541)
- Folder handling (update, delete and missing audits) ( see: ehrbase#529)
- Fixed and refactored handling of audits and versioned objects ( see: ehrbase#552)
0.16.0 (beta)
- Endpoints and integration tests for VERSIONED_COMPOSITION ( see: ehrbase#448)
- ATNA Logging for composition endpoints, querying and operations on the EHR object ( see: ehrbase#452)
- EHRbase Release Checklist (see: ehrbase#451)
- CACHE_ENABLED ENV to Dockerfile (see: ehrbase#467)
- Updated the SDK dependency to the latest version ( see: ehrbase#463)
- Force retrieval of operational template from DB (see: ehrbase#468)
- WHERE field construct (see: ehrbase#439)
- Inconsistent behavior in SMICS Virology Query (see: ehrbase#456)
- Bunch of AQL issues (see: ehrbase#461)
- AQL: Error in processing OR in Contains clause (see: ehrbase#462)
- Cache issue on Startup (see: ehrbase#465)
0.15.0 (beta)
- Adds Admin API endpoints: Del EHR, Del Composition and Del Contribution ( see: ehrbase#344)
- Add ATNA logging configuration capabilities (see ehrbase#355)
- Support for EHR_STATUS and (partial) FOLDER version objects in contributions ( see: ehrbase#372)
- Add status endpoint to retrieve version information on running EHRbase instance and for heartbeat checks. ( see: ehrbase#393)
- Add /status/info endpoint using actuator for basic info on running app ( see: ehrbase#400)
- Add /status/health endpoint for kubernetes liveness and readiness probes ( see: ehrbase#400)
- Add /status/env endpoint for environment information ( see: ehrbase#400)
- Add /status/metrics endpoint for detailed metrics on specific topics (db connection, http requests, etc.) ( see: ehrbase#400)
- Add /status/prometheus endpoint for prometheus metrics ( see: ehrbase#400)
- Endpoints and integration tests for VERISONED_EHR_STATUS ( see: ehrbase#415)
- support AQL querying on full EHR (f.e. SELECT e) (see )
- Update Dockerfile for usage with metrics and status ( see ehrbase#408)
- Refactored DB handling of contributions, removed misleading
CONTIRUBITON_HISTORY
table ( see ehrbase#416)
0.14.0 (beta)
- Add admin API endpoint stubs (see: ehrbase#280)
- Add support for FeederAudit in Locatable. Refactored Composition Serializer for DB encoding ( see https://github.com/ehrbase/ehrbase/tree/feature/311_feeder_audit , https://github.com/ehrbase/openEHR_SDK/tree/feature/311_feeder_audit)
- Change the strategy to resolve CONTAINS in AQL (ehrbase#276)
- Add admin template API functionality (see: ehrbase#301)
- Persist caches to java.io.tmpdir (see: ehrbase#308)
- Precalculate containment tree from OPT template (see ehrbase#312)
- Detection of duplicate directories on EHR on POST
- Using ObjectVersionId for DIRECTORY Controller and Service Layers ( see: ehrbase#297)
- Added Junit5 support via spring-boot-starter-test (ehrbase#298)
- Enable cartesian products on embedded arrays in JSONB ( see ehrbase#309)
- Use new OPT-Parser from sdk (see ehrbase#314)
- Add CORS config to enable clients to detect auth method ( see ehrbase#354).
- Detect duplicates on POST Directory (see: ehrbase#281)
- Support context-less composition (see: ehrbase#288)
- Fixed missing AQL level of parenthesis when using NOT in WHERE clause ( see ehrbase#293)
- Allow duplicated paths in AQL resultsets (see: ehrbase#263)
- Transaction timestamps are now truncated to ms (see: ehrbase#299)
- Change response code on not found directory to 412 if not found ( see: ehrbase#304)
0.13.0 (beta)
- Added support for various functions in AQL (aggregation, statistical, string etc.) ( see: ehrbase#223)
- PreconditionFailed error response contains proper ETag and Location headers ( see: ehrbase#183)
- Update of AQL-Query test suite (see: ehrbase#179)
- force a default timezone if not present for context/start_time and context/end_time if specified (ehrbase#215)
- Representation of version uid of EHR_STATUS (see: ehrbase#180)
- Refactored support of PartyProxy and ObjectId in both CRUD and AQL operations ( see ehrbase#248)
- fix support of mandatory attributes in ENTRY specialization including rm_version ( see ehrbase#247)
- Directory IDs from input path or If-Match header must now be in version_uid format ( see ehrbase#183)
- Folder IDs inside body are now parsed correctly (see: ehrbase#183)
- PreconditionFailed error response contains proper ETag and Location headers ( see: ehrbase#183)
- Added validation checking for other_details and ehr_status. ( see: ehrbase#207)
- Supports archetype_node_id and name for EHR_STATUS ( see: ehrbase#207)
- fixes bad canonical encoding for observation/data/origin ( see: ehrbase#213)
- POST without accept header for ehr, composition and contribution endpoints ( see: ehrbase#199)
0.12.0 (alpha)
- Basic Authentication as opt-in (see: ehrbase#200)
- Allow Templates can now be overwritten via spring configuration ( see: ehrbase#194)
- Contribution endpoint checks for some invalid input combinations ( see: ehrbase#202)
- Fixes response code on /ehr PUT with invalid ID ( see: https://github.com/ehrbase/project_management/issues/163)
- Fixes STATUS w/ empty subject bug (see: ehrbase#196)
- Now querying on composition category returns the correct result (composition/category...)
- Fixes storage of party self inside compositions (see: ehrbase#195)
- Added support of AQL query in the form of c/composer ( see: ehrbase#184)
- Java error with UTF-8 encoding resolved (see: ehrbase#173)
- AQL refactoring and fixes to support correct canonical json representation ( see: ehrbase#201)
- fix terminal value test for non DataValue 'value' attribute ( see: ehrbase#189)
0.11.0 (alpha)
Note: Due to the transition to this changelog the following list is not complete. Starting with the next release this file will provide a proper overview.
- Docker and docker-compose support for both application and database
- Get folder with version_at_time parameter
- Get Folder with path parameter
- FasterXML Jackson version raised to 2.10.2
- Java version raised from 8 to 11
- Jooq version raised to 3.12.3
- Spring Boot raised to version 2
- Response code when composition is logically deleted ( see: ehrbase#144)
- Response and
PREFER
header handling of/ehr
endpoints ( see: ehrbase#165) - Deserialization of EhrStatus attributes is_modifiable and is_queryable are defaulting to
true
now ( see: ehrbase#158) - Updating of composition with invalid template (e.g. completely different template than the previous version) ( see: ehrbase#166)
- Folder names are checked for duplicates (see: ehrbase#168)
- AQL parser threw an unspecific exception when an alias was used in a WHERE clause (ehrbase#149)
- Improved exception handling in composition validation ( see: ehrbase#147)
- Improved Reference Model validation (see: ehrbase#147)
- Error when reading a composition that has a provider name set( see: ehrbase#143)
- Allow content to be null inside a composition (see: ehrbase#129)
- Fixed deletion of compositions through a contribution ( see: ehrbase#128)
- Start time of a composition was not properly updated ( see: ehrbase#137)
- Fixed validation of null values on participations ( see: ehrbase#132)
- Order by in AQL did not work properly (see: ehrbase#112)
- Order of variables in AQL result was not preserved ( see: ehrbase#103)
- Validation of compositions for unsupported language( see: ehrbase#107)
- Duplicated ehr attributes in query due to cartesian product ( see: ehrbase#106)
- Retrieve of EHR_STATUS gave Null Pointer Exception for non-existing EHRs ( see: ehrbase#136)
- Correct resolution of ehr/system_id in AQL (see: ehrbase#102)
- Detection of duplicate aliases in aql select (see: ehrbase#98)
0.10.0 (alpha)
- openEHR REST API DIRECTORY Endpoints
- openEHR REST API EHR_STATUS Endpoints (including other_details)
- Spring Transactions: EHRbase now ensures complete rollback if part of a transaction fails.
- Improved Template storage: openEHR Templates are stored inside the postgres database instead of the file system ( including handling of duplicates)
- AQL queries with partial paths return data in canonical json format (including full compositions)
- Multimedia data can be correctly stored and retrieved
- Spring configuration allows setting the System ID
- Validation of openEHR Terminology (openEHR terminology codes are tested against an internal terminology service)
- Order of columns in AQL result sets are now reliably preserved (ehrbase#37)
- Some projection issues for EHR attributes have been resolved in AQL
- Fixed error regarding DISTINCT operator in AQL (ehrbase#50)
- Fixed null pointer exceptions that could occur in persistent compositions
0.9.0 (pre-alpha)
- openEHR REST API DIRECTORY Endpoints
- openEHR REST API EHR_STATUS Endpoints (including other_details)
- Spring Transactions: EHRbase now ensures complete rollback if part of a transaction fails.
- Improved Template storage: openEHR Templates are stored inside the postgres database instead of the file system ( including handling of duplicates)
- AQL queries with partial paths return data in canonical json format (including full compositions)
- Multimedia data can be correctly stored and retrieved
- Spring configuration allows setting the System ID
- Validation of openEHR Terminology (openEHR terminology codes are tested against an internal terminology service)
- Order of columns in AQL result sets are now reliably preserved (ehrbase#37)
- Some projection issues for EHR attributes have been resolved in AQL
- Fixed error regarding DISTINCT operator in AQL (ehrbase#50)
- Fixed null pointer exceptions that could occur in persistent compositions