This project follows Semantic Versioning (SemVer):
vMAJOR.MINOR.PATCH
| Type | Example | When to Bump |
|---|---|---|
| Patch | v2.0.3 β v2.0.4 |
Bug fixes, internal refactoring |
| Minor | v2.0.3 β v2.1.0 |
Add features (non-breaking) |
| Major | v2.3.1 β v3.0.0 |
Breaking changes in public API |
- Run
git diff/git log - Decide the type of version bump
git add .
git commit -m "Release v2.1.0: added dynamic log formatter"
git push origin <branch> # e.g. main or develop
git tag v2.1.0
git push origin v2.1.0- Go to https://github.com///releases
- Click "Draft a new release"
- Select
v2.1.0as the tag - Use the same changelog content
- Click Publish Release
You can automate this with tools like:
GitHub Actionsgoreleaserrelease.shscript
Let us know if you want to integrate automation workflows.
β Only tagging with
vX.Y.Zis required for Go to pick up the release
If using a major version v2+, make sure your go.mod path ends with /v2, /v3, etc.
module github.com/your-org/your-repo/v2