Java OpenResty Spring Spring Boot MySQL Redis MongoDB PostgreSQL Linux Android Nginx 面试 小程序 Arthas JVM AQS juc Kubernetes Docker 诊断工具


Semver 语义化版本

Semver 大约 1055 字

网站

中文

https://semver.org/lang/zh-CN

英文

https://semver.org

主要内容

版本格式

主版本号.次版本号.修订号

  • 主版本号:当你做了不兼容的 API 修改。
  • 次版本号:当你做了向下兼容的功能性新增。
  • 修订号:当你做了向下兼容的问题修正。

先行版本号(AlphaBeta)及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。

控制规范

  1. 标准的版本号必须采用X.Y.Z的格式,其中XYZ为非负的整数,且禁止在数字前方补零。X是主版本号、Y是次版本号、而Z为修订号。每个元素必须以数值来递增。例如:1.9.1->1.10.0->1.11.0
  2. 主版本号为零(0.y.z)的软件处于开发初始阶段,一切都可能随时被改变。这样的版本不应该被视为稳定版。
  3. 修订号Zx.y.Z|x > 0)必须在只做了向下兼容的修正时才递增。这里的修正指的是针对不正确结果而进行的内部修改。
  4. 次版本号Yx.Y.z|x > 0)必须在有向下兼容的新功能出现时递增。在任何版本的功能被标记为弃用时也必须递增。也可以在内部程序有大量新功能或改进被加入时递增,其中可以包括修订级别的改变。每当次版本号递增时,修订号必须归零。
  5. 主版本号XX.y.z|X > 0)必须在有任何不兼容的修改被加入版本时递增。其中可以包括次版本号及修订级别的改变。每当主版本号递增时,次版本号和修订号必须归零。
  6. 先行版本号可以被标注在修订版之后,先加上一个连接号再加上一连串以句点分隔的标识符来修饰。标识符必须由ASCII字母数字和连接号[0-9A-Za-z-]组成,且禁止留白。数字型的标识符禁止在前方补零。先行版的优先级低于相关联的标准版本。被标上先行版本号则表示这个版本并非稳定而且可能无法满足预期的兼容性需求。范例:1.0.0-alpha1.0.0-alpha.11.0.0-0.3.71.0.0-x.7.z.92
  7. 版本编译信息可以被标注在修订版或先行版本号之后,先加上一个加号再加上一连串以句点分隔的标识符来修饰。标识符必须由ASCII字母数字和连接号[0-9A-Za-z-]组成,且禁止留白。当判断版本的优先层级时,版本编译信息可被忽略。因此当两个版本只有在版本编译信息有差别时,属于相同的优先层级。范例:1.0.0-alpha+0011.0.0+201303131447001.0.0-beta+exp.sha.5114f85
阅读 471 · 发布于 2023-03-27

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
随便看看 换一批