從 Spring Cloud 2020.0.0-M1 開始,Spring Cloud 廢除了這種英國倫敦地鐵站的命名方式,而使用了全新的 “日曆化” 版本命名方式。
官宣如下:
https://spring.io/blog/2020/04/17/spring-cloud-2020-0-0-m1-released
什麼是日曆化版本?
java 框架專案案例:www.fhadmin.cn 英文名稱:Calendar Versioning
日曆化版本不是基於任意的數字,而是基於專案的釋出日期的版本控制約定,隨著時間的推移,版本會越來越好。
這種基於日期的版本命名方式被稱為 “日曆化版本”(Calendar Versioning), 或者可以簡稱 CalVer。
詳細的介紹參考:
我們來看下 Spring Cloud 是如何開始使用日曆化版本的。
Spring Cloud 使用了 YYYY.MINOR.MICRO
的命名規則:
- YYYY:表示 4 位年份;
- MINOR:代表一個遞增的數字,每年以 0 開始遞增;
- MICRO:代表版本號字尾,就和之前使用的
.0
類似於.RELEASE
一樣,.2
類似於.SR2
。
預釋出版本的字尾分隔符也從 .
變更為 -
,如:2020.0.0-M1
和 2020.0.0-RC2
命名所示。
同時,Spring Cloud 將停止給快照版本新增 BUILD-
字首,如:2020.0.0-SNAPSHOT
命名所示。
但是,英國倫敦地鐵站的命名沒有徹底廢除,Spring Cloud 將繼續使用它作為版本代號,當前代號:Ilford
,只是釋出到 Maven 倉庫的版本將不再使用這些名稱。
最後就再來欣賞下 Maven 下的 Spring Cloud 新老版本號命名方式:
老版本命名:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR6</version>
<type>pom</type>
<scope>runtime</scope>
</dependency>
新版本命名:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2020.0.0-M2</version>
<type>pom</type>
<scope>runtime</scope>
</dependency>
使用日曆化版本命名方式,我個人覺得會更方便,可以更清楚的看出當前版本的年份,看到字母、純數字方式的版本號都不知道自己多久沒升級了。
本作品採用《CC 協議》,轉載必須註明作者和本文連結