Skip to content

Latest commit

 

History

History
92 lines (60 loc) · 1.68 KB

File metadata and controls

92 lines (60 loc) · 1.68 KB

Releasing openclaw-go

This document describes how to cut a new release of the openclaw-go SDK.


Versioning

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)

Release Tag Convention

Standard Git tag format (this is a standalone repository):

vMAJOR.MINOR.PATCH

Example:

git tag v0.2.0
git push origin v0.2.0

After the tag is pushed, the module becomes available at:

go get github.com/yuchou87/openclaw-go@v0.2.0

Step-by-Step Release Checklist

  1. Update CHANGELOG.md

    Move items from [Unreleased] into a new dated section:

    ## [0.2.0] — 2026-MM-DD
  2. Update client/version.go

    const SDKVersion = "0.2.0"
  3. Run full checks

    make check          # build + lint + test -race
  4. Commit all changes

    git add .
    git commit -m "chore: release v0.2.0"
  5. Tag and push

    git tag v0.2.0
    git push origin main v0.2.0
  6. Verify on pkg.go.dev

    https://pkg.go.dev/github.com/yuchou87/openclaw-go@v0.2.0
    

    The page may take a few minutes to appear after the tag is pushed.


Notes

  • Tags are immutable — never force-push or delete a release tag.
  • The go-sdk.yml CI workflow runs on every push to main, so the tag commit must pass CI before tagging.
  • If a critical bug fix is needed for an old minor version, create a v0.x branch and tag from it.