Release numbering follows a major.minor.patch format, abbreviated as "X.Y.Z" below.
CI will build the appropriate packages once tags are pushed, as described below.
- Update the
Versionin go/mcap/version.go - Tag a release matching the version number
go/mcap/vX.Y.Z.
Tag a release matching releases/mcap-cli/vX.Y.Z.
The version number is set at build time based on the tag.
- Update the version in all relevant files
- cpp/bench/conanfile.py
- cpp/build-docs.sh
- cpp/build.sh
- cpp/docs/conanfile.py
- cpp/examples/conanfile.py
- cpp/mcap/conanfile.py
- cpp/mcap/include/mcap/types.hpp (
MCAP_LIBRARY_VERSION) - cpp/test/conanfile.py
- Tag a release matching the version number
releases/cpp/vX.Y.Z
There are several python packages; updating any follows a similar process.
- Update the version in the appropriate
__init__.pyfile - Tag a release matching
releases/python/PACKAGE/vX.Y.Z- For example,
releases/python/mcap/v1.2.3
- For example,
There are several TS packages; updating any follows a similar process.
- Check out the version of the code you want to release
- Update the version in
typescript/{pkg}/package.json - Make a PR with your changes to package.json
- Wait for the PR to pass CI and merge
- Checkout main and tag the merged commit with
releases/typescript/{pkg}/v#.#.# - Push the new tag to the repo with
git push origin releases/typescript/{pkg}/v#.#.#
Tag a release matching the version number releases/swift/vX.Y.Z
- Update the version in rust/mcap/Cargo.toml
- Tag a release matching the version number
releases/rust/vX.Y.Z