Release Process

Checkout the main branch

git checkout main
git pull
git submodule update --init

Version

Bump the package.json version number as appropriate either manually v<M.M.P> or using:

npm version <major|minor|patch>

Build

Build the package locally and audit any dependencies to produce an up-to-date yarn.lock

yarn clean
yarn
yarn compile

Changelog

Update the CHANGELOG file to reflect all changes in this release

Commit

Ensure all local changes are staged and committed (and not pushed) to the main branch (if using npm version, amend the commit).

Use the package.json version number with a v prefix in the format vX.X.X (e.g. v1.6.5) for the message.

Tag & Push

If you didn't use npm version, tag the source using the version with a v prefix as above for the tagname:

git push --atomic origin main <tagname>

Prebuilds

When a tag is pushed, the GH actions system will automatically create prebuildify binaries for the release

Once the Github action has completed, download these binaries by running:

rm -rf prebuilds build
yarn prebuild-download

Test

Have a compatible physical test device set up and connected to the local machine. (Details)

Publish

To undertake a normal (latest) npm publish run:

To specify a tag (e.g, testing, alpha) use: