Apollo 配置中心发布 2.0 版本,支持 Java 17!
『 此次发布是 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 的 Release Note。 感谢以下贡献者对此版本的贡献(排名不分先后) @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 官方网站:https://www.apolloconfig.com/ Apollo 仓库地址:https://github.com/apolloconfig/apollo Apollo 公共邮箱:apollo-config@googlegroups.com