This document describes how to cut a new release of the openclaw-go SDK.
openclaw-go follows Semantic Versioning.
- Patch (
v0.x.y → v0.x.z): bug fixes, documentation - Minor (
v0.x → v0.y): new API methods / types, new options, backward-compatible - Major (
v1 → v2): breaking changes to public API (rare)
Standard Git tag format (this is a standalone repository):
vMAJOR.MINOR.PATCH
Example:
git tag v0.2.0
git push origin v0.2.0After the tag is pushed, the module becomes available at:
go get github.com/yuchou87/openclaw-go@v0.2.0
-
Update
CHANGELOG.mdMove items from
[Unreleased]into a new dated section:## [0.2.0] — 2026-MM-DD -
Update
client/version.goconst SDKVersion = "0.2.0"
-
Run full checks
make check # build + lint + test -race -
Commit all changes
git add . git commit -m "chore: release v0.2.0"
-
Tag and push
git tag v0.2.0 git push origin main v0.2.0
-
Verify on pkg.go.dev
https://pkg.go.dev/github.com/yuchou87/openclaw-go@v0.2.0The page may take a few minutes to appear after the tag is pushed.
- Tags are immutable — never force-push or delete a release tag.
- The
go-sdk.ymlCI workflow runs on every push tomain, so the tag commit must pass CI before tagging. - If a critical bug fix is needed for an old minor version, create a
v0.xbranch and tag from it.