SemanticVersioning(语义化版本号)

语义化版本号

语义化版本三个数字被定义为主要的(major),次要的(minor),和补丁(patch)版本号。例如,版本号1.2.3

  • 1是主要的(major)版本号
  • 2是次要的(minor)版本号
  • 3补丁(patch)版本号

当主要的(major)版本号数字增加时,意味着你做了一些不能兼容旧版本的更新。
当次要(minor)版本号增加时,意味着增加了新的功能,但同时兼容旧版本。
当补丁(patch)版本号增加时,意味着做了bug修复,没有增加也没有改变功能。

最高版本号(major>minor>patch)必须按照以上规则逐步增加,而较低的版本号必须从0开始。

简单例子,当前版本号1.2.3
如果做了一些不能向后兼容的改变,没有新的功能,但是修改了现有的bug,那么下一版将是2.0.0

练习理解

  1. 如果当前版本1.4.2,做了一些修复bug的改变,添加了一些向后兼容的功能,新版本应该是多少?
  2. 如果当前版本2.5.6,对当前的功能做了一些改变,新版本应该是多少?
  3. 如果当前版本2.10.22只修复了一些bug,新版本应该是多少?

如果一个版本低于1.0.0,被认为是测试版,次要版本号(minor)增加可能意味着向后兼容的改变。