roark · docs
docs/versioning.md

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:

  • PATCH for fixes, documentation corrections, and small internal improvements.
  • MINOR for new commands, flags, or backward-compatible behavior.
  • MAJOR for 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:

md
## [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

  1. Confirm the working tree contains only intended changes.
  2. Move relevant CHANGELOG.md entries from Unreleased to the target version and date.
  3. Commit the release notes and any remaining release-prep changes.
  4. Run the release check:
bash
bun run release:check
  1. Bump the version. This creates a version commit and Git tag such as v0.2.0:
bash
bun run version:patch
# or
bun run version:minor
# or
bun run version:major
  1. Push the branch and tags:
bash
git push origin main --follow-tags
  1. For operator installs, pin deployments to the pushed tag.

#Inspecting Versions

bash
roark --version
git tag --list 'v*' --sort=-v:refname