Skip to content

Apollo 2.0.0 Release

Compare
Choose a tag to compare
@nobodyiam nobodyiam released this 12 May 01:16
· 224 commits to master since this release

Highlights

Java 17 Support

Apollo now supports Java Runtime Environment 8, 11, and 17 for both clients and servers.

Public Namespaces List View

A public namespaces list view is added to the apollo homepage, users could now view and search public namespaces.

image

Grayscale Label Support

Grayscale rules now support matching with labels for scenarios where IP is not fixed, e.g. Kubernetes.
For more information on how to use this feature, please refer apollo user guide.

image

Enhanced Config Export/Import

The batch config export/import feature is enhanced.

image

The export/import feature is also enabled for each namespace.

image

Unique Constraint Index

Previously, Apollo doesn't have unique constraint indices due to the soft delete design. However, there might be problems in concurrent situations. With the new DeletedAt columns, unique indices are added for most of the tables. There are some manual steps for existing users to upgrade.

Breaking Changes

As was discussed in #3896, apollo-client drops java 1.7 support since the 2.0.0 release. The minimum Java runtime environment is 1.8(for both client and server).

What's Changed

Features

Bug fixes

  • Fix issue that the $ symbol is not used when reading shell variables by @ReganHe93 in #3890
  • Fix issue: ingress syntax by @lijiansgit in #3933
  • fix helm scripts BUG by @w-a-n-g-s-h-u-n in #4054
  • Catch LinkageError for ClassLoaderUtil.isClassPresent in case class is present but is failed to load by @nobodyiam in #4097
  • fix gray publish refresh item status(#4039) by @CalebZYC in #4128
  • Fix the issue that property placeholder doesn't work for dubbo reference beans by @lonre in #4175
  • Fix the NPE occurred when using EnableApolloConfig with Spring 3.1.1 by @nobodyiam in #4180
  • fix the json number display issue when it's longer than 16 by @CalebZYC in #4183
  • fix update user password failure bug by @lepdou in #4212
  • Fix bug: associated namespace display incorrect in text view by @darcydai in #4219
  • fix import config bug by @lepdou in #4262
  • fix the potential data inconsistency issue by @nobodyiam in #4256
  • use item.isDeleted to check whether the item is deleted by @nobodyiam in #4279
  • Fix the apollo portal start failed issue by @nobodyiam in #4298

Misc

Installation

Please refer Distributed Deployment Guide.

How to upgrade from v1.9.x to v2.0.0

Important Note: 2.0.0 release adds unique indices for most of the tables by adding DeletedAt columns, so there are some manual steps to do:

  1. Check whether there are duplicate dirty data in your database(optional)
    1. Please refer the Scripts to check whether there is any duplicate data section in PR #3866
  2. Apply the first part of the schema changes to ApolloConfigDB and ApolloPortalDB
    1. Apply apolloconfigdb-v190-v200.sql to ApolloConfigDB and apolloportaldb-v190-v200.sql to ApolloPortalDB
    2. Flyway users could run the following maven commands instead
      1. mvn -N -Pconfigdb -Dflyway.target=2.0.0 flyway:migrate
      2. mvn -N -Pportaldb -Dflyway.target=2.0.0 flyway:migrate
  3. Upgrade apollo-configservice
  4. Upgrade apollo-adminservice
  5. Upgrade apollo-portal
  6. Add unique indices to ApolloConfigDB and ApolloPortalDB
    1. Apply apolloconfigdb-v190-v200-after.sql to ApolloConfigDB and apolloportaldb-v190-v200-after.sql to ApolloPortalDB
    2. Flyway users could run the following maven commands instead
      1. mvn -N -Pconfigdb flyway:migrate
      2. mvn -N -Pportaldb flyway:migrate
    3. In case you want to rollback the unique indices, you could refer the Scripts to rollback the unique indices section in PR #3866

New Contributors