SUSHI 3.19.0 introduces changes to align with the evolving FHIR ecosystem as well as bug fixes and dependency updates.
What's Changed
- Use Official Cross-Version (xver) Packages by @cmoesel in #1620
- Replace _updatePubliser/_genonce w/ _build in sushi init by @cmoesel in #1619
- Fix mappings in snapshot mode when parent has no mappings by @cmoesel in #1618
- Update axios and lodash to address newly reported vulnerabilities by @snowping in #1621
- Update Dependencies (April 2026) by @cmoesel in #1622
Use Official Cross-Version (xver) Packages
SUSHI has been using its own cross-version extension generator since 2021 (when no cross-version packages existed). At the time, SUSHI required users to indicate their intent to use cross-version extensions by specifying a cross-version dependency package in the style described by the FHIR specification here. This approach, however, has now been superseded by the new cross-version extensions packages (see FAQs). As a result, SUSHI 3.19.0 introduces the following related changes:
- If
sushi-config.yamlincludes a dependency on an old style cross-version package (e.g.,hl7.fhir.extensions.r5:4.0.1), it will load the corresponding new cross-version package instead (e.g., hl7.fhir.uv.xver-r5.r4). If this happens, the SUSHI logs will also instruct the user to change the dependency in the thesushi-config.yamlfile. - If SUSHI detects a cross-version extension in FSH code that ends with
[x]or%5Bx%5D(url-encoded[x]), it will automatically load the corresponding extension without the[x]/%5Bx%5Dsuffix, as the new cross-version extensions omit choice suffixes. If this happens, the SUSHI logs will also instruct the user to fix the extension URL in their FSH code. - If SUSHI detects an extension that follows the cross-version extension pattern but can't be found in the loaded cross-version package, it will log an error and direct the user to the appropriate cross-version package documentation. This may happen in cases where the old SUSHI implementation of cross-version extensions does not align with the approach of the newer implementation.
- If SUSHI detects an extension that follows the cross-version extension pattern but the appropriate cross-version package is not loaded, it will log an error and direct the user to add the appropriate cross-version extension package as a dependency.
Replace _updatePubliser/_genonce w/ _build in sushi init
When running sushi init, SUSHI downloads IG publisher scripts. Prior to this release, SUSHI downloaded the _updatePublisher and _genonce scripts. Starting with this release, SUSHI now downloads the preferred scripts: _build.sh / _build.bat.
This update also switches the base template from fhir.base.template to fhir2.base.template.
New Contributors
Install or Update
SUSHI 3.19.0 is the latest stable release of fsh-sushi. To install or update to SUSHI 3.19.0, run the following command:
$ npm install -g fsh-sushi
To check or confirm what version of SUSHI you have installed, you can run the following command:
$ sushi -v
To revert back to the previous version of SUSHI, you can run the following command:
$ npm install -g fsh-sushi@3.18.1
Full Changelog: v3.18.1...v3.19.0