Skip to content
Compare
Choose a tag to compare

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

a882f3e
Compare
Choose a tag to compare

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

Compare
Choose a tag to compare

Enhancements

  • Update xstream version to 1.4.18 #4177

Bug fixes

  • Fix the issue that property placeholder doesn't work for dubbo reference beans #4161 #4169
  • Fix the NPE occurred when using EnableApolloConfig with Spring 3.1.1 #4179
  • Catch LinkageError for ClassLoaderUtil.isClassPresent in case class is present but is failed to load #4187

Credits

@lonre @nobodyiam

Installation

Please refer Distributed Deployment Guide

How to upgrade from v1.9.1 to v1.9.2

There is no schema change between v1.9.1 and v1.9.2
So simply deploy v1.9.2 executables with the following sequences:

  1. apollo-configservice
  2. apollo-adminservice
  3. apollo-portal
Compare
Choose a tag to compare

Bug fixes

  • Remove spring dependencies from internal code #3937
  • Fix issue: ingress syntax #3933

Credits

@klboke @lijiansgit

Installation

Please refer Distributed Deployment Guide

How to upgrade from v1.9.0 to v1.9.1

There is no schema change between v1.9.0 and v1.9.1
So simply deploy v1.9.1 executables with the following sequences:

  1. apollo-configservice
  2. apollo-adminservice
  3. apollo-portal
772d2fa
Compare
Choose a tag to compare

Enhancements

  • Extend DataChange_CreatedBy, DataChange_LastModifiedBy from 32 to 64. #3552
  • Add spring configuration metadata. #3553
  • Slim configservice/adminservice/portal docker image size. #3572
  • Add network strategy guideline to docker quick start. #3574
  • Support for consul service discovery. #3575
  • Replace http client implementation with interface in apollo client. #3594
  • Allow users to inject customized instance via ApolloInjectorCustomizer. #3602
  • Upgrade com.thoughtworks.xstream#xstream version to 1.4.17. #3611
  • Localize css to speed up the loading of google fonts. #3660
  • Solve ConfigService startup exception. #3679
  • Apollo-Client Remove redundant invoke of trySyncFromUpstream. #3699
  • Apollo-Client add method interestedChangedKeys to ConfigChangeEvent. #3666
  • Use queue#take instead of poll. #3765
  • Support Spring Boot config data loader. #3754
  • Add get authorized apps openapi. #3647
  • Use db/redis for share login session to support mutil portal instance. And make db mode for default. #3786 #3869
  • Add email for select user on apollo portal. #3797
  • Set default session store-type. #3812
  • Add the delegating password encoder for apollo-portal simple auth. #3804
  • Support release apollo-client-config-data in github workflow. #3822
  • Apollo-Client reduce bootstrap time in the situation with large properties by cache property source. #3816
  • Use official docker images for manual kubernetes deployment. #3840
  • Add history details for not key-value type of namespace. #3856
  • Apollo-Client lazy load ConfigUtil. #3864
  • Public namespace support different formats. #3836 #3871
  • Translate application into 应用 not 项目. #3877
  • Support search by item key for commit. #3878 #3894
  • Apollo-Client polish log. #3882

Bug fixes

  • Fix the issue that apollo portal won't start when ldap is enabled and optimize ldap samples.#3561
  • Fix load front resource 404 when auth disabled and configure cotext-path. #3609
  • Fix access key doesn't work if appid passed is in different case. #3627
  • Fix oidc logout with context-path. #3628
  • Fix and optimize unit test. #3667 #3668 #3669
  • Fix the problem that the loading log of Apollo cannot be output when the log system is not initialized. #3677
  • Fix oidc sql. #3720
  • Fix item comment valid size to 256. #3803
  • Fix possiable NPE. #3832
  • Fix release messages might be missed in certain scenarios. #3819
  • Fix size of create project button. #3849
  • Fix show-text-modal.html number display. #3851

Credits

@vdisk-group @nobodyiam @finchcn @klboke @Loading-Life @Anilople @Technoboy- @chengasd @lonre @wilsonwu @CalebZYC @lepdou @dake0805 @Accelerater

Installation

Please refer Distributed Deployment Guide

How to upgrade from v1.8.x to v1.9.0

  1. Apply apolloconfigdb-v180-v190.sql to ApolloConfigDB
  2. Apply apolloportaldb-v180-v190.sql to ApolloPortalDB
  3. Deploy v1.9.0 executables with the following sequences:
    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
Compare
Choose a tag to compare

This release includes the following fix.

  • update xstream to 1.4.17 #3692

Installation

Please refer Distributed Deployment Guide

How to upgrade from v1.8.1 to v1.8.2

There is no schema change between v1.8.1 and v1.8.2
So simply deploy v1.8.2 executables with the following sequences:

  1. apollo-configservice
  2. apollo-adminservice
  3. apollo-portal
Compare
Choose a tag to compare

This release includes the following fix.

  • Fix the issue that apollo portal won't start when ldap is enabled. #3561

Installation

Please refer Distributed Deployment Guide

How to upgrade from v1.8.0 to v1.8.1

There is no schema change between v1.8.0 and v1.8.1
So simply deploy v1.8.1 executables with the following sequences:

  1. apollo-configservice
  2. apollo-adminservice
  3. apollo-portal
Compare
Choose a tag to compare

Enhancements

  • Extend the length of AppId from 32 to 64 characters. #3228
  • Add webhook notification support for configuration releases #3235
  • Optimizing opening a namespace with lots of commits #3258
  • Add ingress support for config service and admin service #3324
  • Support resolving namespace placeholder values in annotation and xml config #3349
  • Support customizing server.properties location #3401
  • Add smtp email support #3415
  • Enhance the user experience in the scenario of submitting duplicate keys #3429
  • Add nacos service discovery support #3447
  • Switch off console appenders when running as backend services #3488
  • Upgrade spring-boot to 2.4.2 and spring-cloud to 2020.0.1 #3507
  • Add openid connect auth support for apollo-portal #3534

Bug fixes

  • Fix build.sh warning by shellcheck #3294
  • Adapt to the scenario that the ConfigService sets context-path #3320
  • Fix imagePullSecrets indent issue in helm chart #3336
  • Fix potential xss issue with user id #3340
  • Fix potential data inconsistency issue #3341
  • Fix the issue that the wrong port is used when db service is not enabled in helm chart #3385
  • Rename default git.properties to apollo.git.properties to avoid potential conflict #3390
  • Return null when EmptyResultDataAccessException occurred for ldap scenarios #3430
  • Use exec to start the java process when APOLLO_RUN_MODE is Docker #3458

Credits

Thanks for everyone who contributed to this release!

@Anilople @Ayden-Franklin @changfubai @CoolDarran @HuangSheng @JaredTan95 @jiangcaijun @kezhenxu94 @klboke @nisiyong @nobodyiam @Q-RK @vdisk-group @waters00 @WisWang @xiagw @ywf4026

Installation

Please refer Distributed Deployment Guide

How to upgrade from v1.7.x to v1.8.0

  1. Apply apolloconfigdb-v170-v180.sql to ApolloConfigDB
  2. Apply apolloportaldb-v170-v180.sql to ApolloPortalDB
  3. Deploy v1.8.0 executables with the following sequences:
    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
Compare
Choose a tag to compare

This release includes the following fix.

  • update xstream to 1.4.15 #3524

Installation

Please refer 分布式部署指南

How to upgrade from v1.7.1 to v1.7.2

There is no schema change between v1.7.1 and v1.7.2
So simply deploy v1.7.2 executables with the following sequences:

  1. apollo-configservice
  2. apollo-adminservice
  3. apollo-portal
Compare
Choose a tag to compare

This release includes the following enhancement.

  • add access control support for admin service #3233
    • thanks @lllllx for pointing out this potential security issue

Installation

Please refer 分布式部署指南

How to upgrade from v1.7.0 to v1.7.1

There is no schema change between v1.7.0 and v1.7.1
So simply deploy v1.7.1 executables with the following sequences:

  1. apollo-configservice
  2. apollo-adminservice
  3. apollo-portal