Upgrading Dependencies
Medplum upgrades dependencies regularly to ensure we have the latest security patches and bug fixes. This document describes the process for upgrading dependencies.
Every Monday at 9:00 AM UTC, the "Upgrade Dependencies" Github Action runs automatically (see .github/workflows/upgrade-dependencies.yml
). This action does the following:
- Runs the
upgrade.sh
script, which updates all dependencies to the latest versions. - Runs the
reinstall.sh
script, which reinstalls all dependencies. - Creates a new branch and opens a pull request.
Exceptions
This is a list of dependencies that have known issues with automated upgrades.
node-fetch
At the time of this writing, we use node-fetch version 2.7.0. The developers of node-fetch have admirably taken the position that ESM-only libs are the future. The version 3 series is ESM-only. Unfortunately, our current server configuration is not yet compatible with ESM-only modules (despite many attempts).
Therefore, for now, we keep node-fetch pinned at the latest version in the version 2 series, which continues to receive security fixes.
In the future, there are 3 possibilities: