Apollo 2.2.0 Release
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.
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.
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 #5034
- upgrade apollo-java version to 2.2.0 by @nobodyiam in #5036
- some misc fix by @nobodyiam in #5037
Installation
Please refer to the Distributed Deployment Guide.
How to upgrade from v2.1.0 to v2.2.0
- Apply apolloconfigdb-v210-v220.sql to ApolloConfigDB
- Apply apolloportaldb-v210-v220.sql to ApolloPortalDB
- Deploy v2.2.0 executables with the following sequences:
- apollo-configservice
- apollo-adminservice
- apollo-portal
New Contributors
- @jiaoningbo made their first contribution in #4876
- @BlueSodaWater made their first contribution in #4922
- @jorgectf made their first contribution in #4924
- @ywy-github made their first contribution in #4952
- @ThugJudy made their first contribution in #4998
- @BlackBear2003 made their first contribution in #4985