Semver 备忘清单

这个 semver 语义化版本快速参考备忘清单。

语义化版本标准

介绍

Semver 是一种语义版本控制规范。

Semver

- -
主版本号(MAJOR) 当你做了不兼容的 API 修改
次版本号(MINOR) 当你做了向下兼容的功能性新增
修订号(PATCH) 当你做了向下兼容的问题修正

简单范围

  1. 1.2.3
  2. =1.2.3
  3. >1.2.3
  4. <1.2.3
  5. >=1.2.3

请注意,后缀版本(1.2.3-rc1)不匹配。

范围

范围 描述 Notes
~1.2.3 >=1.2.3 <1.3.0
^1.2.3 >=1.2.3 <2.0.0
^0.2.3 >=0.2.3 <0.3.0 (0.x.x 是特殊的)
^0.0.1 =0.0.1 (0.0.x 是特殊的)
^1.2 >=1.2.0 <2.0.0 (像 ^1.2.0)
~1.2 >=1.2.0 <1.3.0 (像 ~1.2.0)
^1 >=1.0.0 <2.0.0
~1 相同的
1.x 相同的
1.* 相同的
1 相同的
* 任何版本
x 相同的

连字符范围

范围 描述
1.2.3 - 2.3.4 >=1.2.3 <=2.3.4

部分向右

范围 描述
1.2.3 - 2.3 >=1.2.3 <2.4.0
1.2.3 - 2 >=1.2.3 <3.0.0

部分向左

范围 描述
1.2 - 2.3.0 1.2.0 - 2.3.0

当右侧为部分(例如,2.3)时,假定缺失的部分为x(例如,2.3.x)。

如果左边是部分的(例如,1.2),则假定缺少的部分为0(例如,1.2.0)。

有效的语义版本

  1. 0.0.4
  2. 1.2.3
  3. 10.20.30
  4. 1.1.2-prerelease+meta
  5. 1.1.2+meta
  6. 1.1.2+meta-valid
  7. 1.0.0-alpha
  8. 1.0.0-beta
  9. 1.0.0-alpha.beta
  10. 1.0.0-alpha.beta.1
  11. 1.0.0-alpha.1
  12. 1.0.0-alpha0.valid
  13. 1.0.0-alpha.0valid
  14. 1.0.0-alpha-a.b-c-somethinglong+build.1-aef.1-its-okay
  15. 1.0.0-rc.1+build.1
  16. 2.0.0-rc.1+build.123
  17. 1.2.3-beta
  18. 10.2.3-DEV-SNAPSHOT
  19. 1.2.3-SNAPSHOT-123
  20. 1.0.0
  21. 2.0.0
  22. 1.1.7
  23. 2.0.0+build.1848
  24. 2.0.1-alpha.1227
  25. 1.0.0-alpha+beta
  26. 1.2.3----RC-SNAPSHOT.12.9.1--.12+788
  27. 1.2.3----R-S.12.9.1--.12+meta
  28. 1.2.3----RC-SNAPSHOT.12.9.1--.12
  29. 1.0.0+0.build.1-rc.10000aaa-kk-0.1
  30. 99999999999999999999999.999999999999999999.99999999999999999
  31. 1.0.0-0A.is.legal

组合范围

范围 描述
>=0.14 <16 和 (空格分隔)
`0.14.x \ \ 15.x.x` 或 (双竖线分隔)

解释

范围 描述
^ 意思是“兼容”
~ 意思是“相当接近”
0.x.x 用于“初始开发”
1.x.x 表示定义了公共 API

预发布

  1. 1.2.3-prerelease+build
  2. 1.1.2-prerelease+meta

另见