apollo 发布版本: Apollo v1.0.0 Release

This is a major release with several enhancements and bug fixes.

The biggest change with this release is apollo-client is now deployed to Maven Central Repository. Users could reference apollo-client as follows:

<dependency>
    <groupId>com.ctrip.framework.apollo</groupId>
    <artifactId>apollo-client</artifactId>
    <version>1.0.0</version>
</dependency>

General

  • Refactor meta server related logic so that apollo-core is common enough to go maven central repository. #1315
    • From 1.0.0 version, apollo-core.jar won't assemble apollo-env.properties anymore, so that we could freely deploy apollo client jars to maven central repository, which means a lot convenience for users to access apollo client jars.
    • However, for existing users, they can't upgrade apollo client jars to 1.0.0 version directly. Please check the instructions below.
  • Fix the data issue when some public app namespace is deleted and recreated in another app #1346

Apollo Client

  • Add ConfigChangeListener with optional interested keys #1328
  • Support setting apollo system properties via Spring Boot application.properties #1336

Installation

Please refer 分布式部署指南

How to upgrade Apollo servers from v0.11.0 to v1.0.0

There is no schema change between v0.11.0 and v1.0.0. So simply deploy v1.0.0 executables with the following sequences:

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

How to upgrade Apollo client from v0.11.0 to v1.0.0

  1. If existing users currently pass env and ${env}_meta at runtime, they could continue to do so with no impact.
  2. If existing users currently place apollo-env.properties in their classpath, they could continue to do so with no impact.
  3. If existing users assemble meta server addresses into apollo-core.jar, then there are several solutions:
    • Create a xx-company-apollo-client jar with apollo-env.properties in classpath and depends on apollo-client. Then ask the users to depend on xx-company-apollo-client jar instead of apollo-client. This might be the most tranparent way.
    • Ask the ops to configure apollo.meta in server.properties or os env APOLLO_META
    • Ask the user to configure apollo.meta by -Dapollo.meta=http://config-service-url or app.properties manually
    • Ask the user to put the apollo-env.properties in their projects' classpath
    • For more information on how to configure meta server address, please refer 1.2.2 Apollo Meta Server