Cutting a Release

  1. The version number should be incremented in the package.json and the crates/ubrn_cli/Cargo.toml.
  2. Push as a PR as usual, with subject: Release ${VERSION_NUMBER}.
  3. Once this has landed, draft a new release.
  4. Create a new tag (in the choose a new tag dialog) with the version number (without a v).
  5. Use the version number again, but with a v prepended for the release title, v${VERSION_NUMBER}.
  6. Publish the release.
  7. Wait until the Cocoapods and NPM publishing jobs are finished.
  8. Tell your friends, make a song and dance, you’ve done a new release.

Version numbers

Uniffi has a semver versioning scheme. At time of writing, the current version of uniffi-rs is 0.28.3

uniffi-bindgen-react-native uses this version number with prepended with a - and a variant number, starting at 0.

Thus, at first release, the version of uniffi-bindgen-react-native was 0.28.3-0.

Compatibility with other packages

Other versioning we should take care to note:

  • React Native
  • create-react-native-library

A version matrix is built during CI: version compatibility compatibility matrix.