易君召
易君召
发布于 2026-10-28 / 2 阅读
0

软件版本号常见命名规则

一、最通用:语义化版本 SemVer(Semantic Versioning 2.0.0)

绝大多数开源项目、后端服务、SDK、库都在用,格式:

MAJOR.MINOR.PATCH 例:2.5.1、3.0.0、1.10.4

  1. MAJOR(主版本号):不兼容的 API / 架构变更,升级后旧代码会报错、不能直接兼容

    • 比如接口入参大改、删除旧接口、数据库结构颠覆性改动 → +1

  2. MINOR(次版本号):向后兼容,新增功能

    • 新增接口、新增配置、新增特性,老功能不受影响 → +1

  3. PATCH(修订号 / 补丁号):向后兼容,只修 Bug,不增功能

    • 修复崩溃、逻辑错误、安全漏洞,无新能力 → +1

额外后缀(预发布版本),用 - 连接: 1.2.3-alpha、1.2.3-beta、1.2.3-rc1

  • alpha:内部测试版,不稳定,问题多

  • beta:公开测试版,主要功能完成,还有待修 bug

  • rc(Release Candidate,候选版):认为基本稳定,准备正式发布,rc1、rc2…

编译元信息,用 +:1.2.3+build20261028(构建号、git commit hash,不用于版本比较)

✅ 版本递增示例: 1.0.0 → 加功能 → 1.1.0 → 修 bug → 1.1.1 → 破坏性重构 → 2.0.0

二、日期版本(Calendar Version,CalVer)

适合客户端、固件、发行版、BI 平台、大版本产品,用日期做版本,不强调兼容性,一眼看出发布时间 常见格式:

  • YEAR.MONTH:Ubuntu 24.04、26.10

  • YEAR.MONTH.PATCH:2026.10.1

  • YYYYMMDD:20261028(很多内部固件、镜像、运维包)

特点:每年 / 每月迭代,不区分兼容破坏性;适合持续滚动更新的产品。

三、简单流水号版本(Build 号)

格式:纯数字 v128、build-2345 多用于 CI/CD 流水线、测试包,每次打包自动 + 1,只代表先后顺序,没有兼容含义。

四、行业 / 厂商自定义版本规则

1. 四段式(国内政企、中间件、数据库、硬件很常见)

主。次. 修订。编译号 例:7.0.0.421、5.6.3.202610 前三段接近 SemVer,第四段是构建号、分支号、补丁包编号,信创、国产数据库、中间件大量使用这种。

2. 版本别名 + 版本号

比如:V3.2 铂金版、R2 SP3

  • R = Release(发行版):R1、R2

  • SP = Service Pack(服务包 / 补丁集):SP1 SP2 SP3,批量修复 + 小增强,Windows、老商用软件常用

3. 分支版本标识

1.5.0-dev(开发分支)、1.5.0-snapshot(快照,Maven/Java 生态)、1.5.0-hotfix(紧急热修复)

snapshot:快照版,Java Maven 体系专属,随时会变,不建议生产依赖

五、版本前缀 v

习惯上加 v,比如 v2.3.1,只是标识,版本比较时忽略 v,v2.3.1 = 2.3.1,Git tag 最常用。

六、版本优先级排序(SemVer 规则)

正式版 > rc > beta > alpha 2.0.0-rc3 < 2.0.0 1.3.0-alpha2 < 1.3.0-beta1

七、快速对比表

规则

格式例子

适用场景

核心特点

SemVer

3.2.1

SDK、开源组件、API 服务

看数字就能判断是否兼容

CalVer

2026.10 / 26.04

操作系统、客户端、平台

看发布时间

四段式

6.1.2.108

国产中间件、数据库、硬件

国内政企项目主流

Build 流水号

build-456

CI 测试包、内部镜像

仅标记打包次序

R+SP

R2 SP3

传统商用软件

大发行版 + 累积补丁

八、常见坑提醒

  1. 不要混用两套规则:不要一会儿 2.1.0、一会儿 20261028

  2. SemVer 小数点不是十进制:1.10.0 > 1.9.0(不是 1.10 <1.9)

  3. hotfix 一般是 PATCH 升级:2.1.1 紧急修复线上问题

  4. snapshot、alpha、beta 一般禁止生产环境直接使用


本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。

原文链接 https://www.yijunzhao.cn/archives/software-version-numbering-conventions-guide

欢迎访问 小易撩挨踢

https://www.yijunzhao.cn/