Release Process¶
This project uses Semantic Versioning: MAJOR.MINOR.PATCH.
MAJOR: breaking API or operator workflow changesMINOR: backwards-compatible features and new capabilitiesPATCH: backwards-compatible fixes, docs corrections, and small operational improvements
Workflow¶
- Branch from
mainfor the release. Use a release branch such asrelease/v0.2.0if you need a final stabilization pass before tagging. - Update
CHANGELOG.md. Move release-ready entries out ofUnreleasedinto a dated version section. - Run verification.
At minimum run the checks that match the touched surfaces, such as
make test-all,make lint, and any Docker-based smoke tests needed for the stack. - Tag the release.
Create an annotated tag like
v0.2.0from the release commit. - Build and publish artifacts. Publish any release outputs affected by the change set, such as Controller and Dispatcher images, reference agent images, and Helm or runtime assets if they changed.
- Publish release notes.
Open a GitHub release using the tagged version and summarize the shipped changes from
CHANGELOG.md. - Merge the release commit back to
mainif you used a separate release branch.
Breaking Changes¶
Breaking changes must be called out in three places:
CHANGELOG.mdunder the released version- the GitHub release notes for that version
- any upgrade or operator-facing documentation touched by the change
When a change requires operator action, include the exact migration or rollout steps, not just a warning that something changed.