SemVer

根据国际主流的惯例,我们使用「语义化版本(Semantic Versioning)」的命名方式,有时简称 SemVer。

语义化版本号(以下简称「版本号」)的格式是:<major>.<minor>.<patch>。即使用三位非负整数,以点号 . 连接。

它们取值为非负整数,若大于0,不能再前方补零
如:1.4.15、6.2.0。

版本号

版本号分为x.y.z三位。分别代表了主版本号、次版本号、补丁版本号

  • 如果只是修复bug,需要更新z位
  • 如果新增了功能,但是向下兼容,需要更新y位
  • 如果变动很大,向下不兼容,需要更新x位

先行版本号

在常规的版本号命名之上还有一个特殊类别,叫做预发版本号(prerelease version)。它表示当前版本是一个不稳定的版本,使用它时需要注意风险。

先行版本号的格式是 <major>.<minor>.<patch>-<stage>.<num>,即前半部分和常规版本号相同,然后跟上连接符 -,后面再跟上字母数字点号连接符。

常用的stage有:

  • alpha:内测版,内部交流或者专业测试人员测试用;
  • beta:公测版,专业爱好者大规模测试用,存在一些缺陷,该版本也不适合一般用户安装;
  • Gamma:比较成熟的测试版,与即将发行的正式版相差无几;
  • rc:是 Release Candidate的缩写,意思是发布倒计时,候选版本,处于Gamma阶段,该版本已经完成全部功能并清除大部分的BUG。到了这个阶段只会除BUG,不会对软件做任何大的更改。从AlphaBeta再到Gamma是改进的先后关系,但RC1、RC2往往是取舍关系。
  • lts:长期维护,long term support 的缩写。
  • Stable:稳定版。在开源软件中,都有stable版,这个就是开源软件的稳定发行版。

如:1.0.0-alpha.1

参考文章

语义化版本(SemVer)的范围
SemVer 语义化版本
论版本号的正确打开方式

最后修改:2016 年 12 月 06 日
喜欢我的文章吗?
别忘了点赞或赞赏,让我知道创作的路上有你陪伴。