Releases: datasharingframework/dsf
First Release Candidate for 1.2.0
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 variableDEV_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 variableDEV_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:
- bpe: ghcr.io/datasharingframework/bpe:1.2.0-RC1
- fhir: ghcr.io/datasharingframework/fhir:1.2.0-RC1
- fhir_proxy: ghcr.io/datasharingframework/fhir_proxy:1.2.0-RC1
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
General remarks:
- This is an update for the new 1.0.0 DSF and not compatible with 0.9.x and older version developed at highmed/highmed-dsf.
- To Update an existing 1.0.0 installation, please see the 1.0.0 -> 1.1.0 Upgrade Guide.
- For a fresh deployment, follow the installation instructions.
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:
- bpe: ghcr.io/datasharingframework/bpe:1.1.0
- fhir: ghcr.io/datasharingframework/fhir:1.1.0
- fhir_proxy: ghcr.io/datasharingframework/fhir_proxy:1.1.0
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
General remarks:
- This is a major DSF release not compatible with 0.9.x and older version developed at https://github.com/highmed/highmed-dsf
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 ano-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:
- bpe: ghcr.io/datasharingframework/bpe:1.0.0
- fhir: ghcr.io/datasharingframework/fhir:1.0.0
- fhir_proxy: ghcr.io/datasharingframework/fhir_proxy:1.0.0
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
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:
- bpe: ghcr.io/datasharingframework/bpe:1.0.0-M1
- fhir: ghcr.io/datasharingframework/fhir:1.0.0-M1
- fhir_proxy: ghcr.io/datasharingframework/fhir_proxy:1.0.0-M1
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.