- 
                Notifications
    You must be signed in to change notification settings 
- Fork 0
Open
Labels
Description
摘要
版本格式:主版本号.次版本号.修订号(X.Y.Z),版本号递增规则如下:
主版本号(X):当你做了不兼容的 API 修改,
次版本号(Y):当你做了向下兼容的功能性新增,
修订号(Z):当你做了向下兼容的问题修正。
先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。
注意事项
- 标准的版本号必须(MUST)采用 X.Y.Z 的格式,其中 X、Y 和 Z 为非负的整数,且禁止(MUST NOT)在数字前方补零。X 是主版本号、Y 是次版本号、而 Z 为修订号。每个元素必须(MUST)以数值来递增。例如:1.9.1 -> 1.10.0 -> 1.11.0
- 标记版本号的软件发行后,禁止(MUST NOT)改变该版本软件的内容。任何修改都必须(MUST)以新版本发行
- 主版本号为零(0.y.z)的软件处于开发初始阶段,一切都可能随时被改变。这样的公共 API 不应该被视为稳定版
- 1.0.0 的版本号用于界定公共 API 的形成。这一版本之后所有的版本号更新都基于公共 API 及其修改内容
- 修订号 Z(x.y.Z | x > 0)必须(MUST)在只做了向下兼容的修正时才递增。这里的修正指的是针对不正确结果而进行的内部修改
- 次版本号 Y(x.Y.z | x > 0)必须(MUST)在有向下兼容的新功能出现时递增。在任何公共 API 的功能被标记为弃用时也必须(MUST)递增。也可以(MAY)在内部程序有大量新功能或改进被加入时递增,其中可以(MAY)包括修订级别的改变。每当次版本号递增时,修订号必须(MUST)归零
- 主版本号 X(X.y.z | X > 0)必须(MUST)在有任何不兼容的修改被加入公共 API 时递增。其中可以(MAY)包括次版本号及修订级别的改变。每当主版本号递增时,次版本号和修订号必须(MUST)归零
- 先行版本号可以(MAY)被标注在修订版之后,先加上一个连接号再加上一连串以句点分隔的标识符来修饰。标识符必须(MUST)由 ASCII 字母数字和连接号 [0-9A-Za-z-] 组成,且禁止(MUST NOT)留白。数字型的标识符禁止(MUST NOT)在前方补零。先行版的优先级低于相关联的标准版本。被标上先行版本号则表示这个版本并非稳定而且可能无法满足预期的兼容性需求。范例:1.0.0-alpha、1.0.0-alpha.1、1.0.0-0.3.7、1.0.0-x.7.z.92
版本符号含义
| 符号 | 描述 | 示例 | 示例描述 | 
|---|---|---|---|
| > | 大于某个版本 | >1.2.1 | 大于1.2.1版本 | 
| >= | 大于等于某个版本 | >=1.2.1 | 大于等于1.2.1版本 | 
| < | 小于某个版本 | <1.2.1 | 小于1.2.1版本 | 
| <= | 小雨等于某个版本 | <=1.2.1 | 小于等于1.2.1版本 | 
| - | 介于两个版本之间 | 1.2.1-1.4.5 | 介于1.2.1和1.4.5之间 | 
| x | 不固定的版本号 | 1.3.x | 1.3.x只要保证主版本号是1,次版本号是3即可 | 
| ~ | 补丁版本号可增 | ~1.3.4 | 保证主版本号是1,次版本号是3,次版本号为3时补丁版本号大于等于4 | 
| ^ | 此版本和补丁版本可增 | ^1.3.4 | 保证主版本号是1,次版本号可以大于等于3,次版本号为3时补丁版本号可以大于等于4 |