『 此次釋出是 Apollo 自 1.0.0 以來的又一次大版本更新,凝結了 39 位 Contributor 的貢獻,包含了諸如 Java 17 支援、唯一鍵索引增強、Spring Boot 版本升級等重大更新。』
1. Highlights
Java 17 支援
Apollo 使用者端和伺服器端均已支援 Java 8、11 和 17 版本。
公共 Namespace 列表頁
Apollo 主頁新增了公共 Namespace 列表檢視,使用者可以在此頁面上檢視和搜尋公共 Namespace。
灰度釋出支援標籤
灰度規則支援通過標籤來標識灰度的範例列表,適用於 IP 不固定的場景如 Kubernetes
設定匯入匯出功能增強
批次設定匯入匯出功能進行了重新設計並增強。
每個 Namespace 下現也已支援單獨匯入和匯出。
唯一鍵索引
由於軟刪除的設計,Apollo 之前版本的資料庫除主鍵外沒有唯一鍵約束,在一些並行的情況下可能會遇到重複資料的問題。基於 2.0.0 版本新增的 DeletedAt 列,我們為大多數表都增加了唯一索引。
Spring Boot 和 Spring Cloud 版本升級
Apollo 伺服器端的 Spring Boot 和 Spring Cloud 分別升級到了 2.6.6 和 2021.0.1 版本。
不相容更新
apollo-client 從 2.0.0 版本開始不再支援 Java 1.7 版本,最低的 Java 執行時環境是 1.8。
2. What's Changed
功能增強
-
switch apollo.config-service log from warning to info level by @lonre
-
Make Access Key Timestamp check configurable by @nisiyong
-
refactor: let open api more easier to use and development by @Anilople
-
feat(scripts): use bash to call openapi by @Anilople
-
support search by item by @lepdou
-
feature: implement password policies to avoid weak passwords by @WillardHu
-
public namespace basic function by @youabcd
-
Extend the gray release capability to support dimensions other than IP by @zcy1010
-
bump to 2.0.0 and drop java 1.7 support by @nobodyiam
-
feat: add a shortcut to scroll to the top in the dashboard by @NICEXAI
-
change scrollbar css by @zeemood
-
support java 17 by @nobodyiam
-
optimize navbar style by @lepdou
-
add language.png icon by @lepdou
-
support export import config by env by @lepdou
-
support only show difference keys when compare namespace by @lepdou
-
add zookeeper service discovery support(#3557) by @CalebZYC
-
bump guava version to 31.0.1 by @Shoothzj
-
Bump client springboot version by @Shoothzj
-
The release history of namespaces that are not properties will also show comments and release times by @klboke
-
Allow disable apollo client cache by @Shoothzj
-
feature: isCommonlyUsed password check not hardcoded #4018 by @WillardHu
-
canonical zh-cn text by @lepdou
-
optimize create namespace page by @lepdou
-
Add Ordered interface to ProviderManager SPI by @darcydai
-
Bump xstream from 1.4.18 to 1.4.19 by @dependabot
-
Using commons-lang3 to replace commons-lang by @ruanwenjun
-
optimize import/export config by @lepdou
-
Configure publish and rollback modal boxes to add scrollbars by @klboke
-
add custom define discovery by @gy09535
-
Refactor the soft delete design by @nisiyong
-
upgrade spring boot to 2.6.6 and spring cloud to 2021.0.1 by @nobodyiam
-
upgrade mysql-connector-java to 8.0.28 by @Anilople
-
Upgrade flyway to 8.0.5 by @Shoothzj
-
Broadcast ConfigChangeEvent using Spring ApplicationEvent @nobodyiam
問題修復
-
Fix issue that the $ symbol is not used when reading shell variables by @ReganHe93
-
Fix issue: ingress syntax by @lijiansgit
-
fix helm scripts BUG by @w-a-n-g-s-h-u-n
-
Catch LinkageError for ClassLoaderUtil.isClassPresent in case class is present but is failed to load by @nobodyiam
-
fix gray publish refresh item status(#4039) by @CalebZYC
-
Fix the issue that property placeholder doesn't work for dubbo reference beans by @lonre
-
Fix the NPE occurred when using EnableApolloConfig with Spring 3.1.1 by @nobodyiam
-
fix the json number display issue when it's longer than 16 by @CalebZYC
-
fix update user password failure bug by @lepdou
-
Fix bug: associated namespace display incorrect in text view by @darcydai
-
fix import config bug by @lepdou
-
fix the potential data inconsistency issue by @nobodyiam
-
use item.isDeleted to check whether the item is deleted by @nobodyiam
-
Fix the apollo portal start failed issue by @nobodyiam
其它更新
-
remove ctrip profile by @JaredTan95
-
Remove spring dependencies from internal code by @klboke
-
remove ctrip profile dependency. by @Accelerator96
-
fix gpg signing issues when deploying to maven repository with github action by @nobodyiam
-
Fixed some code smells in apollo-portal module by @WillardHu
-
clean ctrip profile by @JaredTan95
-
Fixed some code smells in apollo-portal module #2 by @WillardHu
-
fix NullPointerException hazard in StringUtils.join(..) method by @WillardHu
-
Replace String.format() with newly created class OpenApiPathBuilder by @WillardHu
-
Make the constructor of AbstractApolloHttpException implementation class to support string template by @WillardHu
-
Removed useless hardcoded Strings in EnvUtils. by @DiegoKrupitza
-
chore: Simplified the Env class in apollo-portal that links to Env enum in apollo-core by @DiegoKrupitza
-
Chore: Future-proofed ConfigFileFormat by @DiegoKrupitza
-
ConfigFileFormat#Properties are now fully compatible with themselves by @DiegoKrupitza
-
Fix flaky test testGetPropertyNames. by @yyfMichaelYan
-
Fix flaky test testAssembleQueryConfigUrl. by @yyfMichaelYan
-
Update RelativeDateFormat.java by @xuxiawei
-
chore: change 'ctripcorp' to 'apolloconfig' in .yaml files by @void1104
-
Flaky test fields iteration order by @yyfMichaelYan
-
test(apollo-core): PropertiesUtilTest by @youyulan
-
optimization omits unnecessary time conversion by @xuxiawei
-
Split helm chart into another repo by @JaredTan95
-
refactor: SpringValueProcessor extract duplicate code by @mghio
-
build: ctripcorp -> apolloconfig in .github/workflows/cla.yml by @Fool-coder
-
Add unit tests for Utils by @joshknopp
-
Change Copy Right year to 2022 by @Shoothzj
-
Adding JUnit. Fixes #3874 by @ayush0407
-
Test coverage by @ayush0407
-
Test coverage by @ayush0407
-
Fix flaky test by @plzdoo
-
Update ReleaseMessageServiceWithCacheTest.java by @plzdoo
-
Translation of Apollo Official Chinese Document(s) by @misselvexu
-
fix a title indent error by @Alceatraz
-
Misc changes by @nobodyiam
-
feat: update secret access key tips by @weiyichao
-
Misc changes by @lepdou
更多內容可以檢視 2.0.0 的 。
感謝以下貢獻者對此版本的貢獻(排名不分先後)
@ReganHe93 @lonre @JaredTan95 @nisiyong @klboke @Accelerator96 @nobodyiam @lijiansgit @WillardHu @Anilople @lepdou @DiegoKrupitza @youabcd @zcy1010 @NICEXAI @zeemood @w-a-n-g-s-h-u-n @yyfMichaelYan @xuxiawei @void1104 @youyulan @CalebZYC @mghio @Fool-coder @Shoothzj @joshknopp @darcydai @dependabot @ruanwenjun @gy09535 @ayush0407 @czd890 @pengweiqhca @sy-records @dazuimao1990 @plzdoo @misselvexu @Alceatraz @weiyichao
歡迎加入我們
Apollo 社群歡迎大家以任何形式為社群做出貢獻,包括但不限於檔案改進、提交 issue/bug、貢獻程式碼、Review PR、技術討論等,一起促進開源生態的發展。
-
Apollo 官方網站:
-
Apollo 倉庫地址:
-
Apollo 公共郵箱:[email protected]