框架版本号定义
作者:程序员马丁
Ragent AI —— 从 0 到 1 纯手工打造企业级 Agentic RAG,拒绝 Demo 玩具!AI 时代,助你拿个offer。
什么是版本号
版本号(Version Number)是用于标识软件版本的重要标记。
在开发基础组件或开源框架时,合理定义版本号尤为关键。它不仅能帮助用户判断所使用的版本是否为最新,还能 明确该版本所具备的功能和稳定性。
版本号状态说明
1. SNAPSHOT(快照版)
用于开发阶段,通常表示功能尚未完成,或存在较多 Bug,仅供开发者使用。不建议在测试或生产环境中使用。
2. alpha(内部测试版)
初步实现的版本,主要用于开发团队内部验证,或小范围提供给专业测试人员。该阶段的 Bug 较多,不适合生产环境部署。
3. beta(外部测试版)
相较于 alpha 版本,已修复大部分严重 Bug,但可能仍存在部分缺陷。通常通过更广泛的测试反馈进行进一步完善,仍不推荐用于生产环境。
4. RC(Release Candidate,预发布版)
接近最 终发布版本,功能完整,Bug 稳定,除非发现重大问题,否则将作为最终版发布。已基本可用于验收测试。
5. RELEASE(正式发行版)
即最终稳定版本,经过多个测试阶段,功能完整且稳定。可安全用于生产环境。
6. upgrade(升级版)
在不发布下一个主/子版本的前提下,对当前 RELEASE 版本进行的功能增强或 Bug 修复,适用于紧急补丁或重要增强。
版本号命名规则
版本号由三段组成:
主版本号 . 子版本号 . 修订版本号
Major.Minor.Revision
各部分含义:
- 主版本号(Major): 项目发生重大变化或架构调整时递增,表示不 兼容的 API 变更。
- 子版本号(Minor): 新增功能,但保持兼容性时递增。每次子版本号变更时,修订号归零。
- 修订版本号(Revision): 用于小范围的 Bug 修复或微调,主版本号与子版本号保持不变。
正常版本演进示例
版本号还可以带上“状态后缀”,完整的迭代可能如下:
1.2.6-SNAPSHOT1.2.6-alpha1.2.6-alpha.2(可选,用于多次发布 alpha)1.2.6-beta1.2.6-beta.21.2.6-RC1.2.6-RC.21.2.6.RELEASE1.2.6-upgrade
常见版本号相关问答
1. RELEASE 是必须加在版本号后面的吗?
不是必须的。在 Spring Boot 早期版本中(如 1.x),通常会显式加上 RELEASE 后缀;而从 2.x 起,正式版本通常直接使用形如 2.7.5 的形式,不再附加 RELEASE。
2. 为什么有些版本状态是大写,有些是小写?
这是出于行业习惯的统一。从主流开源框架(如 Spring、Maven 等)来看,SNAPSHOT、RC 和 RELEASE 通常使用大写,而 alpha、beta 多使用小写,这种风格也逐渐成为事实标准。
3. 为什么版本状态前有时用 -,有时用 . 分隔?
这是参考 Spring Boot 的版本命名规范:
- 当版本状态为
RELEASE时,一般使用.作为分隔符,例如:1.2.6.RELEASE; - 当省略
RELEASE或使用其他状态(如beta、RC等)时,通常使用-作为分隔符,例如:1.2.6-RC、1.2.6-beta。