Release process
Release process
go-sdk follows the standard Go module release model: a release is a git
tag. There is no separate publish step to go get a tagged version — the Go
module proxy and pkg.go.dev
index the tag automatically.
Versioning
- Semantic Versioning (
vMAJOR.MINOR.PATCH), with pre-release suffixes for the current alpha line (v0.0.1-alpha.N). - The module path is stable —
github.com/ai-agent-assembly/go-sdk— so a major bump pastv1would add a/vNsuffix per Go’s import-compatibility rule. VERSIONis not the release version; it pins the gateway protocol the SDK targets. See Compatibility.
Cutting a release
Land all changes on
masterwith CI green.If the gateway protocol changed, bump
VERSIONand update the conformance vectors; confirm withmake test.Tag the commit and push the tag:
git tag v0.0.1-alpha.4 git push remote v0.0.1-alpha.4Publish the release notes on the GitHub Releases page for that tag.
What happens after the tag
go get github.com/ai-agent-assembly/go-sdk@v0.0.1-alpha.4resolves through the module proxy immediately.- pkg.go.dev renders the godoc for the tag within minutes.
- The
goreleaserconfig (.goreleaser.yaml) is validated on every push tomasterby thegoreleaser-checkjob; it is set up for source archives, with binary builds skipped (this is a library, not a CLI).
Consuming a pinned version
require github.com/ai-agent-assembly/go-sdk v0.0.1-alpha.3Pin an exact tag while the SDK is pre-release; review the release notes before moving to a newer alpha.