RELEASING.md 1.1 KB

Releasing sm121

Versioning

  • Use semver in Cargo.toml: 0.x.y while the CLI is still pre-1.0.
  • Bump minor for features/behaviour changes, patch for fixes.
  • sm121 --version and clap read the Cargo.toml version directly.
  • The add-on image version is separate: it lives in sm121/config.yaml and has its own sm121/CHANGELOG.md section per release.

Release steps

  1. Update Cargo.toml version.
  2. Add a ## <version> section to CHANGELOG.md (newest first), describing what an operator notices — not only internals.
  3. Run the gates: make check (fmt → clippy → test → ≤500 lines).
  4. Build and install the CLI: cargo install --path . --force.
  5. Commit, then tag and push:

    git tag -a v0.2.0 -m "sm121 0.2.0"
    git push origin v0.2.0
    
  6. Verify sm121 --version and, for the add-on, rebuild/re-run the CI image with SM121_VERSION=<addon version>; add a matching add-on changelog section.

Rule

Do not leave the CLI at 0.1.0 after feature work. A release is defined by the version in Cargo.toml, the changelog entry, and the git tag.