语义化版本2.0.0介绍

简介

语义化版本是为了解决软件开发过程中依赖关系混乱或者依赖锁死的情况。

它的标准格式如下:

x.y.z

其中x表示主版本号,y表示次版本号,z表示修订号。

对这几种版本号的解释如下:

X 主版本号,表示做了不向下兼容的修改时递增。

Y 次版本号,表示做了向下兼容的新增及修改时递增。

Z 修订号,表示做了向下兼容的问题修复时递增。

规范

  1. 必须定义公共API,且公共API应该力求准确和完整。

  2. x,y,z必须都为非负整数,且禁止在数字前补零。

  3. 0.y.z表示软件处于初始开发阶段,y与z可以根据初始开发阶段的情况递增。

  4. 1.0.0表示软件开发成功的第一个版本号,也是界定公共API成熟的标志。

  5. 次版本号递增的原则:

    • 新功能添加时。
    • 某一功能被弃用时。
    • 某一功能被改进时。(其中可包括修订级别的改变)
    • 次版本号递增时,修订号必须归零。
  6. 主版本号递增时,次版本号和修订号必须清零,其中可包括次版本号和修订号的改变。

  7. 先行版本号添加原则:

    • 由连接号和描述符组成。
    • 添加在修订号后面。
    • 先行版本号表示这个版本并非稳定并有非兼容情况出现。
    • 优先级低于相关联的标准版本号。
  8. 版本编译元数据添加原则:

    • 由加号和描述符组成。
    • 添加在修订号或者先行版本号后面。
    • 版本编译元数据不参与版本优先级比较。
  9. 优先级比较原则:一一拆分为各种版本号比较。

参考

本文章内容参考于https://semver.org/lang/zh-CN/#spec-item-9。