版本发布 5
## What's Changed * Fix: include super admin in unified permission checks by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5566 ## Installation Please refer to the [Distributed Deployment Guide](https://www.apolloconfig.com/#/en/deployment/distributed-deployment-guide). ## How to upgrade from v2.5.0 to v2.5.1 There is no schema change between v2.5.0 and v2.5.1. So simply deploy v2.5.1 executables with the following sequences: 1. apollo-configservice 2. apollo-adminservice 3. apollo-portal **Full Changelog**: https://github.com/apolloconfig/apollo/compare/v2.5.0...v2.5.1
## Highlights ### Global Search for Key and Value Administrator users can now perform a global fuzzy search on the key and value of configuration items, making it easier to locate where the configuration is being used across applications, environments, clusters, and namespaces. See [Configuration queries (administrator privileges)](https://www.apolloconfig.com/#/en/portal/apollo-user-guide?id=_17-configuration-queries-administrator-privileges). ### Observer Mode for Application AccessKey Before officially enabling application keys, you can configure Application AccessKeys in observation mode to only log without intercepting configuration retrieval. ### Limitation on the Number of Namespaces and Configuration Items Users can now limit the number of namespaces and also the number of configuration items in a single namespace. See [Parameter settings for limiting the number of namespaces in the appld+cluster dimension](https://www.apolloconfig.com/#/en/portal/apollo-user-guide?id=_64-parameter-settings-for-limiting-the-number-of-namespaces-in-the-appldcluster-dimension) and [Limitation on the number of configuration items in a single namespace](https://www.apolloconfig.com/#/en/portal/apollo-user-guide?id=_65-limitation-on-the-number-of-configuration-items-in-a-single-namespace). ### Cluster-Level Permission Control Support Users can now configure editing and publishing permissions for namespaces based on cluster granularity. [Configuring permissions for different dimensions](https://www.apolloconfig.com/#/en/portal/apollo-user-guide?id=_123-configuring-permissions-for-different-dimensions). ## What's Changed * bump version to 2.4.0-SNAPSHOT by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5202 * update the server config link system info page by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5204 * feat: support portal restTemplate Client connection pool config by @youngzil in https://github.com/apolloconfig/apollo/pull/5200 * build(deps): bump com.mysql:mysql-connector-j from 8.0.32 to 8.2.0 by @dependabot in https://github.com/apolloconfig/apollo/pull/5217 * chore: beautify footer: github -> GitHub by @SnowOnion in https://github.com/apolloconfig/apollo/pull/5220 * 添加了管理员全局搜索Value值的功能 by @xiaoxianhjy in https://github.com/apolloconfig/apollo/pull/5182 * fix:Fixed link namespace published items show missing some items by @youngzil in https://github.com/apolloconfig/apollo/pull/5240 * solve the problem of duplicate comments and blank lines by @youngzil in https://github.com/apolloconfig/apollo/pull/5232 * feat: add determine appid+cluster namespace num limit logic by @youngzil in https://github.com/apolloconfig/apollo/pull/5228 * feat: add observe status access-key for pre-check and logging only (#5216) by @larry4xie in https://github.com/apolloconfig/apollo/pull/5236 * feat: add determine single namespace item num limit logic by @youngzil in https://github.com/apolloconfig/apollo/pull/5227 * feat: ConfigService cache record stats by @youngzil in https://github.com/apolloconfig/apollo/pull/5247 * fix:RefreshAdminServerAddressTask supports dynamic configuration of time interval by @youngzil in https://github.com/apolloconfig/apollo/pull/5248 * fix:Optimize the default log path configuration by @youngzil in https://github.com/apolloconfig/apollo/pull/5251 * refactor: Configuration files uniformly use Kebab style by @youngzil in https://github.com/apolloconfig/apollo/pull/5262 * [Docs]OSPP Support Kubernetes ConfigMap for Apollo java, golang client by @dyx1234 in https://github.com/apolloconfig/apollo/pull/5233 * feat: openapi query namespace support not fill item by @youngzil in https://github.com/apolloconfig/apollo/pull/5249 * refactor(sql): align database ClusterName and NamespaceName fields lengths by @youngzil in https://github.com/apolloconfig/apollo/pull/5263 * feat(biz): Added the value length limit function for AppId-level configuration items by @youngzil in https://github.com/apolloconfig/apollo/pull/5264 * chore: typo fix by @arrow1991 in https://github.com/apolloconfig/apollo/pull/5272 * fix: keep clusters order in envclusters openapi by @uucloud in https://github.com/apolloconfig/apollo/pull/5277 * Bump com.thoughtworks.xstream:xstream from 1.4.20 to 1.4.21 to fix CVE-2024-47072 by @nisiyong in https://github.com/apolloconfig/apollo/pull/5280 * Create quick-start-btpanel.md by @bestlaw66 in https://github.com/apolloconfig/apollo/pull/5274 * feat: highlight diffs for properties by @WTIFS in https://github.com/apolloconfig/apollo/pull/5282 * Feature/openapi rate limit function by @youngzil in https://github.com/apolloconfig/apollo/pull/5267 * feat: add JSON format button in apollo-portal by @WTIFS in https://github.com/apolloconfig/apollo/pull/5287 * add missing url patterns for AdminServiceAuthenticationFilter by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5291 * upgrade cache action version by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5297 * support java.time.Instant serialization with gson by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5298 * Code style-Optimize some code structures to improve readability by @youngzil in https://github.com/apolloconfig/apollo/pull/5293 * Add usage instructions for multiple appid in the Apollo client by @TerryLam2010 in https://github.com/apolloconfig/apollo/pull/5295 * typo: portal access admin service by @liubingyan127 in https://github.com/apolloconfig/apollo/pull/5305 * [Docs]OSPP-Add more observability in apollo config client by @Rawven in https://github.com/apolloconfig/apollo/pull/5229 * docs(charts): 更新 Helm chart 包和索引 by @lambda-hj in https://github.com/apolloconfig/apollo/pull/5310 * Feat(Auth): Authorization by Env Cluster by @BlackBear2003 in https://github.com/apolloconfig/apollo/pull/5302 * optimize: pre check dataChangeCreatedBy in updateItem by @k8scat in https://github.com/apolloconfig/apollo/pull/5316 * fix apollo-on-kubernetes link by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5317 * feat: Email notification when releasing by OpenAPI by @BlackBear2003 in https://github.com/apolloconfig/apollo/pull/5324 ## Installation Please refer to the [Distributed Deployment Guide](https://www.apolloconfig.com/#/en/deployment/distributed-deployment-guide). ## How to upgrade from v2.3.0 to v2.4.0 1. Apply [apolloconfigdb-v230-v240.sql](https://github.com/apolloconfig/apollo/blob/v2.4.0/scripts/sql/profiles/mysql-default/delta/v230-v240/apolloconfigdb-v230-v240.sql) to ApolloConfigDB 2. Apply [apolloportaldb-v230-v240.sql](https://github.com/apolloconfig/apollo/blob/v2.4.0/scripts/sql/profiles/mysql-default/delta/v230-v240/apolloportaldb-v230-v240.sql) to ApolloPortalDB 3. Deploy v2.4.0 executables with the following sequences: 1. apollo-configservice 2. apollo-adminservice 4. apollo-portal ## New Contributors * @youngzil made their first contribution in https://github.com/apolloconfig/apollo/pull/5200 * @SnowOnion made their first contribution in https://github.com/apolloconfig/apollo/pull/5220 * @xiaoxianhjy made their first contribution in https://github.com/apolloconfig/apollo/pull/5182 * @dyx1234 made their first contribution in https://github.com/apolloconfig/apollo/pull/5233 * @arrow1991 made their first contribution in https://github.com/apolloconfig/apollo/pull/5272 * @uucloud made their first contribution in https://github.com/apolloconfig/apollo/pull/5277 * @bestlaw66 made their first contribution in https://github.com/apolloconfig/apollo/pull/5274 * @WTIFS made their first contribution in https://github.com/apolloconfig/apollo/pull/5282 * @TerryLam2010 made their first contribution in https://github.com/apolloconfig/apollo/pull/5295 * @liubingyan127 made their first contribution in https://github.com/apolloconfig/apollo/pull/5305 * @Rawven made their first contribution in https://github.com/apolloconfig/apollo/pull/5229 * @lambda-hj made their first contribution in https://github.com/apolloconfig/apollo/pull/5310 * @k8scat made their first contribution in https://github.com/apolloconfig/apollo/pull/5316
## Highlights ### Simplified Local Startup The entire Apollo server system can now be launched in a single process without needing a MySQL server. For further details, refer to [II. Local startup](https://www.apolloconfig.com/#/en/contribution/apollo-development-guide?id=ii-local-startup).  ## What's Changed * bump version to 2.3.0-SNAPSHOT by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5049 * adjust the sql a little bit so that ddl is before dml by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5050 * Fix circular references on LdapAutoConfiguration by @BlackBear2003 in https://github.com/apolloconfig/apollo/pull/5055 * docs: openapi 3.2.17 Create App And grant administrative privileges by @Anilople in https://github.com/apolloconfig/apollo/pull/5046 * Change Copy Right year to 2024 by @shoothzj in https://github.com/apolloconfig/apollo/pull/5064 * Add comment for clusters and UI display by @BlackBear2003 in https://github.com/apolloconfig/apollo/pull/5072 * build(deps): bump com.google.guava:guava from 31.1-jre to 32.0.0-jre by @dependabot in https://github.com/apolloconfig/apollo/pull/5039 * Fix the issue that the length of private namespaces are mis-calculated by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5078 * Refine the description of the environment name by @klboke in https://github.com/apolloconfig/apollo/pull/5082 * docs: refactor-docs-structure by @nisiyong in https://github.com/apolloconfig/apollo/pull/5084 * docs: fix sdk dead links by @nisiyong in https://github.com/apolloconfig/apollo/pull/5086 * apollo assembly optimization by @vdiskg in https://github.com/apolloconfig/apollo/pull/5035 * fix config import on windows by @vdiskg in https://github.com/apolloconfig/apollo/pull/5088 * fix the apollo version logic by reading the server version instead of the apollo-core version by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5105 * build: bump org.postgresal:postgresal from 42.5.3 to 42.7.2 by @shoothzj in https://github.com/apolloconfig/apollo/pull/5112 * ci: add convertional commit lint by @shoothzj in https://github.com/apolloconfig/apollo/pull/5111 * update the quick start doc to reflect the latest changes by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5116 * feat: Portal module RestTemplate supports configuring ConnectionTimeToLive by @larry4xie in https://github.com/apolloconfig/apollo/pull/5121 * feat: update the config item table column width by @liaozan in https://github.com/apolloconfig/apollo/pull/5131 * sync apollo portal server config to apollo quick start server by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5134 * Beautify Portal TraceLog UI interface by @BlackBear2003 in https://github.com/apolloconfig/apollo/pull/5149 * Fix the role permission deletion issue when appid contains '_' by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5150 * Fix npe of audit log get operator by @BlackBear2003 in https://github.com/apolloconfig/apollo/pull/5153 * fix: -XX:HeapDumpPath doesn't ready when meet OOM by @Anilople in https://github.com/apolloconfig/apollo/pull/5157 * Fix the release retention error by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5162 * fix: assign roles to owner instead of operator by @Lin-1997 in https://github.com/apolloconfig/apollo/pull/5191 * add namespaces check in synchronization configuration feature by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5192 ## Installation Please refer to the [Distributed Deployment Guide](https://www.apolloconfig.com/#/en/deployment/distributed-deployment-guide). ## How to upgrade from v2.2.0 to v2.3.0 1. Apply [apolloconfigdb-v220-v230.sql](https://github.com/apolloconfig/apollo/blob/master/scripts/sql/profiles/mysql-default/delta/v220-v230/apolloconfigdb-v220-v230.sql) to ApolloConfigDB 2. Deploy v2.3.0 executables with the following sequences: 1. apollo-configservice 2. apollo-adminservice 3. apollo-portal ## New Contributors * @larry4xie made their first contribution in https://github.com/apolloconfig/apollo/pull/5121 * @Lin-1997 made their first contribution in https://github.com/apolloconfig/apollo/pull/5191
## 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](https://www.apolloconfig.com/#/en/deployment/distributed-deployment-guide?id=_3212-apollorelease-historyretentionsize-number-of-retained-configurations-release-history). ### 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 https://github.com/apolloconfig/apollo/pull/4726 * bump version to 2.2.0-SNAPSHOT by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4721 * Fix apolloconfigdb.sql apolloportaldb.sql AppId length settings are inconsistent by @weiyichao in https://github.com/apolloconfig/apollo/pull/4725 * Bump springcloud springboot version to solve cve problems by @shoothzj in https://github.com/apolloconfig/apollo/pull/4712 * add a note to reboot to make the config effective by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4740 * docs: how to custom service uri when use database-discovery by @Anilople in https://github.com/apolloconfig/apollo/pull/4743 * Bump h2 version to 2.x, consistent with springboot by @shoothzj in https://github.com/apolloconfig/apollo/pull/4745 * mysql-connector-java has been renamed to mysql-connector-j by @shoothzj in https://github.com/apolloconfig/apollo/pull/4748 * Bump springboot version from 2.7.8 to 2.7.9 by @shoothzj in https://github.com/apolloconfig/apollo/pull/4750 * [Multi-Database Support] Without Reliance on globally_quoted_identifiers Variable by @shoothzj in https://github.com/apolloconfig/apollo/pull/4749 * Change Copy Right year to 2023 by @shoothzj in https://github.com/apolloconfig/apollo/pull/4753 * [Multi-Database Support] Remove unused datasource configs by @shoothzj in https://github.com/apolloconfig/apollo/pull/4754 * [Multi-Database Support] Without Reliance on boolean integer compare by @shoothzj in https://github.com/apolloconfig/apollo/pull/4757 * [Multi-Database Support] Move mysql specify config to github profile by @shoothzj in https://github.com/apolloconfig/apollo/pull/4760 * [Multi-Database Support] package postgre h2 dependency] by @shoothzj in https://github.com/apolloconfig/apollo/pull/4763 * Make ConfigsExportServiceTest support windows by @shoothzj in https://github.com/apolloconfig/apollo/pull/4765 * [Multi-Database Support] Optimize table case sensitivity by @shoothzj in https://github.com/apolloconfig/apollo/pull/4768 * Fix OIDC logout unnecessary redirect by @vdiskg in https://github.com/apolloconfig/apollo/pull/4773 * [Multi-Database Support] Introduce h2 postgre profile properties to let user config database config by @shoothzj in https://github.com/apolloconfig/apollo/pull/4766 * [Multi-Database Support] Optimize column define case sensitivity by @shoothzj in https://github.com/apolloconfig/apollo/pull/4776 * [Multi-Database Support][pg] Where clause need escape, otherwise will request postgre use lowwer case by @shoothzj in https://github.com/apolloconfig/apollo/pull/4780 * style: change homepage leftbar font color by @nisiyong in https://github.com/apolloconfig/apollo/pull/4781 * Update the documentation description for "config-service.cache.enabled" by @klboke in https://github.com/apolloconfig/apollo/pull/4785 * [dependecy] misc dependency updates by @shoothzj in https://github.com/apolloconfig/apollo/pull/4784 * Remove unused travis profile by @shoothzj in https://github.com/apolloconfig/apollo/pull/4788 * Optimising ServiceRegistry creation SQL by @klboke in https://github.com/apolloconfig/apollo/pull/4792 * Remove unused testing log config by @shoothzj in https://github.com/apolloconfig/apollo/pull/4789 * Fix the problem that the deletion failure of the system rights management page does not prompt by @klboke in https://github.com/apolloconfig/apollo/pull/4803 * Fix the issue of the system permission management page retrieving non-existent users. by @klboke in https://github.com/apolloconfig/apollo/pull/4802 * add version notice for other service registry support by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4786 * Refining the configs interface documentation by @klboke in https://github.com/apolloconfig/apollo/pull/4804 * remove unused propery ctrip.appid by @shoothzj in https://github.com/apolloconfig/apollo/pull/4795 * Optimize the logic of DatabaseMessageSender. by @klboke in https://github.com/apolloconfig/apollo/pull/4809 * Improve the documentation for the config-service.cache.enabled configuration property. by @klboke in https://github.com/apolloconfig/apollo/pull/4810 * Refactor the createCommit method by @klboke in https://github.com/apolloconfig/apollo/pull/4811 * Refactor NotFoundException、BadRequestException by @klboke in https://github.com/apolloconfig/apollo/pull/4812 * [Multi-Database Support][pg] Make JdbcUserDetailsManager compat with postgre by @shoothzj in https://github.com/apolloconfig/apollo/pull/4790 * Add release history cleaning function by @klboke in https://github.com/apolloconfig/apollo/pull/4813 * Remove the usage of Env.name() using Env.getName() by @shoothzj in https://github.com/apolloconfig/apollo/pull/4816 * [doc] Refresh the quick-start script link by @shoothzj in https://github.com/apolloconfig/apollo/pull/4819 * [Clean code] Remove unused imports by @shoothzj in https://github.com/apolloconfig/apollo/pull/4825 * Correct the test semantics of the test case in ItemSetControllerTest by @klboke in https://github.com/apolloconfig/apollo/pull/4823 * Refactor the code related to ReleaseMessage by @klboke in https://github.com/apolloconfig/apollo/pull/4822 * refactor(apollo-biz): Use constructor injection instead of field injection by @klboke in https://github.com/apolloconfig/apollo/pull/4826 * Fix the issue of case sensitivity when matching keys with cache enabled by @klboke in https://github.com/apolloconfig/apollo/pull/4820 * Remove the slf4j-api version define by @shoothzj in https://github.com/apolloconfig/apollo/pull/4838 * refactor(apollo logging): Simplify the default log path to /opt/logs by @klboke in https://github.com/apolloconfig/apollo/pull/4833 * feat: check port use by another process or not when startup by @Anilople in https://github.com/apolloconfig/apollo/pull/4656 * Bump springboot from 2.7.9 to 2.7.11 by @shoothzj in https://github.com/apolloconfig/apollo/pull/4828 * [Multi-Database Support][h2] Support run on h2 by @shoothzj in https://github.com/apolloconfig/apollo/pull/4851 * add Shoothzj as a new committer by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4865 * docs:deployment-architecture by @jiaoningbo in https://github.com/apolloconfig/apollo/pull/4876 * Fix the issue that env special case handling is missing in some case by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4887 * docs: polish secret key implementation description by @nisiyong in https://github.com/apolloconfig/apollo/pull/4897 * add ai qa bot by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4908 * Fix the issue that clear content when paste the same content in namespace by @BlueSodaWater in https://github.com/apolloconfig/apollo/pull/4922 * fix the issue that the ai qa bot could not be accessed with http by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4923 * upgrade docsify version to fix potential xss vulnerability by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4939 * Add CodeQL workflow by @jorgectf in https://github.com/apolloconfig/apollo/pull/4924 * feat(openapi): allow user create app via openapi by @Anilople in https://github.com/apolloconfig/apollo/pull/4954 * Support grayscale feature for non-properties namespaces(#4316) by @ywy-github in https://github.com/apolloconfig/apollo/pull/4952 * fix button value and diff code by @ywy-github in https://github.com/apolloconfig/apollo/pull/4981 * fix image path error by @klboke in https://github.com/apolloconfig/apollo/pull/4979 * fix flaky test issue 4997 by @ThugJudy in https://github.com/apolloconfig/apollo/pull/4998 * feat: Add apollo audit log common solution backend by @BlackBear2003 in https://github.com/apolloconfig/apollo/pull/4985 * Apply audit log functions to portal using audit-log module by @BlackBear2003 in https://github.com/apolloconfig/apollo/pull/5008 * build(deps): bump ch.qos.logback:logback-classic from 1.2.0 to 1.3.12 by @dependabot in https://github.com/apolloconfig/apollo/pull/5026 * Fix method reflection bug by @BlackBear2003 in https://github.com/apolloconfig/apollo/pull/5030 * rename the init.h2.sql to avoid loading wrong files in quick start mode by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5034 * upgrade apollo-java version to 2.2.0 by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5036 * some misc fix by @nobodyiam in https://github.com/apolloconfig/apollo/pull/5037 ## Installation Please refer to the [Distributed Deployment Guide](https://www.apolloconfig.com/#/en/deployment/distributed-deployment-guide). ## How to upgrade from v2.1.0 to v2.2.0 1. Apply [apolloconfigdb-v210-v220.sql](https://github.com/apolloconfig/apollo/blob/master/scripts/sql/delta/v210-v220/apolloconfigdb-v210-v220.sql) to ApolloConfigDB 2. Apply [apolloportaldb-v210-v220.sql](https://github.com/apolloconfig/apollo/blob/master/scripts/sql/delta/v210-v220/apolloportaldb-v210-v220.sql) to ApolloPortalDB 3. Deploy v2.2.0 executables with the following sequences: 1. apollo-configservice 2. apollo-adminservice 3. apollo-portal ## New Contributors * @jiaoningbo made their first contribution in https://github.com/apolloconfig/apollo/pull/4876 * @BlueSodaWater made their first contribution in https://github.com/apolloconfig/apollo/pull/4922 * @jorgectf made their first contribution in https://github.com/apolloconfig/apollo/pull/4924 * @ywy-github made their first contribution in https://github.com/apolloconfig/apollo/pull/4952 * @ThugJudy made their first contribution in https://github.com/apolloconfig/apollo/pull/4998 * @BlackBear2003 made their first contribution in https://github.com/apolloconfig/apollo/pull/4985
## 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.  **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.   **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.  ### 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.  ### Non-properties Namespaces Comparison Feature The comparison feature for non-properties namespaces is now available.  ### 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](https://www.apolloconfig.com/#/en/deployment/distributed-deployment-guide?id=_2235-database-discovery) for more information. ## What's Changed ### Features * Optimize Spring-Security Firewall Deny Request Response 400 by @klboke in https://github.com/apolloconfig/apollo/pull/4428 * Allow users to associate multiple public namespaces at a time by @falser101 in https://github.com/apolloconfig/apollo/pull/4437 * Optimize the UI experience of open platform authorization management by @klboke in https://github.com/apolloconfig/apollo/pull/4436 * Add search key when comparing Configuration items by @falser101 in https://github.com/apolloconfig/apollo/pull/4459 * Add a new API to load items with pagination by @mghio in https://github.com/apolloconfig/apollo/pull/4468 * A user-friendly user management page for apollo portal by @zcy1010 in https://github.com/apolloconfig/apollo/pull/4464 * Switching spring-session serialization mode to json for compatibility with spring-security version updates by @klboke in https://github.com/apolloconfig/apollo/pull/4484 * Sort Namespaces acquired by multiple threads by @klboke in https://github.com/apolloconfig/apollo/pull/4500 * Allow users to delete AppNamespace by @klboke in https://github.com/apolloconfig/apollo/pull/4499 * Add configuration processor for portal developers by @vdisk-group in https://github.com/apolloconfig/apollo/pull/4521 * Add a potential json value check feature by @AbnerHuang2 in https://github.com/apolloconfig/apollo/pull/4519 * Support non-properties-diff by @SunnyBoy-WYH in https://github.com/apolloconfig/apollo/pull/4533 * Add an option to custom oidc userDisplayName by @vdisk-group in https://github.com/apolloconfig/apollo/pull/4507 * Add basic type check for Item value by @furaul in https://github.com/apolloconfig/apollo/pull/4542 * A user-friendly config management page for apollo portal by @webSue in https://github.com/apolloconfig/apollo/pull/4592 * Support use database as a registry by @Anilople in https://github.com/apolloconfig/apollo/pull/4595 * Users can change spring.profiles.active's value without rebuild project by @Anilople in https://github.com/apolloconfig/apollo/pull/4616 * Enable login authentication for eureka by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4663 * Portal-UI adds server config configuration management of ApolloConfigDB by @klboke in https://github.com/apolloconfig/apollo/pull/4680 ### Bug fixes * Fix: occur a 400 error request when openapi key's parameter contain "a[0]" by @CalebZYC in https://github.com/apolloconfig/apollo/pull/4424 * Upgrade mysql-connector-java version to fix possible transaction rollback failure issue by @klboke in https://github.com/apolloconfig/apollo/pull/4425 * Fix 'openjdk:8-jre-alpine' potentially causing wrong number of cpu cores by @klboke in https://github.com/apolloconfig/apollo/pull/4475 * Fix overwrite JSON type configuration being empty by @falser101 in https://github.com/apolloconfig/apollo/pull/4486 * Fix deleted at timestamp by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4493 * Fix openapi item with url illegalKey 400 error by @AbnerHuang2 in https://github.com/apolloconfig/apollo/pull/4549 * Fix `@Transactional` invalid cases by @ksice in https://github.com/apolloconfig/apollo/pull/4551 * Fix the exception occurred when publish/rollback namespaces with grayrelease by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4564 * Fix a json serialization problem during LDAP integration by @klboke in https://github.com/apolloconfig/apollo/pull/4556 * Fix Apollo checks the yaml format interface Response Code = 500 by @klboke in https://github.com/apolloconfig/apollo/pull/4567 * Fix create namespace with single dot 500 error by @AbnerHuang2 in https://github.com/apolloconfig/apollo/pull/4568 * Fix(sec): upgrade fastjson to 1.2.83 by @ren-jq101 in https://github.com/apolloconfig/apollo/pull/4587 * Fix get the openapi interface that contains namespace information for deleted items by @CalebZYC in https://github.com/apolloconfig/apollo/pull/4596 * Disable spring cloud discovery when running test to speed up test process and reduce error log by @wutingjia in https://github.com/apolloconfig/apollo/pull/4604 * Fix Grayscale release Item Value length limit can not be synchronized with its main version by @David-zhang-beep in https://github.com/apolloconfig/apollo/pull/4622 * Fix the problem of deleting blank items appear at the end by @wanggang19 in https://github.com/apolloconfig/apollo/pull/4662 ### Misc * Remove database migration tool Flyway by @nisiyong in https://github.com/apolloconfig/apollo/pull/4361 * Refactor: replace expired method by @zhangyangx in https://github.com/apolloconfig/apollo/pull/4429 * Some Redundancy Code Cleanup by @HeavenTonight in https://github.com/apolloconfig/apollo/pull/4433 * Refactor: Simplify the code by @zhangyangx in https://github.com/apolloconfig/apollo/pull/4435 * Chore: fix stargazer chart with star-history.com by @tianzhou in https://github.com/apolloconfig/apollo/pull/4441 * Clean up Ctrip related codes by @klboke in https://github.com/apolloconfig/apollo/pull/4448 * Clean up deserted travis ci config by @HeavenTonight in https://github.com/apolloconfig/apollo/pull/4450 * Move apollo-demo, scripts/docker-quick-start and scripts/apollo-on-kubernetes out of main repository by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4440 * Optimize apolloconfigdb-v190-v200-after.sql by @klboke in https://github.com/apolloconfig/apollo/pull/4470 * Optimize performance of '/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces' interface queries by @klboke in https://github.com/apolloconfig/apollo/pull/4473 * Fix test case NamespaceServiceTest.testFindNamespace() by @klboke in https://github.com/apolloconfig/apollo/pull/4491 * Refactor(apollo-biz): simplify the code of ReleaseService by @mghio in https://github.com/apolloconfig/apollo/pull/4502 * Replace the deprecated SHA-1 algorithm for generating open-api token by @mghio in https://github.com/apolloconfig/apollo/pull/4504 * Refactor ItemSetService(updateSet Item) and ConfigChangeContentBuilder a little bit by @mghio in https://github.com/apolloconfig/apollo/pull/4515 * Refactor tryToGetClientIp method by @klboke in https://github.com/apolloconfig/apollo/pull/4514 * Fix transcation invalid by @ksice in https://github.com/apolloconfig/apollo/pull/4509 * Refactor: Simplify code by @mghio in https://github.com/apolloconfig/apollo/pull/4524 * Update apollo-introduction.md by @ddzyan in https://github.com/apolloconfig/apollo/pull/4534 * Add index for table ReleaseHistory by @mghio in https://github.com/apolloconfig/apollo/pull/4550 * Refactoring the message splicing of internal Exceptions by @klboke in https://github.com/apolloconfig/apollo/pull/4571 * Fix: add missing @Override annotation for ApolloEurekaClientConfig#getEurekaServerServiceUrls by @CalebZYC in https://github.com/apolloconfig/apollo/pull/4575 * Add overloaded shortcut method to register BeanDefinition by @liaozan in https://github.com/apolloconfig/apollo/pull/4574 * Docs: misspelled recommend by @llnancy in https://github.com/apolloconfig/apollo/pull/4582 * Docs: add a version notice in the Open API documentation by @mghio in https://github.com/apolloconfig/apollo/pull/4585 * Docs: add nodejs client sdk by @ChoGathK in https://github.com/apolloconfig/apollo/pull/4590 * Move apollo-core, apollo-client, apollo-mockserver, apollo-openapi and apollo-client-config-data to apollo-java repo by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4594 * Fix doc bug by @lepdou in https://github.com/apolloconfig/apollo/pull/4579 * Fixes testUpdateBranchGrayRulesWithUpdateOnce by @ZhewenFu in https://github.com/apolloconfig/apollo/pull/4599 * Fix flaky test in apollo-biz by @anantdahiya8 in https://github.com/apolloconfig/apollo/pull/4618 * Docs: fix markdown code blocks by change 4 back quote to 3 back quote by @hxpdong in https://github.com/apolloconfig/apollo/pull/4631 * Refactor: remove app.properties and move some config file's location by @Anilople in https://github.com/apolloconfig/apollo/pull/4637 * Docs: upgrade rainbond deploy docs version to 2.0.1 by @week2311 in https://github.com/apolloconfig/apollo/pull/4652 * Add an apollo-go client by @xnzone in https://github.com/apolloconfig/apollo/pull/4665 * Config cookie same site to lax by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4664 * Update docker quick start document by @schneiderlin in https://github.com/apolloconfig/apollo/pull/4675 * Add portal https guide by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4676 * Unify the experience of using the portal UI by @klboke in https://github.com/apolloconfig/apollo/pull/4681 * Simplify url assembly in test cases by @klboke in https://github.com/apolloconfig/apollo/pull/4682 * Add github action to publish docker image by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4685 * Delete unused code by @klboke in https://github.com/apolloconfig/apollo/pull/4701 * Docs: add apollo rust client by @liushv0 in https://github.com/apolloconfig/apollo/pull/4704 ### Breaking Changes As was discussed in #4353, apollo drops the support for the flyway database migration tool. ## Installation Please refer to the [Distributed Deployment Guide](https://www.apolloconfig.com/#/en/deployment/distributed-deployment-guide). ## How to upgrade from v2.0.1 to v2.1.0 * Apply [apolloconfigdb-v200-v210.sql](https://github.com/ctripcorp/apollo/blob/master/scripts/sql/delta/v200-v210/apolloconfigdb-v200-v210.sql) to ApolloConfigDB * Deploy v2.1.0 executables with the following sequences: * apollo-configservice * apollo-adminservice * apollo-portal * Execute the following SQL to clear the spring sessions as spring security sessions are not compatible between versions, see https://github.com/spring-projects/spring-security/issues/9204 ```sql use ApolloPortalDB; delete from `SPRING_SESSION_ATTRIBUTES`; delete from `SPRING_SESSION`; ``` ## New Contributors * @shenhuaxin made their first contribution in https://github.com/apolloconfig/apollo/pull/4409 * @lorgine-li made their first contribution in https://github.com/apolloconfig/apollo/pull/4414 * @Anthony-Lu made their first contribution in https://github.com/apolloconfig/apollo/pull/4419 * @zhangyangx made their first contribution in https://github.com/apolloconfig/apollo/pull/4429 * @HeavenTonight made their first contribution in https://github.com/apolloconfig/apollo/pull/4433 * @tianzhou made their first contribution in https://github.com/apolloconfig/apollo/pull/4441 * @falser101 made their first contribution in https://github.com/apolloconfig/apollo/pull/4437 * @ksice made their first contribution in https://github.com/apolloconfig/apollo/pull/4509 * @ddzyan made their first contribution in https://github.com/apolloconfig/apollo/pull/4534 * @AbnerHuang2 made their first contribution in https://github.com/apolloconfig/apollo/pull/4519 * @SunnyBoy-WYH made their first contribution in https://github.com/apolloconfig/apollo/pull/4533 * @furaul made their first contribution in https://github.com/apolloconfig/apollo/pull/4542 * @liaozan made their first contribution in https://github.com/apolloconfig/apollo/pull/4574 * @llnancy made their first contribution in https://github.com/apolloconfig/apollo/pull/4582 * @ren-jq101 made their first contribution in https://github.com/apolloconfig/apollo/pull/4587 * @ChoGathK made their first contribution in https://github.com/apolloconfig/apollo/pull/4590 * @wutingjia made their first contribution in https://github.com/apolloconfig/apollo/pull/4604 * @webSue made their first contribution in https://github.com/apolloconfig/apollo/pull/4592 * @ZhewenFu made their first contribution in https://github.com/apolloconfig/apollo/pull/4599 * @anantdahiya8 made their first contribution in https://github.com/apolloconfig/apollo/pull/4618 * @David-zhang-beep made their first contribution in https://github.com/apolloconfig/apollo/pull/4622 * @hxpdong made their first contribution in https://github.com/apolloconfig/apollo/pull/4631 * @week2311 made their first contribution in https://github.com/apolloconfig/apollo/pull/4652 * @xnzone made their first contribution in https://github.com/apolloconfig/apollo/pull/4665 * @wanggang19 made their first contribution in https://github.com/apolloconfig/apollo/pull/4662 * @schneiderlin made their first contribution in https://github.com/apolloconfig/apollo/pull/4675 * @liushv0 made their first contribution in https://github.com/apolloconfig/apollo/pull/4704