Skip to content

Releases: datasharingframework/dsf

First Release Candidate for 1.2.0

11 Sep 21:44
v1.2.0-RC1
e9945b9
Compare
Choose a tag to compare
Pre-release

General remarks:

  • This is a pre-release for DSF 1.2.0 do not use in production.
  • DSF v1.2.0-RC1 is not compatible with DSF Ping Pong v1.0.0.0, upgrade the Ping Pong plugin to v1.0.1.0-RC1.

Features:

  • The BPE server config parameter dev.dsf.bpe.fhir.server.organization.identifier.value (environment variable DEV_DSF_BPE_FHIR_SERVER_ORGANIZATION_IDENTIFIER_VALUE) was not needed and has been removed.
  • Start and continue events for processes are now executed on a separate thread pool enabling concurrent execution of processes using "non async" process tasks.
  • The special java StatusClient used for docker health checks has been replaced with curl.
  • A new environment variable SERVER_CONTEXT_PATH was added to the reverse proxy docker image. The new environment variable can be used to configure the reverse-proxy path that gets delegated to the DSF FHIR app server.
  • The FHIR server config parameter dev.dsf.fhir.server.roleConfig (environment variable DEV_DSF_FHIR_SERVER_ROLECONFIG is now optional and the validation of the config YAML has been improved.
  • Java dependency have been upgraded where possible.

Bug Fixes:

  • Literal block scalars can now be used with the environment variable DEV_DSF_PROXY_NOPROXY.
  • The websocket connection to the DSF FHIR server no longer disconnects if long-running "non async" process tasks are executed. By handing over incoming Task and QuenstionnaireResponse resources to a separate thread-pool, the websocket client thread is immediately freed and able respond to websocket ping-frames keeping the connection from timing out.

Known Compatible Process Plugins:

Docker containers for this release can be access via the GitHub Docker registry - ghcr.io:

Issues closed:

  • Make FHIR Server Role Config Optional, Improve Role Config Validation #96
  • Replace Java StatusClient With curl #93
  • Modify the BPE to Enable Parallel Execution of Non Async Processes #91
  • BPE Task Websocket Connection Fails During Long Running Processes #90
  • Remove Not Needed Organization Identifier Config Parameter From BPE #89
  • DEV_DSF_PROXY_NOPROXY Not Working With Literal Block Scalar #87
  • Start New Development Cycle #86
  • Make FHIR proxy server context path customizable #85

This release contains contributions from @wetret and @hhund.

1.1.0 - UI and Other Improvements

22 Aug 21:19
v1.1.0
195d03f
Compare
Choose a tag to compare

General remarks:

Features:

  • Changes to the DSF FHIR server user interface (UI): While instantiating Task resources via the UI, input elements with cardinality 0..* or 1..* can now be added/removed dynamically. Placeholder attributes of input elements can be copied into the value attribute using a button. The user interface now supports dark and light themes selected based on operating system preferences or user selection. New UIs have been added for Task and QuestionnaireResponse search-bundle results.
  • Search parameters can now beused more than once to perform AND queries. Descriptions for the history _at and _since parameters was added to the capability statement (/metadata) and help UIs.
  • The unique criteria of the OrganizationAffiliation authorization rule was reworked. Different endpoint can now be configured for different roles of a member organization within a parent organization.
  • For easier debugging, a custom User-Agent Header (DSF/${version}) is now send by the DSF webservice and websocket clients.
  • The access log pattern of the DSF FHIR reverse-proxy now includes the user-agent header and client certificate subject DN string. An environment variable to configure the mod_ssl parameter SSLVerifyClient has been added to the DSF FHIR reverse-proxy. This environment variable can be used to make client certificate non mandatory in order to used local OIDC authentication.
  • Java dependency have been upgraded where possible.

Bug Fixes:

  • Input elements are now always shown within the Task user interface of the DSF FHIR server.
  • Process Plugin API: The Implementation of the OrganizationProvider.getOrganization(Identifier) method was fixed and now returns the correct results.
  • Process Plugin Loader: A check for the existence of a NamingSystem version property was removed since NamingSystem resources in FHIR R4 do not support the version property.

Known Compatible Process Plugins:

Docker containers for this release can be access via the GitHub Docker registry - ghcr.io:

Issues closed:

  • Upgrade Dependencies #79
  • FHIR Server UI Dark Mode #75
  • NamingSystem not deployable from Process Plugin #72
  • Allow SSLVerifyClient Option in RevProxy to Be Configured Via Environment Variable #70
  • Include Software Version in User-Agent for outgoing requests (BPE) #68
  • Allow-List: Add Support for Specific Endpoints for Different Roles in a Parent Organization #65
  • Add Support for Repeated Search Parameters to Define AND Queries #63
  • OrganizationProvider Never Finds Organization by Identifier #61
  • Start New Development Cycle #58
  • Improve Task HTML view #56

This release contains contributions from @wetret and @hhund.

1.0.0 - Major Release

28 Jun 13:54
v1.0.0
6f03aa9
Compare
Choose a tag to compare

General remarks:

Features:

  • OpenID Connect authentication for local users is now available for the FHIR server, which is acting as an OIDC client authenticating users for the HTML frontend via Authorization Code Flow.
  • OAuth Bearer Token Authentication supports clients in directly interacting with the FHIR rest webservice.
  • Authorization extensions were added to ActivityDefinition resources which allow plugins to configure execution of processes for users.
  • The FHIR _summary parameter is available as defined by the specification.
  • The DSF FHIR docker image contains a default "external" bundle.xml file to create the local Organization and Endpoint resources and therefore no longer needs to be mounted via a docker-volume.
  • The process plugin API has been redesigned. Process plugins are now build for a specific API version that will be supported across future DSF versions.
  • A new HTML view allows starting processes via Task resources with status draft.
  • The authorization rule for draft Task resources was modified to allow creation of Tasks even if the Task would not be allowed to be executed.
  • A business-key input parameter is automatically added via DSF BPE server TaskHandler if not set by user, so that executed processes can be traced better.
  • Two new organization-roles are now available: DTS, UAC.
  • The helper classes for Task and QuestionnaireResponse resources have been adapted to the new process plugin API.
  • The documentation generator can now be used as a maven plugin using compile-time only annotations.
  • The code base has been migrated to Java 17 and uses the new dsf.dev namespace.
  • The Jetty config properties are now aligned with all other existing dev.dsf... properties.
  • A common forward proxy server config with config parameters for: url, username, password and a no-proxy list is available and can be accessed via the process plugin API.
  • The database migration steps have been streamlined as much as possible because there is no backwards
    compatibility with 0.9.x and older versions.
  • Maven modules are now released via maven central.
  • Self hosted runners are now provided to circumvent RAM and CPU shortages in GitHub hosted runners.

Removed:

  • It is no longer possible to define dependencies between processes.
  • It is no longer possible to deploy processes as folders.
  • FHIR Metadata resources, profiles and authorization rules only needed for HiGHmed processes have been removed.
  • Modules that are not considered as core modules of the DSF but are process specific have been removed: dsf-consent, dsf-mpi, dsf-openehr, dsf-pseudonymization, dsf-bpe-webservice-client
  • The deprecated organization-type CodeSystem and ValueSet have been removed.
  • The plugin folder has beed hidden from standard deployments. Processes should be released as fat-jars containing the "old" plugins.
  • The VM-based test-setup has been removed in favor of the docker-based test-setup.

Docker containers for this release can be access via the GitHub Docker registry - ghcr.io:

Issues closed:

  • Rework Draft Task Authorization and Extend ActivityDefinition Task Authorization Rules #51
  • Create a Task HTML view #50
  • Add OAuth Bearer Token Authentication #47
  • Simplify the DB Migration Scripts #45
  • Better align organization roles with currently existing roles #43
  • Add Default External bundle.xml to Docker Image #40
  • Cleanup TaskHelper and Add JavaDoc #38
  • Add Common Forward Proxy Server Config #36
  • Switch to self hosted github runner #34
  • Separate documentation-generator and -annotations #30
  • Mandatory business-key input parameter #27
  • Improve Process Plugin API #26
  • Add Support for Query Parameter _summary #23
  • Remove dependencies between processes #22
  • Remove process deployments using folders #21
  • Align Jetty Config Properties With Existing dev.dsf... Properties #18
  • Remove FHIR Metadata resources, profiles and authorization rules only needed for HiGHmed processes #13
  • Remove deprecated organization-type CodeSystem and ValueSet #12
  • Hide/rename plugin folder from default deployments #11
  • Remove process specific modules #9
  • Add OpenID Connect Authentication for Local Users #7
  • Remove VM-based Test-Setup #6
  • Migrate to Java 17 #2
  • Migrate to dsf.dev Namespace #1

This release contains contributions from @schwzr, @wetret and @hhund.

1.0.0-M1 - First Milestone Pre Release

20 May 00:50
v1.0.0-M1
004edc5
Compare
Choose a tag to compare
Pre-release

General remarks:

  • This is the first milestone release for the upcoming major version 1.0.0. Do not use this in production.
  • The upcoming new major version 1.0.0 is not compatible with old HiGHmed DSF releases.

Features:

  • Maven modules are now released via maven central.
  • The process plugin API has been redesigned. Process plugins are now build for a specific API version that will be supported across future DSF versions.

Docker containers for this release can be access via the GitHub Docker registry - ghcr.io:

Issues closed:

  • Add Default External bundle.xml to Docker Image #40
  • Cleanup TaskHelper and Add JavaDoc #38
  • Add Common Forward Proxy Server Config #36
  • Switch to self hosted github runner #34
  • Separate documentation-generator and -annotations #30
  • Mandatory business-key input parameter #27
  • Improve Process Plugin API #26
  • Add Support for Query Parameter _summary #23
  • Remove dependencies between processes #22
  • Remove process deployments using folders #21
  • Remove FHIR Metadata resources, profiles and authorization rules only needed for HiGHmed processes #13
  • Remove deprecated organization-type CodeSystem and ValueSet #12
  • Hide/rename plugin folder from default deployments #11
  • Remove process specific modules #9
  • Add OpenID Connect Authentication for Local Users #7
  • Remove VM-based Test-Setup #6
  • Migrate to Java 17 #2
  • Migrate to dsf.dev Namespace #1

This release contains contributions from @schwzr, @wetret and @hhund.