常见版本后缀及其含义
本篇大部分为 AIGC 生成, 没啥营养, 用于查表.
因为我平时 release 都是不带后缀的, 嘎嘎发, 稳定不稳定都发没后缀的 =-=
这应该不算好习惯
预览
以下是常见的版本后缀及其使用场景:
后缀 | 含义 | 稳定性 | 使用场景 |
---|---|---|---|
alpha | Alpha 测试版 | 极不稳定 | 内部测试,功能不完整 |
beta | Beta 测试版 | 较不稳定 | 公开测试,功能基本完整 |
rc | 发布候选版 | 接近稳定 | 最终测试,接近正式发布 |
preview | 预览版 | 较不稳定 | 提前体验新功能 |
dev | 开发版 | 极不稳定 | 开发者内部使用 |
snapshot | 快照版 | 极不稳定 | 特定时间点代码测试 |
pre | 预发布版 | 不稳定 | 泛指测试阶段 |
milestone | 里程碑版 | 视情况而定 | 标记开发进度 |
nightly | 夜间构建版 | 极不稳定 | 每日构建,早期测试 |
canary | 金丝雀版 | 较不稳定 | 小范围测试新功能 |
experimental | 实验版 | 极不稳定 | 测试新想法或技术 |
stable | 稳定版 | 稳定 | 正式发布,生产环境可用 |
具体用法
语义化版本(Semantic Versioning)是一种常见的版本号规范,格式为 MAJOR.MINOR.PATCH
(例如 2.0.1
),并允许在后面加上预发布标签(pre-release tag)和构建元数据(build metadata)。预发布标签用连字符(-
)分隔,例如:
2.0.1-rc.1
:表示 2.0.1 的第一个发布候选版。2.0.0-beta.2
:表示 2.0.0 的第二个 beta 版本。
在 SemVer 中,预发布版本的优先级低于正式版本。例如:
2.0.0-alpha.1
<2.0.0-beta.1
<2.0.0-rc.1
<2.0.0
常见版本后缀及其含义
版本后缀通常用于表示软件的开发阶段,尤其是在正式发布前的测试阶段。这些后缀遵循一定的语义化版本(Semantic Versioning, SemVer)规则,或者是行业惯例。
rc (Release Candidate)
- 含义:发布候选版。表示该版本是接近正式发布的候选版本,通常已经完成了主要功能的开发,进入最终测试阶段,主要修复 bug。如果没有重大问题,
rc
版本可能会直接成为正式版本。 - 示例:
v2.0.1rc1
(第一个发布候选版) - 阶段:接近正式发布,可能还有小问题。
- 含义:发布候选版。表示该版本是接近正式发布的候选版本,通常已经完成了主要功能的开发,进入最终测试阶段,主要修复 bug。如果没有重大问题,
alpha
- 含义:alpha 版本是软件开发中的早期测试版本,通常功能尚未完整,存在较多 bug,仅用于内部测试或核心用户反馈。
- 示例:
v2.0.0-alpha.1
(第一个 alpha 版本) - 阶段:功能开发初期,极不稳定。
beta
- 含义:beta 版本是 alpha 之后的测试版本,功能基本完整,但仍有 bug 和不稳定性。常用于公开测试,收集用户反馈。
- 示例:
v2.0.0-beta.2
(第二个 beta 版本) - 阶段:功能基本完成,测试中,稳定性中等。
preview
- 含义:预览版,通常是给用户或开发者提前体验新功能的版本,可能不完整或不稳定。类似于 beta,但更强调“预览”而非“测试”。
- 示例:
v2.0.0-preview.1
- 阶段:接近 beta 或 rc,功能接近完成。
dev (Development)
- 含义:开发版,表示仍在开发中,非常不稳定,仅供开发者内部使用。
- 示例:
v2.0.0-dev.20231001
(带日期的开发版) - 阶段:开发初期或中间,功能不完整。
snapshot
- 含义:快照版,通常是从代码库中某个时间点的代码生成的版本,用于测试特定功能或状态,非常不稳定。
- 示例:
v2.0.0-snapshot.20231001
- 阶段:开发中,临时版本。
pre (Pre-release)
- 含义:预发布版,泛指任何正式发布前的版本,可能包含 alpha、beta 或 rc。
- 示例:
v2.0.0-pre.1
- 阶段:泛指测试阶段。
milestone
- 含义:里程碑版,表示达到某个开发目标的版本,通常用于项目管理中。
- 示例:
v2.0.0-milestone.1
- 阶段:开发中,标记重要进展。
nightly
- 含义:夜间构建版,通常是每天自动构建的版本,用于开发者或极早期测试者,非常不稳定。
- 示例:
v2.0.0-nightly.20231001
- 阶段:开发中,频繁更新。
canary
- 含义:金丝雀版,用于小范围测试新功能或修复,类似于 beta,但范围更小,风险更高。
- 示例:
v2.0.0-canary.1
- 阶段:测试新功能,风险高。
experimental
- 含义:实验版,表示包含实验性功能的版本,可能不稳定,仅供尝试新想法。
- 示例:
v2.0.0-experimental.1
- 阶段:测试新功能或技术。
stable
- 含义:稳定版,通常用于正式发布版本,表示经过充分测试,适合生产环境使用。虽然不是预发布后缀,但有时会显式标注。
- 示例:
v2.0.0-stable
- 阶段:正式发布。