項目版本號管理說明

簡介

在使用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就會有:

  1. Mainline version:Mainline 是 Nginx 目前正在做的版本
  2. Stable version:最新穩定版,生產環境上建議使用的版本
  3. Legacy versions:遺留的老版本的穩定版

NGINX下載

GA(General Availability)

正式發佈的版本,如:

<dependency>
    <groupId>org.javassist</groupId>
    <artifactId>javassist</artifactId>
    <version>3.28.0-GA</version>
</dependency>

版本號說明

規範的項目的軟件版本號分3段:主版本號.次版本號.修訂號(MAJOR.MINOR.PATCH)

  1. 主版本號(major):做了不兼容的 API 修改,
  2. 次版本號(minor):做了向下兼容的功能性新增
  3. 修訂號(patch):做了向下兼容的問題修正,只要有修改就增加

版本號規範

版本號規範中文

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章