Versioning & Release Policy

Nimbus follows semantic versioning and predictable release practices so teams can upgrade safely.

Semantic versioning

  • Major (X.0.0): breaking API/behavior changes.
  • Minor (0.X.0/X.Y.0): backward-compatible features.
  • Patch (X.Y.Z): backward-compatible fixes and security patches.

Backward compatibility commitments

  • Public APIs are kept stable within a major version.
  • Deprecations should be documented before removal.
  • Behavioral changes affecting production should be called out in release notes.

Deprecation lifecycle

  1. Mark feature as deprecated in docs and changelog.
  2. Provide migration path and replacement API.
  3. Remove only in the next major release unless it is a critical security issue.

Release quality gates

Every release should pass the CI workflow:

  • go test ./...
  • go test -race ./...
  • go vet ./...

CI workflow location: .github/workflows/ci.yml

Upgrade guidance for teams

  • Pin framework versions in production and upgrade in staging first.
  • Run migrations and queue workers against the new version before rollout.
  • Review release notes for deprecations and operational changes.

Related docs