release-semver

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Semantic Versioning Release Process

语义化版本(Semantic Versioning)发布流程

When to Use

适用场景

When the user says "prepare a release", "bump the version", "publish", "cut a release", or asks about versioning.
当用户提到「准备发布」、「升级版本」、「发布上线」、「切发布版本」,或者询问版本管理相关问题时使用。

Instructions

操作指南

  1. Determine version bump:
    • Patch (0.1.0 → 0.1.1): Bug fixes, no API changes
    • Minor (0.1.0 → 0.2.0): New features, backward-compatible
    • Major (0.1.0 → 1.0.0): Breaking changes
    • Pre-1.0: minor = breaking, patch = features+fixes
  2. Pre-release checklist:
    • All tests pass on the main branch
    • No uncommitted changes
    • Dependencies are up to date
    • CHANGELOG or release notes drafted
  3. Prepare the changelog:
    • Group changes: Added, Changed, Fixed, Removed
    • Reference issue/PR numbers
    • Note breaking changes prominently
  4. Bump version in all relevant files (Cargo.toml, pyproject.toml, package.json, etc.)
  5. Commit and tag:
    • Commit message:
      chore: bump version to vX.Y.Z
    • Tag:
      vX.Y.Z
  6. Publish according to the project's distribution channel
  1. 确定版本升级类型:
    • 补丁版(Patch) (0.1.0 → 0.1.1):修复bug,无API变更
    • 次版本(Minor) (0.1.0 → 0.2.0):新增功能,向后兼容
    • 主版本(Major) (0.1.0 → 1.0.0):包含破坏性变更
    • 1.0.0之前的版本:次版本更新 = 包含破坏性变更,补丁版更新 = 新增功能+问题修复
  2. 预发布检查清单:
    • 主分支所有测试通过
    • 无未提交的变更
    • 依赖均为最新版本
    • 已起草CHANGELOG或发布说明
  3. 准备更新日志:
    • 按变更类型分组:新增、变更、修复、移除
    • 关联对应的issue/PR编号
    • 显著标注破坏性变更
  4. 在所有相关文件中升级版本号(Cargo.toml、pyproject.toml、package.json等)
  5. 提交并打标签:
    • 提交信息:
      chore: bump version to vX.Y.Z
    • 标签:
      vX.Y.Z
  6. 按照项目的分发渠道完成发布

Examples

示例

User: "Let's release — we fixed two bugs and added a feature" Agent: Recommends a minor bump (new feature), drafts changelog entries, updates version files, creates the tagged commit.
用户: "我们来发布版本吧——我们修复了两个bug,还新增了一个功能" Agent: 建议升级次版本(因为有新功能),起草更新日志条目,更新版本文件,创建带标签的提交。