-
Notifications
You must be signed in to change notification settings - Fork 157
Release Guide
Starting with version 4.7.0, the IBM FHIR Server modules are published at Maven Central.
Previous versions were published to Bintray and subsequently copied to the corresponding version under https://github.com/IBM/FHIR/releases once we learned that Bintray is being sunset.
For uninterrupted access to package versions prior to 4.7.0, please download the corresponding release-repo zip from the corresponding release and cache your repository locally.
- Check for any pull requests or issues with the label "new-module"
- Think about whether there might be a new module that was not labeled (and encourage the author to use the label)
- Should this module be deployed? if not, add a maven.deploy.skip property to the module.
- In
build/docker/download-schema-jar.sh
, make sureSCHEMA_VERSION
is set to the previous release. This will ensure that the migration is tested from the previous schema version.
If you have added a new Implementation Guide (fhir-ig-*
), ensure the following steps were performed:
- update
fhir-validation/pom.xml
with the latest implementation guide maven profile to support custom validation assembly builds - update
build/release/config/release.json
with the custom profile under the fhir-parent entry - update
fhir-validation/src/main/assembly/README.txt
to indicate the version of the new implementation guide - update
docs/src/pages/guides/FHIRValidationGuide.md
to advertise our pre-packaged support for this new IG
When ready, check out the main branch and run the following:
git tag [major].[minor].[patch]
git push --tags
This tag-push kickoffs the following workflows in github actions:
- Build and Release
- Javadocs Build for Site
Monitor the actions for success (usually over an hour).
- Navigate to https://oss.sonatype.org/#stagingRepositories
- Login as the Continuous integration user
- Ensure that all artifacts (jars, sources jars, test jars, poms, and zips) were uploaded to the staging repository with success
- Select the Staging repository and click
Release
- Ensure the latest images are now listed:
- Confirm the Javadocs are Posted
- Confirm the Site is updated with relevant details
- Generate a PR with a minor change to an MD file, and label it
ci-skip
andsecurity
- Let the Security Scan Run
- Once complete...
- Check the AppScan Report - https://cloud.appscan.com/AsoCUI/serviceui/main/myapps/oneapp/c4658cf4-e742-4410-99d4-d1c4084b856e/
- Check the Latest Dockle and Trivy Report
-
Review and summarize the Release description at https://github.com/IBM/FHIR/releases
- Especially check the version tag (e.g.
YOUR_VERSION_HERE
in the template below) on all the downloads in the "Using the release" section - Note any issues or PRs with the "deprecation" label for the Deprecated section
- Note any issues or PRs with the "configuration" label for the Migration Considerations
- Note any issues or PRs with the "schema-change" label for the Migration Considerations
- Note any issues or PRs with the "reindex" label for the Migration Considerations
- Especially check the version tag (e.g.
-
Download the artifacts from OSSRH / Maven Central and upload them to the GitHub Release
-
fhir-install-*.zip
from both https://repo1.maven.org/maven2/com/ibm/fhir/fhir-install and the GitHub Build and Release workflow's Artifacts (Previously, fhir-server-distribution.zip) -
fhir-persistence-schema-*-cli.jar
from https://repo1.maven.org/maven2/com/ibm/fhir/fhir-persistence-schema -
fhir-swagger-generator-*-cli.jar
from https://repo1.maven.org/maven2/com/ibm/fhir/fhir-swagger-generator -
fhir-bucket-*-cli.jar
from https://repo1.maven.org/maven2/com/ibm/fhir/fhir-bucket -
fhir-path-*-cli.jar
from https://repo1.maven.org/maven2/com/ibm/fhir/fhir-path -
fhir-validation-*.zip
from https://repo1.maven.org/maven2/com/ibm/fhir/fhir-validation
-
- Announce on Zulip at https://chat.fhir.org/#narrow/stream/212434-ibm/topic/releases
- Announce on Slack at #ibm-fhir
- Update
build/docker/download-schema-jar.sh
to setSCHEMA_VERSION
the version that you just released. This will ensure that the migration is tested from the previous schema version. - Increment the patch version in all the pom.xml files. We may chose to bump the major or minor version numbers later, but for now just do the patch. Eventually, we'd like to version each module independently and this step will go away.
PREVIOUS=4.3.1-SNAPSHOT
NEXT=4.3.2-SNAPSHOT
find . -iname pom.xml -not -path '**/target/*' -exec sed -i '' s/${PREVIOUS}/${NEXT}/g {} +
- Create a draft release for the next release, using the following template which is based on https://keepachangelog.com/en/1.0.0/, replacing
YOUR_VERSION_HERE
with the version tag you expect to use (e.g. bumping the patch number from the release you just made).
This version of the IBM FHIR Server supports HL7 FHIR Specification version [v4.0.1](https://www.hl7.org/fhir/r4/index.html).
This release focuses on fixing bugs and implementing ...
### Added
-
### Changed
-
### Deprecated
-
### Removed
-
### Fixed
-
### Security
-
<a id="YOUR_VERSION_HERE-migration-considerations"/>
## Migration Considerations
To migrate from a prior version of the IBM FHIR Server to version YOUR_VERSION_HERE:
1. Analyze configuration changes and prepare for the upgrade
* SUMMARY OF FHIR-SERVER-CONFIG CHANGES FOR THE RELEASE
* SUMMARY OF LIBERTY SERVER.XML CHANGES FOR THE RELEASE
2. Stop the server (or otherwise prevent write requests).
3. Perform a database back up.
4. Run the [fhir-persistence-schema-YOUR_VERSION_HERE-cli.jar --update-schema](https://github.com/IBM/FHIR/tree/main/fhir-persistence-schema#deploy-new-schema) command. If using a non-admin user (recommended), also perform the [--grant-to](https://github.com/IBM/FHIR/tree/master/fhir-persistence-schema#grant-privileges-to-data-access-user-db2-only) action.
6. Deploy the new server.
7. IF NEEDED Perform [re-indexing](https://ibm.github.io/FHIR/guides/FHIRSearchConfiguration#2-re-index).
* SUMMARY OF REINDEX NEEDS FOR THE RELEASE
Special considerations for upgrading to YOUR_VERSION_HERE:
* SUMMARY OF SPECIAL CONSIDERATIONS FOR THIS RELEASE
If upgrading from a version prior to PRIOR_VERSION_HERE, be sure to review the applicable migration considerations:
* [PRIOR_VERSION_HERE migration considerations](https://github.com/IBM/FHIR/releases#PRIOR_VERSION_HERE-migration-considerations)
Note: for schema migrations, only the latest version of the fhir-persistence-schema tool must be run.
## Using the Release
Run or extend the Docker image from https://hub.docker.com/r/ibmcom/ibm-fhir-server or download [fhir-install-YOUR_VERSION_HERE.zip](https://github.com/IBM/FHIR/releases/download/YOUR_VERSION_HERE/fhir-install-YOUR_VERSION_HERE.zip) and install as described at https://ibm.github.io/FHIR/guides/FHIRServerUsersGuide.
Executable jar files for the fhir-persistence-schema, fhir-swagger-generator, fhir-bucket, and fhir-path projects are also available:
* [fhir-persistence-schema-YOUR_VERSION_HERE-cli.jar](https://github.com/IBM/FHIR/releases/download/YOUR_VERSION_HERE/fhir-persistence-schema-YOUR_VERSION_HERE-cli.jar)
* [fhir-swagger-generator-YOUR_VERSION_HERE-cli.jar](https://github.com/IBM/FHIR/releases/download/YOUR_VERSION_HERE/fhir-swagger-generator-YOUR_VERSION_HERE-cli.jar)
* [fhir-bucket-YOUR_VERSION_HERE-cli.jar](https://github.com/IBM/FHIR/releases/download/YOUR_VERSION_HERE/fhir-bucket-YOUR_VERSION_HERE-cli.jar)
* [fhir-path-YOUR_VERSION_HERE-cli.jar](https://github.com/IBM/FHIR/releases/download/YOUR_VERSION_HERE/fhir-path-YOUR_VERSION_HERE-cli.jar)
Usage is documented in the corresponding README files:
* https://github.com/IBM/FHIR/tree/master/fhir-persistence-schema
* https://github.com/IBM/FHIR/tree/master/fhir-swagger-generator
* https://github.com/IBM/FHIR/tree/master/fhir-bucket
* https://github.com/IBM/FHIR/tree/master/fhir-path
For Maven users, all project binaries are posted to Maven Central with a version of `YOUR_VERSION_HERE`.
FHIR® is the registered trademark of HL7 and is used with the permission of HL7. Use of the FHIR trademark does not constitute endorsement of this product by HL7.
IBM and the IBM logo are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on ibm.com/trademark.