软件版本号为什么那么奇怪?

开发 架构
语义版本管理提供了一种清晰、结构化的软件版本管理方法,让开发人员更容易了解变更的影响并管理依赖关系。通过遵循 SemVer 规则,开发人员可以确保其软件以可预测的方式稳定发展。

软件版本号意味着什么?

语义版本管理(SemVer)是一种软件版本管理方案,旨在传达版本中基本变更的含义。

SemVer 使用由三部分组成的版本号: major.minor.patch.

  • 主版本:当出现不兼容的 API 变动时,版本号会递增。
  • 小版本:在以向后兼容的方式添加功能时递增。
  • PATCH 版本:在进行向后兼容的错误修复时递增。

我们来看一个工作流程示例。

图片图片

01 初始开发阶段

从版本 0.1.0 开始。

发布一些增量更改和错误修复:0.1.1, 0.2.0, 0.2.1, 0.3.0.

02 第一个稳定版本

发布稳定版本:1.0.0.

03 后续变更

  • 补丁发布

需要对 1.0.0 进行错误修复,更新至 1.0.1。

更多错误修复:1.0.2, 1.0.3.

  • 次要版本

1.0.3 中添加了一个向后兼容的新功能,更新至 1.1.0。

新增另一项功能:1.2.0。

新小版本中的错误修复:1.2.1, 1.2.2.

  • 重大版本

1.2.2 中引入了不向后兼容的重大变更,更新至 2.0.0。

以后的小版本和补丁更新遵循相同模式。

04 特殊版本和预发布版本

  • 预发布版本

用连字符和一系列以点分隔的标识符表示。

例如 alpha 版、beta 版和候选发布版:1.0.0-alpha、1.0.0-beta、1.0.0-rc.1。

  • 构建元数据

用加号和一系列以点分隔的标识符表示。

示例:1.0.0+20130313144700。

语义版本管理提供了一种清晰、结构化的软件版本管理方法,让开发人员更容易了解变更的影响并管理依赖关系。

通过遵循 SemVer 规则,开发人员可以确保其软件以可预测的方式稳定发展。

责任编辑:武晓燕 来源: ByteByteGo
相关推荐

2011-08-17 10:09:24

Mac OS X Li苹果

2021-08-11 08:32:24

Firefox英特尔LLVM

2021-02-06 07:04:24

Linux运维Linux系统

2014-12-15 14:02:48

iOS版本号苹果

2010-11-08 10:07:45

Chrome

2010-08-06 13:56:40

思科路由器IOS软件版本

2015-07-22 10:09:59

Android M版本号

2023-02-27 14:51:40

MySQL数据库

2017-03-30 16:56:43

Windows 10Windows版本号

2021-08-09 10:29:31

Dubbo升级版本号

2017-02-08 14:29:04

2019-09-19 15:15:20

LinuxMint版本号

2010-02-06 13:49:08

Linux samba

2010-06-28 10:13:17

SQL Server

2023-06-08 18:25:40

Doris场景查询

2022-02-18 10:46:28

FirefoxChrome浏览器

2024-07-08 13:56:12

微服务API代码

2023-01-09 17:46:07

项目版本号字段

2023-08-02 08:46:02

Go版本号规则

2021-06-29 06:41:11

Windows 11操作系统微软
点赞
收藏

51CTO技术栈公众号