Skip to content

v0.27.3

Compare
Choose a tag to compare
@stefanspiska stefanspiska released this 05 Jun 12:04
· 383 commits to master since this release

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.

0.27.3

Added

Changed

Fixed

0.27.2

Added

Changed

Fixed

0.27.1

Added

Changed

Fixed

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

0.27.0

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)

0.26.0

Added

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

Changed

Fixed

0.25.0

Added

Changed

Fixed

  • error on concurrent user creation (#1067)

0.24.0

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)

0.23.0

Added

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

Changed

Fixed

0.22.0

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)

0.21.1

Fixed

  • Fixed update script for user consolidation (#865)

0.21.0

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

  • removed log4j (see #711)

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: #570)
  • Support Structured format on ecis composition endpoints (
    see #648)
  • Add new configuration options to customise user/admin role names when using OAuth authentication
    (see #667)
  • Add configuration properties to customize CORS configuration (
    see #697)

Changed

Fixed

  • Missing details in response returned by Directory REST API (
    see: #605)
  • Add foreign key between folder and ehr tables (
    see: #616)
  • Improves 'Admin Delete EHR' performance (see #626)
  • many fixes to the flat support (see #627)
  • Fix conversion between DvDateTime and Timestamp (
    see #634)
  • Fix FLAT format does not return the archetype data if the archetype_id contains the letters "and"
  • Datetime inconsistent handling (see #649)
  • Fix issue using DV_DATE_TIME without time-zone (see #658)
  • update lg4j version (see #702)

0.17.2 (beta)

Added

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

Changed

  • Removes SELECT statement when PartyProxy object is empty (
    see: #581)
  • Provide configuration properties for configuring context paths of openEHR REST API and Admin API (
    see: #585)

Fixed

  • Accept header with multiple MIME types causes an IllegalArgumentException (
    see: #583)
  • Composition version Uid schema in EhrScape API (see: #520)
  • Terminology Service calls from within AQL queries does not work (
    see: #572)

0.17.1 (beta)

Added

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

Changed

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

Fixed

  • Assigner in DV_IDENTIFIER not selected in aql (see: #561)
  • ehr_status.uuid not selects via aql (see: #561)
  • DB migration file conflict (see: #564)
  • Ddmin delete of multiple status versions (see: #552)

0.17.0 (beta)

Added

  • Implement validation of compositions using external FHIR TS (
    see: #493)
  • Support for Attribute-based Access Control (see: #499)
  • Support AQL array resolution in EHR_STATUS::other_details

Changed

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

Fixed

  • Folder handling (update, delete and missing audits) (
    see: #529)
  • Fixed and refactored handling of audits and versioned objects (
    see: #552)

0.16.0 (beta)

Added

  • Endpoints and integration tests for VERSIONED_COMPOSITION (
    see: #448)
  • ATNA Logging for composition endpoints, querying and operations on the EHR object (
    see: #452)
  • EHRbase Release Checklist (see: #451)
  • CACHE_ENABLED ENV to Dockerfile (see: #467)

Changed

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

Fixed

  • WHERE field construct (see: #439)
  • Inconsistent behavior in SMICS Virology Query (see: #456)
  • Bunch of AQL issues (see: #461)
  • AQL: Error in processing OR in Contains clause (see: #462)
  • Cache issue on Startup (see: #465)

0.15.0 (beta)

Added

  • Adds Admin API endpoints: Del EHR, Del Composition and Del Contribution (
    see: #344)
  • Add ATNA logging configuration capabilities (see #355)
  • Support for EHR_STATUS and (partial) FOLDER version objects in contributions (
    see: #372)
  • Add status endpoint to retrieve version information on running EHRbase instance and for heartbeat
    checks. (
    see: #393)
  • Add /status/info endpoint using actuator for basic info on running app (
    see: #400)
  • Add /status/health endpoint for kubernetes liveness and readiness probes (
    see: #400)
  • Add /status/env endpoint for environment information (
    see: #400)
  • Add /status/metrics endpoint for detailed metrics on specific topics (db connection, http
    requests, etc.) (
    see: #400)
  • Add /status/prometheus endpoint for prometheus metrics (
    see: #400)
  • Endpoints and integration tests for VERISONED_EHR_STATUS (
    see: #415)

Changed

  • support AQL querying on full EHR (f.e. SELECT e) (see )
  • Update Dockerfile for usage with metrics and status (
    see #408)
  • Refactored DB handling of contributions, removed misleading CONTIRUBITON_HISTORY table (
    see #416)

0.14.0 (beta)

Added

Changed

  • Detection of duplicate directories on EHR on POST
  • Using ObjectVersionId for DIRECTORY Controller and Service Layers (
    see: #297)
  • Added Junit5 support via spring-boot-starter-test (#298)
  • Enable cartesian products on embedded arrays in JSONB (
    see #309)
  • Use new OPT-Parser from sdk (see #314)
  • Add CORS config to enable clients to detect auth method (
    see #354).

Fixed

  • Detect duplicates on POST Directory (see: #281)
  • Support context-less composition (see: #288)
  • Fixed missing AQL level of parenthesis when using NOT in WHERE clause (
    see #293)
  • Allow duplicated paths in AQL resultsets (see: #263)
  • Transaction timestamps are now truncated to ms (see: #299)
  • Change response code on not found directory to 412 if not found (
    see: #304)

0.13.0 (beta)

Added

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

Changed

DIRECTORY

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

Robot Tests

  • Update of AQL-Query test suite (see: #179)

Fixed

  • force a default timezone if not present for context/start_time and context/end_time if
    specified (#215)
  • Representation of version uid of EHR_STATUS (see: #180)
  • Refactored support of PartyProxy and ObjectId in both CRUD and AQL operations (
    see #248)
  • fix support of mandatory attributes in ENTRY specialization including rm_version (
    see #247)

DIRECTORY

  • Directory IDs from input path or If-Match header must now be in version_uid format (
    see #183)
  • Folder IDs inside body are now parsed correctly (see: #183)
  • PreconditionFailed error response contains proper ETag and Location headers (
    see: #183)

Robot Tests

  • Added validation checking for other_details and ehr_status. (
    see: #207)
  • Supports archetype_node_id and name for EHR_STATUS (
    see: #207)
  • fixes bad canonical encoding for observation/data/origin (
    see: #213)
  • POST without accept header for ehr, composition and contribution endpoints (
    see: #199)

0.12.0 (alpha)

Added

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

Fixed

  • Contribution endpoint checks for some invalid input combinations (
    see: #202)
  • Fixes response code on /ehr PUT with invalid ID (
    see: ehrbase/project_management#163)
  • Fixes STATUS w/ empty subject bug (see: #196)
  • Now querying on composition category returns the correct result (composition/category...)
  • Fixes storage of party self inside compositions (see: #195)
  • Added support of AQL query in the form of c/composer (
    see: #184)
  • Java error with UTF-8 encoding resolved (see: #173)
  • AQL refactoring and fixes to support correct canonical json representation (
    see: #201)
  • fix terminal value test for non DataValue 'value' attribute (
    see: #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: #144)
  • Response and PREFER header handling of /ehr endpoints (
    see: #165)
  • Deserialization of EhrStatus attributes is_modifiable and is_queryable are defaulting to true
    now (
    see: #158)
  • Updating of composition with invalid template (e.g. completely different template than the
    previous version) (
    see: #166)
  • Folder names are checked for duplicates (see: #168)
  • AQL parser threw an unspecific exception when an alias was used in a WHERE
    clause (#149)
  • Improved exception handling in composition validation (
    see: #147)
  • Improved Reference Model validation (see: #147)
  • Error when reading a composition that has a provider name set(
    see: #143)
  • Allow content to be null inside a composition (see: #129)
  • Fixed deletion of compositions through a contribution (
    see: #128)
  • Start time of a composition was not properly updated (
    see: #137)
  • Fixed validation of null values on participations (
    see: #132)
  • Order by in AQL did not work properly (see: #112)
  • Order of variables in AQL result was not preserved (
    see: #103)
  • Validation of compositions for unsupported language(
    see: #107)
  • Duplicated ehr attributes in query due to cartesian product (
    see: #106)
  • Retrieve of EHR_STATUS gave Null Pointer Exception for non-existing EHRs (
    see: #136)
  • Correct resolution of ehr/system_id in AQL (see: #102)
  • Detection of duplicate aliases in aql select (see: #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 (#37)
  • Some projection issues for EHR attributes have been resolved in AQL
  • Fixed error regarding DISTINCT operator in AQL (#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 (#37)
  • Some projection issues for EHR attributes have been resolved in AQL
  • Fixed error regarding DISTINCT operator in AQL (#50)
  • Fixed null pointer exceptions that could occur in persistent compositions