SemVer and Release Channels
Intent
Publish predictable versions and previews so consumers know what to expect. CI builds provide instant feedback, snapshots let integrators test against latest, and releases provide stable baselines for production use.
Structure
Release channels provide different stability guarantees from CI builds to tagged releases.
Implementation Considerations
Channels
- ci: every PR builds to /branches/{branch}
- snapshot: merges to main/publish nightly
- release: tags vMAJOR.MINOR.PATCH publish immutable
Tagging
- Use conventional commits to derive CHANGELOG
- Automate release notes
Benefits
- Discoverable artifacts
Trade-offs
- Discipline around tagging