Apollo Configuration Center released version 2.0, supporting Java 17!

"This release is another major version update of Apollo since 1.0.0, condensing the contributions of 39 Contributors, including major updates such as Java 17 support, unique key index enhancements, and Spring Boot version upgrades.

1. Highlights

Java 17 support

Both Apollo client and server already support Java 8, 11 and 17 versions.

Public Namespace Listing Page

A new Public Namespace list view has been added to the Apollo home page, where users can view and search public Namespaces.

Grayscale Publishing Support Tags

Grayscale rules support to identify grayscale instance lists by labels, which are suitable for scenarios where IP is not fixed, such as Kubernetes

Configuration import and export function enhancements

The bulk configuration import and export functionality has been redesigned and enhanced.

Separate import and export are now also supported under each Namespace.

unique key index

Due to the design of soft delete, the database of previous versions of Apollo has no unique key constraint except for the primary key, and may encounter the problem of duplicate data in some concurrent situations. Based on the new DeletedAt column in version 2.0.0, we have added unique indexes to most tables.

Spring Boot and Spring Cloud version upgrade

Spring Boot and Spring Cloud on the Apollo server have been upgraded to version 2.6.6 and 2021.0.1 respectively.

Incompatible update 

apollo-client no longer supports Java version 1.7 since version 2.0.0, and the minimum Java runtime environment is 1.8.

2. What's Changed

function enhancement

  • 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

bug fix

  • 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

other updates

  • 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

For more information, see the Release Note of 2.0.0 .

Thanks to the following contributors for their contributions to this release (in no particular order)

@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

Welcome to join us

The Apollo community welcomes everyone to contribute to the community in any form, including but not limited to document improvement, issue/bug submission, code contribution, review PR, technical discussions, etc., to promote the development of the open source ecosystem together.

Guess you like

Origin www.oschina.net/news/195951/apollo-2-0-released