Skip to content

Releases: apolloconfig/apollo

Apollo 2.2.0 Release

10 Dec 11:14
Compare
Choose a tag to compare

Highlights

Support for H2 Database

Apollo now supports the H2 database, ideal for rapid deployment scenarios. For further details, refer to PR #4851.

Release Histories Retention

Users can now adjust how many release histories to keep for each namespace, reducing the risk of too many histories overloading the database. For more info, please see the documentation.

Log Directory Relocated to /opt/logs

The log files for Apollo ConfigService, AdminService, and Portal are now all in /opt/logs, instead of in separate folders like /opt/logs/10003171, /opt/logs/10003172, and /opt/logs/10003173.

Create Applications with OpenAPI

Open API consumer tokens now include a flag indicating permission to create applications. When set to 'yes', users are enabled to create applications using the consumer token through the Open API.

image

Grayscale Functionality for Non-Properties Namespaces

Grayscale release is now enabled for non-properties namespaces, such as YAML and JSON.

Audit Log for Administrators

Administrators now have access to detailed audit logs via the Audit Log feature located in the Admin Tools section.

image

image

What's Changed

  • fix: PULL_REQUEST_TEMPLATE.md old url by @weiyichao in #4726
  • bump version to 2.2.0-SNAPSHOT by @nobodyiam in #4721
  • Fix apolloconfigdb.sql apolloportaldb.sql AppId length settings are inconsistent by @weiyichao in #4725
  • Bump springcloud springboot version to solve cve problems by @shoothzj in #4712
  • add a note to reboot to make the config effective by @nobodyiam in #4740
  • docs: how to custom service uri when use database-discovery by @Anilople in #4743
  • Bump h2 version to 2.x, consistent with springboot by @shoothzj in #4745
  • mysql-connector-java has been renamed to mysql-connector-j by @shoothzj in #4748
  • Bump springboot version from 2.7.8 to 2.7.9 by @shoothzj in #4750
  • [Multi-Database Support] Without Reliance on globally_quoted_identifiers Variable by @shoothzj in #4749
  • Change Copy Right year to 2023 by @shoothzj in #4753
  • [Multi-Database Support] Remove unused datasource configs by @shoothzj in #4754
  • [Multi-Database Support] Without Reliance on boolean integer compare by @shoothzj in #4757
  • [Multi-Database Support] Move mysql specify config to github profile by @shoothzj in #4760
  • [Multi-Database Support] package postgre h2 dependency] by @shoothzj in #4763
  • Make ConfigsExportServiceTest support windows by @shoothzj in #4765
  • [Multi-Database Support] Optimize table case sensitivity by @shoothzj in #4768
  • Fix OIDC logout unnecessary redirect by @vdiskg in #4773
  • [Multi-Database Support] Introduce h2 postgre profile properties to let user config database config by @shoothzj in #4766
  • [Multi-Database Support] Optimize column define case sensitivity by @shoothzj in #4776
  • [Multi-Database Support][pg] Where clause need escape, otherwise will request postgre use lowwer case by @shoothzj in #4780
  • style: change homepage leftbar font color by @nisiyong in #4781
  • Update the documentation description for "config-service.cache.enabled" by @klboke in #4785
  • [dependecy] misc dependency updates by @shoothzj in #4784
  • Remove unused travis profile by @shoothzj in #4788
  • Optimising ServiceRegistry creation SQL by @klboke in #4792
  • Remove unused testing log config by @shoothzj in #4789
  • Fix the problem that the deletion failure of the system rights management page does not prompt by @klboke in #4803
  • Fix the issue of the system permission management page retrieving non-existent users. by @klboke in #4802
  • add version notice for other service registry support by @nobodyiam in #4786
  • Refining the configs interface documentation by @klboke in #4804
  • remove unused propery ctrip.appid by @shoothzj in #4795
  • Optimize the logic of DatabaseMessageSender. by @klboke in #4809
  • Improve the documentation for the config-service.cache.enabled configuration property. by @klboke in #4810
  • Refactor the createCommit method by @klboke in #4811
  • Refactor NotFoundException、BadRequestException by @klboke in #4812
  • [Multi-Database Support][pg] Make JdbcUserDetailsManager compat with postgre by @shoothzj in #4790
  • Add release history cleaning function by @klboke in #4813
  • Remove the usage of Env.name() using Env.getName() by @shoothzj in #4816
  • [doc] Refresh the quick-start script link by @shoothzj in #4819
  • [Clean code] Remove unused imports by @shoothzj in #4825
  • Correct the test semantics of the test case in ItemSetControllerTest by @klboke in #4823
  • Refactor the code related to ReleaseMessage by @klboke in #4822
  • refactor(apollo-biz): Use constructor injection instead of field injection by @klboke in #4826
  • Fix the issue of case sensitivity when matching keys with cache enabled by @klboke in #4820
  • Remove the slf4j-api version define by @shoothzj in #4838
  • refactor(apollo logging): Simplify the default log path to /opt/logs by @klboke in #4833
  • feat: check port use by another process or not when startup by @Anilople in #4656
  • Bump springboot from 2.7.9 to 2.7.11 by @shoothzj in #4828
  • [Multi-Database Support][h2] Support run on h2 by @shoothzj in #4851
  • add Shoothzj as a new committer by @nobodyiam in #4865
  • docs:deployment-architecture by @jiaoningbo in #4876
  • Fix the issue that env special case handling is missing in some case by @nobodyiam in #4887
  • docs: polish secret key implementation description by @nisiyong in #4897
  • add ai qa bot by @nobodyiam in #4908
  • Fix the issue that clear content when paste the same content in namespace by @BlueSodaWater in #4922
  • fix the issue that the ai qa bot could not be accessed with http by @nobodyiam in #4923
  • upgrade docsify version to fix potential xss vulnerability by @nobodyiam in #4939
  • Add CodeQL workflow by @jorgectf in #4924
  • feat(openapi): allow user create app via openapi by @Anilople in #4954
  • Support grayscale feature for non-properties namespaces(#4316) by @ywy-github in #4952
  • fix button value and diff code by @ywy-github in #4981
  • fix image path error by @klboke in #4979
  • fix flaky test issue 4997 by @ThugJudy in #4998
  • feat: Add apollo audit log common solution backend by @BlackBear2003 in #4985
  • Apply audit log functions to portal using audit-log module by @BlackBear2003 in #5008
  • build(deps): bump ch.qos.logback:logback-classic from 1.2.0 to 1.3.12 by @dependabot in #5026
  • Fix method reflection bug by @BlackBear2003 in #5030
  • rename the init.h2.sql to avoid loading wrong files in quick start mode by @nobodyiam in https://github.com/apol...
Read more

Apollo 2.1.0 Release

01 Feb 12:06
60bd514
Compare
Choose a tag to compare

Highlights

Admin Tools Enhancement

User management enhancement
The user management page now has a list view of all users and administrators can easily find a specific user to edit.
image

System configuration enhancement
The system configuration page now has a list view of all configuration items of PortalDB as well as ConfigDB. Administrators can easily find a specific configuration item to edit.

image

image

Open platform authorization management enhancement
The open platform authorization management page now has a list view of third-party apps and administrators can easily find a specific app to grant permission.
image

Basic Types for Item

Users can now config the types of the item and apollo would do a basic type check based on the type.
The types available now are String(default), Number, Boolean, and JSON.
image

Non-properties Namespaces Comparison Feature

The comparison feature for non-properties namespaces is now available.
image

Support Database as the Service Registry for apollo-configservice and apollo-adminservice

Apollo now supports the use of database as the service registry, without relying on a third-party service registry such as eureka.
See database-discovery for more information.

What's Changed

Features

  • Optimize Spring-Security Firewall Deny Request Response 400 by @klboke in #4428
  • Allow users to associate multiple public namespaces at a time by @falser101 in #4437
  • Optimize the UI experience of open platform authorization management by @klboke in #4436
  • Add search key when comparing Configuration items by @falser101 in #4459
  • Add a new API to load items with pagination by @mghio in #4468
  • A user-friendly user management page for apollo portal by @zcy1010 in #4464
  • Switching spring-session serialization mode to json for compatibility with spring-security version updates by @klboke in #4484
  • Sort Namespaces acquired by multiple threads by @klboke in #4500
  • Allow users to delete AppNamespace by @klboke in #4499
  • Add configuration processor for portal developers by @vdisk-group in #4521
  • Add a potential json value check feature by @AbnerHuang2 in #4519
  • Support non-properties-diff by @SunnyBoy-WYH in #4533
  • Add an option to custom oidc userDisplayName by @vdisk-group in #4507
  • Add basic type check for Item value by @furaul in #4542
  • A user-friendly config management page for apollo portal by @webSue in #4592
  • Support use database as a registry by @Anilople in #4595
  • Users can change spring.profiles.active's value without rebuild project by @Anilople in #4616
  • Enable login authentication for eureka by @nobodyiam in #4663
  • Portal-UI adds server config configuration management of ApolloConfigDB by @klboke in #4680

Bug fixes

  • Fix: occur a 400 error request when openapi key's parameter contain "a[0]" by @CalebZYC in #4424
  • Upgrade mysql-connector-java version to fix possible transaction rollback failure issue by @klboke in #4425
  • Fix 'openjdk:8-jre-alpine' potentially causing wrong number of cpu cores by @klboke in #4475
  • Fix overwrite JSON type configuration being empty by @falser101 in #4486
  • Fix deleted at timestamp by @nobodyiam in #4493
  • Fix openapi item with url illegalKey 400 error by @AbnerHuang2 in #4549
  • Fix @Transactional invalid cases by @ksice in #4551
  • Fix the exception occurred when publish/rollback namespaces with grayrelease by @nobodyiam in #4564
  • Fix a json serialization problem during LDAP integration by @klboke in #4556
  • Fix Apollo checks the yaml format interface Response Code = 500 by @klboke in #4567
  • Fix create namespace with single dot 500 error by @AbnerHuang2 in #4568
  • Fix(sec): upgrade fastjson to 1.2.83 by @ren-jq101 in #4587
  • Fix get the openapi interface that contains namespace information for deleted items by @CalebZYC in #4596
  • Disable spring cloud discovery when running test to speed up test process and reduce error log by @wutingjia in #4604
  • Fix Grayscale release Item Value length limit can not be synchronized with its main version by @David-zhang-beep in #4622
  • Fix the problem of deleting blank items appear at the end by @wanggang19 in #4662

Misc

  • Remove database migration tool Flyway by @nisiyong in #4361
  • Refactor: replace expired method by @zhangyangx in #4429
  • Some Redundancy Code Cleanup by @HeavenTonight in #4433
  • Refactor: Simplify the code by @zhangyangx in #4435
  • Chore: fix stargazer chart with star-history.com by @tianzhou in #4441
  • Clean up Ctrip related codes by @klboke in #4448
  • Clean up deserted travis ci config by @HeavenTonight in #4450
  • Move apollo-demo, scripts/docker-quick-start and scripts/apollo-on-kubernetes out of main repository by @nobodyiam in #4440
  • Optimize apolloconfigdb-v190-v200-after.sql by @klboke in #4470
  • Optimize performance of '/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces' interface queries by @klboke in #4473
  • Fix test case NamespaceServiceTest.testFindNamespace() by @klboke in #4491
  • Refactor(apollo-biz): simplify the code of ReleaseService by @mghio in #4502
  • Replace the deprecated SHA-1 algorithm for generating open-api token by @mghio in #4504
  • Refactor ItemSetService(updateSet Item) and ConfigChangeContentBuilder a little bit by @mghio in #4515
  • Refactor tryToGetClientIp method by @klboke in #4514
  • Fix transcation invalid by @ksice in #4509
  • Refactor: Simplify code by @mghio in #4524
  • Update apollo-introduction.md by @ddzyan in #4534
  • Add index for table ReleaseHistory by @mghio in #4550
  • Refactoring the message splicing of internal Exceptions by @klboke in #4571
  • Fix: add missing @OverRide annotation for ApolloEurekaClientConfig#getEurekaServerServiceUrls by @CalebZYC in #4575
  • Add overloaded shortcut method to register BeanDefinition by @liaozan in #4574
  • Docs: misspelled recommend by @llnancy in #4582
  • Docs: add a version notice in the Open API documentation by @mghio in #4585
  • Docs: add nodejs client sdk by @ChoGathK in #4590
  • Move apollo-core, apollo-client, apollo-mockserver, apollo-openapi and apollo-client-config-data to apollo-java repo by @nobodyiam in #4594
  • Fix doc bug by @lepdou in #4579
  • Fixes testUpdateBranchGrayRulesWithUpdateOnce by @ZhewenFu in #4599
  • Fix flaky test in apollo-biz by @anantdahiya8 in #4618
  • Docs: fix markdown code blocks by change 4 back quote to 3 back quote by @hxpdong in #4631
  • Refa...
Read more

Apollo 2.0.1 Release

04 Jun 06:13
Compare
Choose a tag to compare

What's Changed

Bug fixes

Misc

Installation

Please refer Distributed Deployment Guide.

How to upgrade from v2.0.0 to v2.0.1

There is no schema change between v2.0.0 and v2.0.1
So simply deploy v2.0.1 executables with the following sequences:

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

Apollo 2.0.0 Release

12 May 01:16
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

Read more

Apollo 2.0.0-RC1 Release

10 Apr 02:23
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

Read more

Apollo v1.9.2 release

01 Jan 04:36
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

Apollo v1.9.1 release

08 Sep 12:27
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

Apollo 1.9.0 Release

15 Aug 08:23
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

Apollo v1.8.2 release

30 May 00:59
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

Apollo v1.8.1 release

21 Feb 11:17
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