Release New Version
Instructions
- •
Get the latest tag:
bashgit tag --list --sort=-version:refname | head -1
- •
Get commits since last tag:
bashgit log <latest-tag>..HEAD --oneline
- •
Calculate next version automatically:
- •Parse current version vX.Y.Z
- •Increment: Z+1, if Z=9 then Z=0 and Y+1, if Y=9 then Y=0 and X+1
- •Examples: v0.0.8 → v0.0.9, v0.0.9 → v0.1.0, v0.9.9 → v1.0.0
- •
Show suggested version to user, allow modification before proceeding
- •
Categorize commits by type:
- •
feat:→ New Features / 新功能 - •
fix:→ Bug Fixes / 问题修复
- •
- •
Update CHANGELOG.md (insert new version entry after
# Changelogheading):- •Use bilingual format (English / 中文) for each item
- •Format:
## vX.Y.Zfollowed by**New Features / 新功能**and**Bug Fixes / 问题修复**sections - •Each item format:
- English description / 中文描述 - •This file is used by GitHub Actions to generate release notes for auto-updater
- •
Update README.md changelog section (insert new version entry after
## 更新日志heading) - •
Update README_EN.md changelog section if exists (insert after
## Changelogheading) - •
Commit changelog changes (required before release:prepare):
bashgit add CHANGELOG.md README.md README_EN.md git commit -m "docs: update changelog for <version>"
- •
Run release workflow:
bashnpm run release:prepare <version>
- •
Execute git commands to complete release:
bashgit add . git commit -m "chore: release <version>" git tag <version> git push origin main --tags
Verification
- •Confirm CHANGELOG.md is updated with English changelog (used for auto-updater)
- •Confirm changelog entries are correctly formatted
- •Confirm version number follows vX.Y.Z pattern
- •Confirm both README files are updated (if applicable)
- •Confirm changelog is committed before running release:prepare
- •Confirm git push completes successfully