Versioning and releases
SemVer policy, changelog expectations, and release checklist for Roark.
Last updated
Roark uses the version field in package.json as the source of truth.
#Version Policy
Roark follows Semantic Versioning:
PATCHfor fixes, documentation corrections, and small internal improvements.MINORfor new commands, flags, or backward-compatible behavior.MAJORfor breaking CLI, config, artifact, or workflow behavior.
While Roark is 0.x, breaking changes may use a minor bump. Move to 1.0.0 when the CLI and config contract are stable enough that breaking changes should be rare.
#Changelog Policy
Keep CHANGELOG.md updated with one section per release:
## [0.2.0] - 2026-05-11
### Added
- Added a new command.
### Changed
- Changed an existing default.
### Fixed
- Fixed a regression.Use Unreleased for changes that have landed but are not tagged yet.
#Release Checklist
- Confirm the working tree contains only intended changes.
- Move relevant
CHANGELOG.mdentries fromUnreleasedto the target version and date. - Commit the release notes and any remaining release-prep changes.
- Run the release check:
bun run release:check- Bump the version. This creates a version commit and Git tag such as
v0.2.0:
bun run version:patch
# or
bun run version:minor
# or
bun run version:major- Push the branch and tags:
git push origin main --follow-tags- For operator installs, pin deployments to the pushed tag.
#Inspecting Versions
roark --version
git tag --list 'v*' --sort=-v:refname