Skip to content

Releases: FHIR/fhir-package-loader

FPL 2.2.4

08 Mar 18:57

Choose a tag to compare

FHIR Package Loader 2.2.4 is a patch release that updates dependency libraries.

What's Changed

  • Update dependencies (incl. fhir --> fhir-tool) by @cmoesel in #62

Full Changelog: v2.2.3...v2.2.4

FPL 2.2.3

22 Feb 00:59

Choose a tag to compare

FHIR Package Loader 2.2.3 is a patch release that updates dependency libraries.

What's Changed

  • Dependency Updates (February 2026) by @cmoesel in #61

Full Changelog: v2.2.2...v2.2.3

FPL 2.2.2

08 Jul 21:29

Choose a tag to compare

FHIR Package Loader 2.2.2 is a patch release that ensures that bearer tokens are always used for accessing a custom registry server when both FPL_REGISTRY and FPL_REGISTRY_TOKEN environment variables are set. The prior release did not use the bearer token in all cases.

What's Changed

  • Refactor to add token in axiosGet by @bkaney in #60

Full Changelog: v2.2.1...v2.2.2

FPL 2.2.1

30 Jun 21:15

Choose a tag to compare

FHIR Package Loader 2.2.1 is a patch release that fixes a bug when using SUSHI with a custom NPM registry.

What's Changed

  • Remove constructor logging in DefaultRegistryClient by @bkaney in #59

Full Changelog: v2.2.0...v2.2.1

FPL 2.2.0

29 Jun 22:33

Choose a tag to compare

This release supports specifying an auth header to use when accessing a custom NPM registry. To do so, specify your bearer token in the FPL_REGISTRY_TOKEN environment variable. Many thanks to @bkaney for this contribution.

What's Changed

  • Include an auth header if FPL_REGISTRY_TOKEN is present by @bkaney in #58

Full Changelog: v2.1.2...v2.2.0

FPL 2.1.2

02 May 12:37

Choose a tag to compare

This release contains a small fix to downgrade the severity from error to warning when a #current dependency can't be downloaded from the build server but already exists in the cache (so processing can continue). This change follows from this discussion on Zulip: #IG creation > Issue using version-specific packages.

What's Changed

  • Downgrade download error to warning if package can be loaded from cache by @cmoesel in #56

Full Changelog: v2.1.1...v2.1.2

FPL 2.1.1

28 Mar 17:11

Choose a tag to compare

This release updates dependency libraries to their latest versions. There are no expected changes to functionality.

What's Changed

Full Changelog: v2.1.0...v2.1.1

FPL 2.1.0

31 Dec 19:04
bae5e02

Choose a tag to compare

FPL 2.1.0 adds implementations to allow FPL to be used within browser-based web applications (e.g., FSH Online). The primary implementation of interest is BrowserBasedPackageCache, which stores downloaded packages into the browser's IndexedDB. The FHIRRegistryClient has also been updated to take a new option indicating that it should use browser-friendly libraries for downloading dependencies.

What's Changed

Full Changelog: v2.0.1...v2.1.0

FPL 2.0.1

21 Dec 18:22
49db740

Choose a tag to compare

FHIR Package Loader 2.0.1 is a patch release that fixes FPL's file system interaction for Node 18 versions prior to Node 18.20.

The previous version, FHIR Package Loader 2.0.0, was a major release with significant breaking changes. See the FHIR Package Loader 2.0.0 Release Notes for further details about that release.

What's Changed

  • Avoid using Dirent.path and Dirent.parentPath properties by @cmoesel in #50

Full Changelog: v2.0.0...v2.0.1

FPL 2.0.0

20 Dec 17:21
808559a

Choose a tag to compare

FHIR Package Loader 2.0.0 introduces a total rewrite of the FHIR Package Loader -- with completely new interfaces, implementations, and APIs. As such, this version has significant breaking changes when compared to the previous version of the FHIR Package Loader. These changes were necessary to address limitations in the package loader as well as support future use cases (such as transitive dependencies, multiple versions of the the same package, etc).

The new FHIR Package Loader now utilizes an in-memory database (currently sql.js) to store and query metadata about packages and their resources. This reduces memory usage per-resource since now only the metadata is kept in memory (vs the entire JSON object). With more efficient memory usage, we can now load all resources from the package (instead of just conformance resources) and we will also be able to load transitive packages in the future.

Separate concerns of the package loader have been separated out into their own interfaces and implementations, including:

  • PackageDB interface w/ SQLJSPackageDB implementation. Note that sql.js was chosen due to its support for synchronous queries -- which causes the least disruption to SUSHI (which has many synchronous functions).
  • RegistryClient interface w/ FHIRRegistryClient, NPMRegistryClient, RedundantRegistryClient, and DefaultRegistryClient implementations
  • CurrentBuildClient interface w/ BuildDotFhirDotOrgClient implementation
  • PackageCache interface w/ DiskBasedPackageCache implementation
  • VirtualPackage interface w/ DiskBasedVirtualPackage and InMemoryVirtualPackage implementations
  • PackageLoader interface w/ BasePackageLoader implementation that accepts implementations of the previous interfaces and ties them together for a complete package loading solution.

This release is totally different from the v1 release. As such, any projects that use the existing v1 version of the FHIR Package Loader will need to be updated to use the brand new API introduced in v2. For more information on the new API, view the README.

What's Changed

Code Changes

  • FHIR Package Loader Rewrite by @cmoesel in #42
  • Refactor sql.js out of SQLJSPackageDB constructor by @cmoesel in #45
  • Rename newSQLJSPackageDB to createSQLJSPackageDB by @cmoesel in #47

Documentation Changes

Full Changelog: v1.0.0...v2.0.0