版本号设计
5/10/26About 1 min
版本号设计
版本号的目标不是“好看”,而是让调用方快速判断兼容性和升级风险。
Semantic Versioning
版本号通常写成 X.Y.Z,也就是 Major.Minor.Patch。
X:主版本号,表示不兼容变更Y:次版本号,表示向后兼容的新功能Z:修订号,表示向后兼容的问题修复
基本规则
X、Y、Z必须是非负整数,且不应有前导零。0.Y.Z表示仍在快速迭代阶段,API 可能不稳定。- 出现不兼容变更时,
X递增,同时Y和Z清零。 - 新增兼容功能时,
Y递增,同时Z清零。 - 修复兼容性问题时,
Z递增。 - 已发布版本不应直接修改内容,应通过新版本交付。
预发布与开发版本
1.0.0.a1:alpha1.0.0.b1:beta1.0.0.rc1:release candidate1.0.1.dev4:开发版本
常见后缀
alpha:内部测试阶段beta:公测阶段demo:演示版lts:长期维护版本snapshot:快照版本release:正式发行版rc:准正式版
系统设计里的意义
版本号设计通常会影响:
- API 兼容策略
- SDK 发布策略
- 灰度与回滚
- 文档维护与升级提示
