Releases
Cadence
- Stable releases cut from
mainon a semver tag (v0.5.2,v0.6.0). - Edge builds published on every push to
main— for dogfooding. - No fixed time cadence today. Releases happen when a coherent set of features lands.
Tagging a release
-
Ensure
mainis green (CI + docs build). -
Update
CHANGELOG.mdwith the version, date, and notable changes. -
Bump
Cargo.tomlworkspace version if you version Rust crates separately. -
Create a signed tag:
Terminal window git tag -s v0.6.0 -m "v0.6.0"git push origin v0.6.0 -
The release workflow (
.github/workflows/release.yml) triggers onv*tags and:- Builds multi-arch binaries (linux/amd64, linux/arm64; macOS for CLI).
- Packages into
tyr-<arch>-<os>.tar.gz. - Builds multi-arch Docker images, pushes to GHCR:
ghcr.io/terranchi/tyr/tyr-server:vX.Y.Z+:latestghcr.io/terranchi/tyr/tyr-agent:vX.Y.Z+:latest
- Creates a GitHub Release with artifacts attached + CHANGELOG excerpt.
Edge builds
.github/workflows/edge.yml runs on every push to main (excluding docs-site/** and *.md):
- Builds binaries as artifacts (7-day retention).
- Publishes Docker images tagged
:edge,:main, and:sha-<short>.
:latest is not touched — it stays on the last signed release. Users who opt into edge pull :edge or :main explicitly.
Image tag summary
| Tag | Workflow | When |
|---|---|---|
:vX.Y.Z | release | On semver tag |
:latest | release | On semver tag |
:edge | edge | Every push to main |
:main | edge | Every push to main |
:sha-abc1234 | edge | Every push to main |
Production deployments pin to :vX.Y.Z and upgrade deliberately.
Changelog
CHANGELOG.md at repo root, Keep-a-Changelog format:
## [Unreleased]### Added- ...
## [0.6.0] - 2026-04-20### Added- Agent-type overlays### Fixed- Drift detection race condition on high-volume event streams### Breaking- `policy_yaml.apiVersion: tyr.dev/v0` no longer accepted (use `v1`)Semver contract (post-1.0)
Before 1.0: minor versions may include breaking changes; we’ll call them out.
After 1.0:
MAJORbumps: breaking policy schema, protocol, or REST API changes.MINORbumps: backward-compatible features.PATCHbumps: bug fixes only.
Release checklist
- CI green on
main - Docs site builds and renders correctly
-
CHANGELOG.mdupdated - Tagged + pushed
- Release workflow succeeded — artifacts + images published
- GitHub Release notes reviewed
- Post-release: bump
Unreleasedsection in CHANGELOG
Hotfixes
For a critical fix against a released version:
git checkout -b hotfix/v0.6.1 v0.6.0# apply fixgit commit -s -m "fix: critical X"git tag -s v0.6.1git push origin hotfix/v0.6.1 v0.6.1Release workflow builds and publishes as normal.
→ Back to Development · ADRs