2. Release Checklist¶
We aim to release a new version of OpenWPM with each new Firefox release (~1 release per month). The following steps are necessary for a release:
Run
python scripts/update.py— this will:Repin the conda environment
Sync linter versions in
.pre-commit-config.yamlto matchenvironment.yaml(black, isort, mypy)Sync
engines.nodeinExtension/package.jsonto match the condanodejsversion (the Extension is only built inside this project, so the engines field documents what we test against rather than a public compatibility floor)Bump
VERSIONto next-minor after the latestv*git tag if it has drifted behind (catches the case where a release was tagged butVERSIONwas never bumped — historically happened between v0.32.0 and v0.33.0)Bump all npm dependencies to their latest compatible versions
Rebuild the extension
Automatically detect and apply any new Firefox release to
scripts/install-firefox.shand pinapplications.gecko.strict_min_versioninExtension/bundled/manifest.jsonto that major (each release ships only with the bundled Firefox, so the floor should match)
Run
./scripts/install-firefox.shto install the updated Firefox locally and verify the test suite passes.Increment the version number in VERSION
Add a summary of changes since the last version to CHANGELOG
Squash and merge the release PR to master.
Publish a new release from https://github.com/openwpm/OpenWPM/releases:
Click “Draft a new release”.
Enter the “Tag version” and “Release title” as
vX.X.X.In the description:
Include the text
Updates OpenWPM to Firefox Xif this release is also a new FF version.Include a link to the CHANGELOG, e.g.
See the [CHANGELOG]() for details..