Skip to content

Latest commit

 

History

History
715 lines (536 loc) · 31.3 KB

CHANGELOG.md

File metadata and controls

715 lines (536 loc) · 31.3 KB

Changelog

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.

Added

Changed

Fixed

Added

Changed

Fixed

  • Fix the folder audit status event type (#1193)
  • Fix OAuth2 Security Configuration for admin role and management endpoints (#1196)
  • Fix party identified NP (#1191)

Added

Changed

Fixed

  • Fix audit logs location (#1160)
  • Address AQL query security vulnerabilities (#1190)

Added

Changed

Fixed

  • Fix storing attributes of Locatable.name (#1161)

Added

Changed

Fixed

  • cleanup security context (#1159)
  • enforce unique template id (#1158)

Added

  • Added support tenant deletion (#1146)

Changed

Fixed

Added

Changed

Fixed

  • Run directory operation in one transaction (#1133)

Added

Changed

Fixed

Added

Changed

Fixed

Added

Changed

Fixed

  • Fix DB Migration scripts. Remove the tenant RLS policy during script execution (#1127).

Added

  • Sub-folders are retained in the response upon updating Folders. (#1108)

Changed

Fixed

  • Fixes NPE if during start up with many templates in the system. (#1101)

Added

  • use from sdk archie version 3.0.0 and antlr4 version 4.11.1 (#1078)

Changed

Fixed

Added

Changed

Fixed

  • error on concurrent user creation (#1067)

Added

  • 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)

Changed

Fixed

  • 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)

Added

  • Authorization enhancements #1002
    • Impl. API extensions needed for authorization
    • Added annotations on all REST endpoints to support authorization decissions

Changed

Fixed

Added

  • Add spotless plugin, Add codestyle check to workflows (#864)

Changed

Fixed

  • 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

  • Fixed update script for user consolidation (#865)

Added

  • 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))

Changed

Fixed

  • 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)

Added

  • Add Plugins system (#772, #779).
  • AQL: support ORDER BY and LIMIT [OFFSET] clauses in any order (#782).

Changed

Fixed

  • 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)

Added

  • Add Flyway callback to check IntervalStyle configuration parameter (#720).
  • Validate RM types used in OPT template (#739).

Changed

Fixed

  • 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)

Added

Changed

Fixed

0.18.2 (beta)

Fixed

  • updated log4j from 1.15.0 to 1.60.0

0.18.1 (beta)

Fixed

  • Fix deployment issue with Flyway migration V62__add_entry_history_missing_columns.sql

0.18.0 (beta)

Added

  • 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)

Changed

Fixed

  • Missing details in response returned by Directory REST API ( see: ehrbase#605)
  • Add foreign key between folder and ehr 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 and Timestamp ( 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)

Added

  • Github Action worklows to deploy multiarch images (latest, next, version-tag) to Docker Hub ( see: ehrbase#578)

Changed

  • 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)

Fixed

  • 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)

Added

  • Default handling for audit metadata (see: ehrbase#552)

Changed

  • Updated the SDK dependency to the latest version ( see: ehrbase#565)
  • Refactored versioned object (interfaces) on service and access layer ( see: ehrbase#552)

Fixed

  • 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)

Added

  • 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

Changed

  • Update paths for Admin API, Management API and /status endpoint ( see: ehrbase#541)

Fixed

  • 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)

Added

  • 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)

Changed

  • Updated the SDK dependency to the latest version ( see: ehrbase#463)
  • Force retrieval of operational template from DB (see: ehrbase#468)

Fixed

0.15.0 (beta)

Added

  • 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)

Changed

  • 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)

Added

Changed

  • 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).

Fixed

  • 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

  • Added support for various functions in AQL (aggregation, statistical, string etc.) ( see: ehrbase#223)

Changed

DIRECTORY

  • PreconditionFailed error response contains proper ETag and Location headers ( see: ehrbase#183)

Robot Tests

Fixed

  • 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

  • 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)

Robot Tests

  • 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)

Added

  • Basic Authentication as opt-in (see: ehrbase#200)
  • Allow Templates can now be overwritten via spring configuration ( see: ehrbase#194)

Fixed

  • 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.

Added

  • Docker and docker-compose support for both application and database
  • Get folder with version_at_time parameter
  • Get Folder with path parameter

Changed

  • 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

Fixed

  • 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)

Added

  • 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)

Fixed

  • 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)

Added

  • 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)

Fixed

  • 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