Release process
June 15, 2026 ยท View on GitHub
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.
Release notes
Draft release notes from the diff between the previous package tag and the new release commit. Review the actual diffs rather than relying on commit titles alone, omit unrelated commits, and group user-facing bullets under "New features", "Bug fixes", and "Performance" when applicable. Include the relevant PR number(s) in parentheses after each bullet.
Go library
- Update the
Versionin go/mcap/version.go - Tag a release matching the version number
go/mcap/vX.Y.Z.
CLI
- Update the version in
rust/cli/Cargo.toml - Tag a release matching
releases/mcap-cli/vX.Y.Z
The tag version must match the rust/cli/Cargo.toml version; CI fails the release if they differ.
C++
- 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
Python
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,
TypeScript
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- For
@mcap/core, updateVERSIONintypescript/core/src/version.ts
- For
- 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#.#.#
Swift
- Update
mcapVersioninswift/mcap/Version.swift - Tag a release matching the version number
releases/swift/vX.Y.Z
Rust
- Update the version in rust/mcap/Cargo.toml
- Tag a release matching the version number
releases/rust/vX.Y.Z