项目版本号管理说明
软件版本简介Alpha(α)Beta(β)RC(Release Candidate)StableGA(General Availability)简介在使用jar包的时候经常看到一些特殊版本,例如这次log4j的JNDI注入漏洞,发布的版本log4j-2.15.0-rc2这个rc2代表什么呢?Alpha(α)预览版,也叫内部测试版,一般不向外部发布,会有很多Bug,主要是内部人员用于测试。很多开源软
·
简介
在使用jar包的时候经常看到一些特殊版本,例如这次log4j的JNDI注入漏洞,发布的版本log4j-2.15.0-rc2
这个rc2代表什么呢?
Alpha(α)
预览版,也叫内部测试版,一般不向外部发布,会有很多Bug,主要是内部人员用于测试。
很多开源软件的大版本也会释放出来,让大家一起来找茬。
例如:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0-alpha1</version>
</dependency>
Beta(β)
测试版,也叫公开测试版,在 Alpha版之后推出。我们基本不会不会看到Alpha版本,但是很多开源软件会在其官网提供Beta版本。
同样是log4j-api的2.0版本释放了9个Beta版本:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0-beta9</version>
</dependency>
RC(Release Candidate)
最终测试版本,最终产品的候选版本,从名字也能看出来,是Release的候选者,如果没有发现新的Bug则发布成为正式版本。
多数开源软件会推出两个RC版本,最后的 RC2 则成为正式版本,例如,log4j-2.15.0-rc2最后就变成了正式的log4j-2.15.0版本。
当然rc不一定都对只有2个版本,例如:
<dependency>
<groupId>org.gradle</groupId>
<artifactId>gradle-core</artifactId>
<version>7.3-rc-5</version>
<scope>provided</scope>
</dependency>
Stable
稳定版,来自预览版本释出使用与改善而修正完成。
如Nginx就会有:
- Mainline version:Mainline 是 Nginx 目前正在做的版本
- Stable version:最新稳定版,生产环境上建议使用的版本
- Legacy versions:遗留的老版本的稳定版
GA(General Availability)
正式发布的版本,如:
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.28.0-GA</version>
</dependency>
版本号说明
规范的项目的软件版本号分3段:主版本号.次版本号.修订号(MAJOR.MINOR.PATCH)
- 主版本号(major):做了不兼容的 API 修改,
- 次版本号(minor):做了向下兼容的功能性新增
- 修订号(patch):做了向下兼容的问题修正,只要有修改就增加
更多推荐
已为社区贡献1条内容
所有评论(0)