Steps to produce a new jk
version:
- Decide on a version number:
- While the major version is
0
, minor releases indicate breaking changes. If there are none, a patch release is appropriate. - Check [docs/deprecations.md][deprecations] for anything that is due to be deprecated in a particular (minor) release.
-
Checkout the master branch and make sure it reflects the latest
origin/master
:$ git checkout master $ git pull --rebase
-
Bump the version in
std/package{-lock}.json
, commit and push the result:$ vim std/package.json # edit the 'version' field $ vim std/package-lock.json # edit the 'version' field $ git commit -a -m "build: Bump std package version to x.y.z" $ git push
-
Create and push the new tag:
$ git tag -a x.y.z -m x.y.z $ git push --tags
-
Wait for CI to successfully push the release binaries and npm module.
-
Redact the release changelog on github with the list of new features, API changes and bug fixes.
-
Freeze the API refrence documentation for this version:
# TODO(damien): automate this in run-release.sh $ git clone [email protected]:jkcfg/jkcfg.github.io.git $ cd jkcfg.github.io $ cp -r reference/std/latest reference/std/x.y.z $ git add reference/std/x.y.z $ git commit -m '@jkcfg/std: Freeze API reference for x.y.z' $ git push
-
Add a new link to the API reference on the website in
static/docs/std-api-reference.md
. -
Bump the latest version in
src/params.json
located in the website repository and push the result.