- Add the upcoming release version in version.json file.
- Ensure that milestones exist for the releases that you would like to make. Each milestone should contain its corresponding issues and pull requests.
- For patch releases, do the back-port patch release before the corresponding current release. This ensures that npm lists the current version as the latest one.
git checkout 1.1.x
, e.g. if the previous feature release is 1.1- Follow the remaining ordinary release steps (step 5 and onward).
- Current releases are based on the
master
branch:git checkout master
- If you are making a patch release, you can just release
master
with its new patches. - If you are making a feature release, you need to merge
unstable
ontomaster
. Since there can be conflicts, it's easiest to use the 'ours' strategy which will allow you to use the state ofunstable
as-is (i.e. no conflict resolution necessary):- Make sure your local
master
is up-to-date:git checkout master && git pull
- Make sure your local
unstable
is up-to-date:git checkout unstable && git pull
- Create a merge commit that selects the state of
unstable
and push it:git merge -s ours master && git push
- Fast-forward
master
to the merge commit:git checkout master && git merge unstable && git push
- Update the version number in
package.json
andpackage-lock.json
onunstable
to some provisional new version number, and push it.
- Make sure your local
- If you are making a patch release, you can just release
- Update the
VERSION
environment variable for the release number you want to make, e.g.export VERSION=1.2.3
- Confirm all the tests are passing:
npm run test
- See also
test/index.html
for browser testing (optional)
- Confirm all the tests are passing in IE9 (for feature releases):
npm run watch:umd
- Open an IE9 VM
- Open
http://yourip:8081/test/ie.html
in IE
- Prepare a release:
npm run release
- Review the files that were just built in the previous step.
- There should be a series of updated files in the
dist
directory and thedocumentation
directory, identified withgit status
. - Try out the newly-built docs and demos in your browser.
- There should be a series of updated files in the
- Add the the release to git:
git add . && git commit -m "Build $VERSION"
- Update the package version and tag the release:
npm version $VERSION
- Push the release changes:
git push && git push --tags
- Publish the release to npm:
npm publish
- Run
npm run docs:push
- Create a release for Zenodo from the latest tag. Make sure you wait at least 5 minutes since the last time that you made a release in order for Zenodo to work properly.
- For feature releases: Create a release announcement on the blog. Share the announcement on mailing lists and social media.