From 162066e2d11b0ae8c2feca9c66f0b05f9a36afd0 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 18 Mar 2026 18:04:33 +0800 Subject: [PATCH 01/52] Add temp.md --- temp.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 temp.md diff --git a/temp.md b/temp.md new file mode 100644 index 0000000000000..af27ff4986a7b --- /dev/null +++ b/temp.md @@ -0,0 +1 @@ +This is a test file. \ No newline at end of file From b3318c00089edd758f5b431346eba705e0291faa Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 18 Mar 2026 18:04:39 +0800 Subject: [PATCH 02/52] Delete temp.md --- temp.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 temp.md diff --git a/temp.md b/temp.md deleted file mode 100644 index af27ff4986a7b..0000000000000 --- a/temp.md +++ /dev/null @@ -1 +0,0 @@ -This is a test file. \ No newline at end of file From fbd1b14b4c8a2175c76a9f1c6e030381f76270b0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 18 Mar 2026 10:05:51 +0000 Subject: [PATCH 03/52] Auto-sync: Update English docs from Chinese PR Synced from: https://github.com/pingcap/docs-cn/pull/21445 Target PR: https://github.com/pingcap/docs/pull/22578 AI Provider: gemini Co-authored-by: github-actions[bot] --- releases/release-8.5.6.md | 147 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 releases/release-8.5.6.md diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md new file mode 100644 index 0000000000000..920a16aaa26be --- /dev/null +++ b/releases/release-8.5.6.md @@ -0,0 +1,147 @@ +--- +title: TiDB 8.5.6 Release Notes +summary: Understand the compatibility changes, improvements, and bug fixes in the TiDB 8.5.6 release. +--- + +# TiDB 8.5.6 Release Notes + +Release Date: 2026-xx-xx + +TiDB Version: 8.5.6 + +Try it out: [Quick Start](https://docs.pingcap.com/zh/tidb/v8.5/quick-start-with-tidb) | [Production Deployment](https://docs.pingcap.com/zh/tidb/v8.5/production-deployment-using-tiup) | [Download Offline Package](https://pingkai.cn/download#tidb-community) + +## Feature Details + +### Stability + +- The ability to set resource limits for background tasks in Resource Control is now Generally Available (GA) [#56019](https://github.com/pingcap/tidb/issues/56019) @[glorv](https://github.com/glorv) + + TiDB Resource Control can identify and lower the priority of background tasks. In some scenarios, even with idle resources, users may want to keep the consumption of background tasks at a very low level. Starting from v8.4.0, you can use the `UTILIZATION_LIMIT` parameter to set the maximum percentage of resources that background tasks under Resource Control can use, controlling the usage of all background tasks on each node below this percentage. This feature allows you to finely control the resource consumption of background tasks, further enhancing cluster stability. + + In v8.5.6, this feature is Generally Available (GA). + + For more information, please refer to the [User Documentation](/tidb-resource-control-background-tasks.md). + +### Data Migration + +- (dup): release-9.0.0.md > # Data Migration * Migrated sync-diff-inspector from the `pingcap/tidb-tools` repository to the `pingcap/tiflow` repository [#11672](https://github.com/pingcap/tiflow/issues/11672) @[joechenrh](https://github.com/joechenrh) + +## Compatibility Changes + +- note [#issue](https://github.com/pingcap/${repo-name}/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + +## Improvements + ++ TiDB + + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + ++ TiKV + + - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - (dup): release-8.5.4.md > Improvements > TiKV - Optimized the calculation of the default value for the gRPC thread pool size. The previous fixed value has been adjusted to a dynamic calculation based on the total CPU configuration, preventing performance bottlenecks caused by an insufficient number of gRPC threads [#18613](https://github.com/tikv/tikv/issues/18613) @[LykxSassinator](https://github.com/LykxSassinator) + - (dup): release-8.5.5.md > Improvements > TiKV - Limited the rate of BR log recovery requests when TiKV memory usage is high, preventing TiKV OOM [#18124](https://github.com/tikv/tikv/issues/18124) @[3pointer](https://github.com/3pointer) + ++ PD + + - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - (dup): release-8.5.5.md > Improvements > PD - Optimized high-cardinality metrics, reducing PD's memory consumption and pressure on the monitoring system [#9357](https://github.com/tikv/pd/issues/9357) @[rleungx](https://github.com/rleungx) + - (dup): release-7.5.7.md > Improvements > PD - Reduced unnecessary error logs [#9370](https://github.com/tikv/pd/issues/9370) @[bufferflies](https://github.com/bufferflies) + ++ TiFlash + + - note [#issue](https://github.com/pingcap/tiflash/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tiflash/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + ++ Tools + + + Backup & Restore (BR) + + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + + + TiCDC + + - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + + + TiDB Data Migration (DM) + + - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + + + TiDB Lightning + + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + + + Dumpling + + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + + + TiUP + + - note [#issue](https://github.com/pingcap/tiup/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tiup/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + +## Bug Fixes + ++ TiDB + + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + ++ TiKV + + - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - (dup): release-5.1.4.md > Bug Fixes > TiKV - Fixed the risk of data inconsistency in rare cases during prewrite request retries in pessimistic transactions [#11187](https://github.com/tikv/tikv/issues/11187) + ++ PD + + - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - (dup): release-8.5.4.md > Bug Fixes > PD - Fixed an issue where Resource Manager incorrectly allocated tokens, causing queries to hang [#9455](https://github.com/tikv/pd/issues/9455) @[JmPotato](https://github.com/JmPotato) + ++ TiFlash + + - note [#issue](https://github.com/pingcap/tiflash/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tiflash/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + ++ Tools + + + Backup & Restore (BR) + + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - (dup): release-8.5.5.md > Bug Fixes > Tools > Backup & Restore (BR) - Fixed an issue where enabling log backup in a cluster with a large number of Regions led to excessive memory consumption [#18719](https://github.com/tikv/tikv/issues/18719) @[YuJuncen](https://github.com/YuJuncen) + + + TiCDC + + - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + + + TiDB Data Migration (DM) + + - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + + + TiDB Lightning + + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + + + Dumpling + + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + + + TiUP + + - note [#issue](https://github.com/pingcap/tiup/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tiup/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) \ No newline at end of file From bcbf29b043ddc95238acd31f0c60492176a4bc79 Mon Sep 17 00:00:00 2001 From: houfaxin Date: Thu, 19 Mar 2026 10:13:50 +0800 Subject: [PATCH 04/52] Update release-8.5.6.md --- releases/release-8.5.6.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 920a16aaa26be..ec6c2c05dc7af 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -25,7 +25,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/zh/tidb/v8.5/quick-start-with ### Data Migration -- (dup): release-9.0.0.md > # Data Migration * Migrated sync-diff-inspector from the `pingcap/tidb-tools` repository to the `pingcap/tiflow` repository [#11672](https://github.com/pingcap/tiflow/issues/11672) @[joechenrh](https://github.com/joechenrh) +- (dup): release-9.0.0.md > # 数据迁移 * 将 sync-diff-inspector 从 `pingcap/tidb-tools` 迁移至 `pingcap/tiflow` 代码仓库 [#11672](https://github.com/pingcap/tiflow/issues/11672) @[joechenrh](https://github.com/joechenrh) ## Compatibility Changes @@ -42,15 +42,15 @@ Try it out: [Quick Start](https://docs.pingcap.com/zh/tidb/v8.5/quick-start-with - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - (dup): release-8.5.4.md > Improvements > TiKV - Optimized the calculation of the default value for the gRPC thread pool size. The previous fixed value has been adjusted to a dynamic calculation based on the total CPU configuration, preventing performance bottlenecks caused by an insufficient number of gRPC threads [#18613](https://github.com/tikv/tikv/issues/18613) @[LykxSassinator](https://github.com/LykxSassinator) - - (dup): release-8.5.5.md > Improvements > TiKV - Limited the rate of BR log recovery requests when TiKV memory usage is high, preventing TiKV OOM [#18124](https://github.com/tikv/tikv/issues/18124) @[3pointer](https://github.com/3pointer) + - (dup): release-8.5.4.md > 改进提升> TiKV - 优化 gRPC 线程池线程数量默认值的计算方式,将原固定值调整为根据总的 CPU 配置动态计算,避免因 gRPC 线程数量过小导致的性能瓶颈 [#18613](https://github.com/tikv/tikv/issues/18613) @[LykxSassinator](https://github.com/LykxSassinator) + - (dup): release-8.5.5.md > 改进提升> TiKV - 在 TiKV 内存占用高时,对 BR 的日志恢复请求进行限流,防止 TiKV OOM [#18124](https://github.com/tikv/tikv/issues/18124) @[3pointer](https://github.com/3pointer) + PD - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - (dup): release-8.5.5.md > Improvements > PD - Optimized high-cardinality metrics, reducing PD's memory consumption and pressure on the monitoring system [#9357](https://github.com/tikv/pd/issues/9357) @[rleungx](https://github.com/rleungx) - - (dup): release-7.5.7.md > Improvements > PD - Reduced unnecessary error logs [#9370](https://github.com/tikv/pd/issues/9370) @[bufferflies](https://github.com/bufferflies) + - (dup): release-8.5.5.md > 改进提升> PD - 优化了高基数指标,降低 PD 的内存占用和监控系统压力 [#9357](https://github.com/tikv/pd/issues/9357) @[rleungx](https://github.com/rleungx) + - (dup): release-7.5.7.md > 改进提升> PD - 减少非必要的错误日志 [#9370](https://github.com/tikv/pd/issues/9370) @[bufferflies](https://github.com/bufferflies) + TiFlash @@ -100,13 +100,13 @@ Try it out: [Quick Start](https://docs.pingcap.com/zh/tidb/v8.5/quick-start-with - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - (dup): release-5.1.4.md > Bug Fixes > TiKV - Fixed the risk of data inconsistency in rare cases during prewrite request retries in pessimistic transactions [#11187](https://github.com/tikv/tikv/issues/11187) + - (dup): release-5.1.4.md > Bug 修复> TiKV - 修复悲观事务中 prewrite 请求重试在极少数情况下影响数据一致性的风险 [#11187](https://github.com/tikv/tikv/issues/11187) + PD - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - (dup): release-8.5.4.md > Bug Fixes > PD - Fixed an issue where Resource Manager incorrectly allocated tokens, causing queries to hang [#9455](https://github.com/tikv/pd/issues/9455) @[JmPotato](https://github.com/JmPotato) + - (dup): release-8.5.4.md > 错误修复> PD - 修复 Resource Manager 错误分配 token 导致查询卡住的问题 [#9455](https://github.com/tikv/pd/issues/9455) @[JmPotato](https://github.com/JmPotato) + TiFlash @@ -119,7 +119,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/zh/tidb/v8.5/quick-start-with - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - (dup): release-8.5.5.md > Bug Fixes > Tools > Backup & Restore (BR) - Fixed an issue where enabling log backup in a cluster with a large number of Regions led to excessive memory consumption [#18719](https://github.com/tikv/tikv/issues/18719) @[YuJuncen](https://github.com/YuJuncen) + - (dup): release-8.5.5.md > 错误修复> Tools> Backup & Restore (BR) - 修复集群中存在大量 Region 时,开启日志备份导致内存占用过高的问题 [#18719](https://github.com/tikv/tikv/issues/18719) @[YuJuncen](https://github.com/YuJuncen) + TiCDC From 6d7792388e4d49e0fb2f57040bede07b39a97204 Mon Sep 17 00:00:00 2001 From: houfaxin Date: Thu, 19 Mar 2026 10:29:02 +0800 Subject: [PATCH 05/52] Update release-8.5.6.md --- releases/release-8.5.6.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index ec6c2c05dc7af..387ce8278fbd6 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -25,7 +25,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/zh/tidb/v8.5/quick-start-with ### Data Migration -- (dup): release-9.0.0.md > # 数据迁移 * 将 sync-diff-inspector 从 `pingcap/tidb-tools` 迁移至 `pingcap/tiflow` 代码仓库 [#11672](https://github.com/pingcap/tiflow/issues/11672) @[joechenrh](https://github.com/joechenrh) +- (dup): release-9.0.0.md > # Data migration * Migrate sync-diff-inspector from `pingcap/tidb-tools` to `pingcap/tiflow` repository [#11672](https://github.com/pingcap/tiflow/issues/11672) @[joechenrh](https://github.com/joechenrh) ## Compatibility Changes @@ -42,15 +42,15 @@ Try it out: [Quick Start](https://docs.pingcap.com/zh/tidb/v8.5/quick-start-with - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - (dup): release-8.5.4.md > 改进提升> TiKV - 优化 gRPC 线程池线程数量默认值的计算方式,将原固定值调整为根据总的 CPU 配置动态计算,避免因 gRPC 线程数量过小导致的性能瓶颈 [#18613](https://github.com/tikv/tikv/issues/18613) @[LykxSassinator](https://github.com/LykxSassinator) - - (dup): release-8.5.5.md > 改进提升> TiKV - 在 TiKV 内存占用高时,对 BR 的日志恢复请求进行限流,防止 TiKV OOM [#18124](https://github.com/tikv/tikv/issues/18124) @[3pointer](https://github.com/3pointer) + - (dup): release-8.5.4.md > Improvements> TiKV - Optimize the calculation method of the default gRPC thread pool size by making it dynamically calculated based on total CPU quota instead of a fixed value, avoiding performance bottlenecks caused by insufficient gRPC threads [#18613](https://github.com/tikv/tikv/issues/18613) @[LykxSassinator](https://github.com/LykxSassinator) + - (dup): release-8.5.5.md > Improvements> TiKV - Throttle BR log restore requests when TiKV memory usage is high to prevent TiKV OOM [#18124](https://github.com/tikv/tikv/issues/18124) @[3pointer](https://github.com/3pointer) + PD - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - (dup): release-8.5.5.md > 改进提升> PD - 优化了高基数指标,降低 PD 的内存占用和监控系统压力 [#9357](https://github.com/tikv/pd/issues/9357) @[rleungx](https://github.com/rleungx) - - (dup): release-7.5.7.md > 改进提升> PD - 减少非必要的错误日志 [#9370](https://github.com/tikv/pd/issues/9370) @[bufferflies](https://github.com/bufferflies) + - (dup): release-8.5.5.md > Improvements> PD - Optimize metrics with high cardinality to reduce PD memory usage and relieve pressure on the monitoring system [#9357](https://github.com/tikv/pd/issues/9357) @[rleungx](https://github.com/rleungx) + - (dup): release-7.5.7.md > Improvements> PD - Reduce unnecessary error logs [#9370](https://github.com/tikv/pd/issues/9370) @[bufferflies](https://github.com/bufferflies) + TiFlash @@ -100,13 +100,13 @@ Try it out: [Quick Start](https://docs.pingcap.com/zh/tidb/v8.5/quick-start-with - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - (dup): release-5.1.4.md > Bug 修复> TiKV - 修复悲观事务中 prewrite 请求重试在极少数情况下影响数据一致性的风险 [#11187](https://github.com/tikv/tikv/issues/11187) + - (dup): release-5.1.4.md > Bug fixes> TiKV - Fix the rare data inconsistency issue when retrying a prewrite request in pessimistic transactions [#11187](https://github.com/tikv/tikv/issues/11187) + PD - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - (dup): release-8.5.4.md > 错误修复> PD - 修复 Resource Manager 错误分配 token 导致查询卡住的问题 [#9455](https://github.com/tikv/pd/issues/9455) @[JmPotato](https://github.com/JmPotato) + - (dup): release-8.5.4.md > Bug fixes> PD - Fix the issue that the Resource Manager incorrectly allocates tokens, causing queries to be stuck [#9455](https://github.com/tikv/pd/issues/9455) @[JmPotato](https://github.com/JmPotato) + TiFlash @@ -119,7 +119,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/zh/tidb/v8.5/quick-start-with - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - (dup): release-8.5.5.md > 错误修复> Tools> Backup & Restore (BR) - 修复集群中存在大量 Region 时,开启日志备份导致内存占用过高的问题 [#18719](https://github.com/tikv/tikv/issues/18719) @[YuJuncen](https://github.com/YuJuncen) + - (dup): release-8.5.5.md > Bug fixes> Tools> Backup & Restore (BR) - Fix the issue that enabling log backup causes excessive memory usage when the cluster contains many Regions [#18719](https://github.com/tikv/tikv/issues/18719) @[YuJuncen](https://github.com/YuJuncen) + TiCDC From b042351d3cf771d3e8c8374553c0a4ef6f585673 Mon Sep 17 00:00:00 2001 From: houfaxin Date: Thu, 19 Mar 2026 10:56:34 +0800 Subject: [PATCH 06/52] Update release-8.5.6.md --- releases/release-8.5.6.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 387ce8278fbd6..154cda5ad65f9 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -42,14 +42,11 @@ Try it out: [Quick Start](https://docs.pingcap.com/zh/tidb/v8.5/quick-start-with - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - (dup): release-8.5.4.md > Improvements> TiKV - Optimize the calculation method of the default gRPC thread pool size by making it dynamically calculated based on total CPU quota instead of a fixed value, avoiding performance bottlenecks caused by insufficient gRPC threads [#18613](https://github.com/tikv/tikv/issues/18613) @[LykxSassinator](https://github.com/LykxSassinator) - - (dup): release-8.5.5.md > Improvements> TiKV - Throttle BR log restore requests when TiKV memory usage is high to prevent TiKV OOM [#18124](https://github.com/tikv/tikv/issues/18124) @[3pointer](https://github.com/3pointer) + PD - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - (dup): release-8.5.5.md > Improvements> PD - Optimize metrics with high cardinality to reduce PD memory usage and relieve pressure on the monitoring system [#9357](https://github.com/tikv/pd/issues/9357) @[rleungx](https://github.com/rleungx) - (dup): release-7.5.7.md > Improvements> PD - Reduce unnecessary error logs [#9370](https://github.com/tikv/pd/issues/9370) @[bufferflies](https://github.com/bufferflies) + TiFlash @@ -106,7 +103,6 @@ Try it out: [Quick Start](https://docs.pingcap.com/zh/tidb/v8.5/quick-start-with - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - (dup): release-8.5.4.md > Bug fixes> PD - Fix the issue that the Resource Manager incorrectly allocates tokens, causing queries to be stuck [#9455](https://github.com/tikv/pd/issues/9455) @[JmPotato](https://github.com/JmPotato) + TiFlash @@ -119,7 +115,6 @@ Try it out: [Quick Start](https://docs.pingcap.com/zh/tidb/v8.5/quick-start-with - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - (dup): release-8.5.5.md > Bug fixes> Tools> Backup & Restore (BR) - Fix the issue that enabling log backup causes excessive memory usage when the cluster contains many Regions [#18719](https://github.com/tikv/tikv/issues/18719) @[YuJuncen](https://github.com/YuJuncen) + TiCDC From 4a973fc8cd581354614f9304acd78414caa26226 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Thu, 19 Mar 2026 11:31:59 +0800 Subject: [PATCH 07/52] Update releases/release-8.5.6.md --- releases/release-8.5.6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 154cda5ad65f9..70aa62dd0ba6c 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -15,7 +15,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/zh/tidb/v8.5/quick-start-with ### Stability -- The ability to set resource limits for background tasks in Resource Control is now Generally Available (GA) [#56019](https://github.com/pingcap/tidb/issues/56019) @[glorv](https://github.com/glorv) +- The ability to set resource limits for background tasks in Resource Control is now Generally Available (GA) [#56019](https://github.com/pingcap/tidb/issues/56019) @[glorv](https://github.com/glorv) **tw@hfxsd** TiDB Resource Control can identify and lower the priority of background tasks. In some scenarios, even with idle resources, users may want to keep the consumption of background tasks at a very low level. Starting from v8.4.0, you can use the `UTILIZATION_LIMIT` parameter to set the maximum percentage of resources that background tasks under Resource Control can use, controlling the usage of all background tasks on each node below this percentage. This feature allows you to finely control the resource consumption of background tasks, further enhancing cluster stability. From 068e5ebe1f6b870fb25d207de3564f5a88730744 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Thu, 19 Mar 2026 15:07:35 +0800 Subject: [PATCH 08/52] Update releases/release-8.5.6.md --- releases/release-8.5.6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 70aa62dd0ba6c..add527a6a0f66 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -9,7 +9,7 @@ Release Date: 2026-xx-xx TiDB Version: 8.5.6 -Try it out: [Quick Start](https://docs.pingcap.com/zh/tidb/v8.5/quick-start-with-tidb) | [Production Deployment](https://docs.pingcap.com/zh/tidb/v8.5/production-deployment-using-tiup) | [Download Offline Package](https://pingkai.cn/download#tidb-community) +Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-tidb) | [Production Deployment](https://docs.pingcap.com/tidb/v8.5/production-deployment-using-tiup) | [Download Offline Package](https://pingkai.cn/download#tidb-community) ## Feature Details From 02224aafa0ee534963c0761203f1e090c99d4b81 Mon Sep 17 00:00:00 2001 From: dongmen <20351731+asddongmen@users.noreply.github.com> Date: Wed, 25 Mar 2026 16:42:33 +0800 Subject: [PATCH 09/52] Update release notes for TiCDC fixes and enhancements --- releases/release-8.5.6.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index add527a6a0f66..a728680aaeab5 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -118,8 +118,10 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti + TiCDC - - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - Fixed an issue where changefeed might repeatedly create invalid dispatchers when the server restarts. [#4452](https://github.com/pingcap/ticdc/issues/4452) @[wlwilliamx](https://github.com/wlwilliamx) + - Fixed an issue where table renaming operations could not be performed normally when the upstream TiDB version was <= v8.1.x. [#4392](https://github.com/pingcap/ticdc/issues/4392) @[lidezhu](https://github.com/lidezhu) + - Fixed a bug during data scanning to avoid potential abnormal crashes of TiKV when CDC is enabled. [#19404](https://github.com/tikv/tikv/issues/19404) @[wk989898](https://github.com/wk989898) + - Supported Azure Managed Identity authentication for azblob sinks and fixed a potential stuck issue during cloud storage uploads. [#3093](https://github.com/pingcap/ticdc/issues/3093) @[wlwilliamx](https://github.com/wlwilliamx) + TiDB Data Migration (DM) @@ -139,4 +141,4 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti + TiUP - note [#issue](https://github.com/pingcap/tiup/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tiup/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) \ No newline at end of file + - note [#issue](https://github.com/pingcap/tiup/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) From cd9a122a8fdacf213c381163250ee8775d2e0db7 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 25 Mar 2026 18:48:25 +0800 Subject: [PATCH 10/52] Apply suggestions from code review Co-authored-by: HuaiyuXu Co-authored-by: Bisheng Huang --- releases/release-8.5.6.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index a728680aaeab5..d55b3c9d4f4f5 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -35,13 +35,16 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti + TiDB - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - Enhanced slow query log control by supporting [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-new-in-v900) for targeted slow query log output based on combinations of multiple metrics, [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-new-in-v900) for limiting the number of slow query log entries per second, and the [`WRITE_SLOW_LOG`](/identify-slow-queries.md#related-hint) hint for forcing specified SQL statements to be recorded in the slow query log [#64010](https://github.com/pingcap/tidb/issues/64010) @[zimulala](https://github.com/zimulala) + - Enhanced [Top SQL](/dashboard/top-sql.md) for resource analysis by supporting Top `5`, `20`, or `100` queries, hotspot analysis sorted by CPU, network traffic, or logical I/O, and aggregated analysis by `Query`, `Table`, `DB`, or `Region` on TiKV instances [#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + TiKV - - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - Add MVCC-read-aware load-based compaction to prioritize regions with heavy MVCC read overhead. [#19133](https://github.com/tikv/tikv/issues/19133) @[mittalrishabh](https://github.com/mittalrishabh) + - Optimize stale-range cleanup during scaling by deleting stale keys directly instead of ingesting SST files, reducing latency impact. [#18042](https://github.com/tikv/tikv/issues/18042) @[LykxSassinator](https://github.com/LykxSassinator) + - Make default gRPC raft connection and concurrency settings scale with CPU quota to improve resource utilization. [#18613](https://github.com/tikv/tikv/issues/18613) @[LykxSassinator](https://github.com/LykxSassinator) + - Add Top SQL support for collecting network traffic and logical I/O information to help diagnose SQL performance issues. [#18815](https://github.com/tikv/tikv/issues/18815) @[yibin87](https://github.com/yibin87) + PD @@ -95,8 +98,12 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti + TiKV - - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/tikv/tikv/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - Fix the issue that global indexes on non-unique columns of partitioned tables might become inconsistent and return incorrect results in some cases. [#19262](https://github.com/tikv/tikv/issues/19262) @[mjonss](https://github.com/mjonss) + - Fix the issue that stalled coprocessor snapshot retrieval could occupy unified read pool workers until request deadlines expired, delaying other read requests. [#18491](https://github.com/tikv/tikv/issues/18491) @[AndreMouche](https://github.com/AndreMouche) + - Fix the issue that follower replica reads could remain blocked on disk-full TiKV nodes by rejecting read-index requests on disk-full followers. [#19201](https://github.com/tikv/tikv/issues/19201) @[glorv](https://github.com/glorv) + - Fix the issue that resolved-ts task backlogs could cause OOM when the resolved-ts worker is busy. [#18359](https://github.com/tikv/tikv/issues/18359) @[overvenus](https://github.com/overvenus) + - Fix long-tail follower-read latency during leader transfer by retrying read-index requests sooner and adding a dedicated retry interval setting. [#18417](https://github.com/tikv/tikv/issues/18417) @[gengliqi](https://github.com/gengliqi) + - Fix ingest latency spikes in large clusters by increasing the default `rocksdb.max-manifest-file-size` from 128 MiB to 256 MiB. [#18996](https://github.com/tikv/tikv/issues/18996) @[glorv](https://github.com/glorv) - (dup): release-5.1.4.md > Bug fixes> TiKV - Fix the rare data inconsistency issue when retrying a prewrite request in pessimistic transactions [#11187](https://github.com/tikv/tikv/issues/11187) + PD From 107708f06345f28d9b029ede3db417805c59e9cd Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Thu, 26 Mar 2026 10:48:55 +0800 Subject: [PATCH 11/52] Apply suggestions from code review Co-authored-by: bb7133 --- releases/release-8.5.6.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index d55b3c9d4f4f5..3d5f4109824e6 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -37,7 +37,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti - Enhanced slow query log control by supporting [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-new-in-v900) for targeted slow query log output based on combinations of multiple metrics, [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-new-in-v900) for limiting the number of slow query log entries per second, and the [`WRITE_SLOW_LOG`](/identify-slow-queries.md#related-hint) hint for forcing specified SQL statements to be recorded in the slow query log [#64010](https://github.com/pingcap/tidb/issues/64010) @[zimulala](https://github.com/zimulala) - Enhanced [Top SQL](/dashboard/top-sql.md) for resource analysis by supporting Top `5`, `20`, or `100` queries, hotspot analysis sorted by CPU, network traffic, or logical I/O, and aggregated analysis by `Query`, `Table`, `DB`, or `Region` on TiKV instances [#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - 新增 DXF 的 max_node_count 配置项支持 [#66376](https://github.com/pingcap/tidb/pull/66376)@[D3Hunter](https://github.com/D3Hunter) + TiKV @@ -93,8 +93,18 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti + TiDB - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - Fix the issue that upgrading from release-8.5-20250606-v8.5.2 to upstream release-8.5 can skip PITR metadata upgrades and cause PITR operations to fail. [#66994](https://github.com/pingcap/tidb/issues/66994) @[fzzf678](https://github.com/fzzf678) + - Fix the issue that after EXCHANGE PARTITION, non-unique or nullable unique global indexes on non-clustered partitioned tables can become inconsistent and return incomplete results. [#65289](https://github.com/pingcap/tidb/issues/65289) @[mjonss](https://github.com/mjonss) + - Support column-level privileges in GRANT and REVOKE. [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) + - Improve the performance of privilege updates such as GRANT and REVOKE in deployments with large numbers of privilege entries. [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) + - Fix the issue that KILL QUERY incorrectly kills idle connections. [#65447](https://github.com/pingcap/tidb/issues/65447) @[gengliqi](https://github.com/gengliqi) + - Fix the issue that column-level privilege checks can be incorrect for JOIN ... USING, NATURAL JOIN, and INSERT ... ON DUPLICATE KEY UPDATE. [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) + - Improve privilege-check performance for deployments with many column-level privilege entries. [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) + - Add cluster_id to mysql.tidb so external tools can determine whether two TiDB instances belong to the same cluster. [#59476](https://github.com/pingcap/tidb/issues/59476) @[YangKeao](https://github.com/YangKeao) + - Improve the slow query log by printing non-printable prepared-statement arguments as hexadecimal literals. [#65383](https://github.com/pingcap/tidb/issues/65383) @[dveeden](https://github.com/dveeden) + - 修复 tidb_service_scope 设置时未统一转换为小写的问题 [#66835](https://github.com/pingcap/tidb/pull/66835)@[D3Hunter](https://github.com/D3Hunter) + - 修复 TiDB 重启后无法展示亲和力表的问题 [#66284](https://github.com/pingcap/tidb/issues/66284) @[lcwangchao](https://github.com/lcwangchao) + - 修复可能出现的内存泄漏 [#65522](https://github.com/pingcap/tidb/issues/65522) @[bufferflies](https://github.com/bufferflies) + TiKV From 5e1fd675d07526905e9c7e68863456770e7b9f6d Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Thu, 26 Mar 2026 11:34:14 +0800 Subject: [PATCH 12/52] Update releases/release-8.5.6.md --- releases/release-8.5.6.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 3d5f4109824e6..e9f25a7c9e613 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -123,8 +123,9 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti + TiFlash - - note [#issue](https://github.com/pingcap/tiflash/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tiflash/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - 修复当一个列执行将列属性 `NOT NULL` 转为 `NULL` 的 DDL 之后,TiFlash 与 TiKV 之间可能产生不一致数据的问题 [#10680](https://github.com/pingcap/tiflash/issues/10680) @[JaySon-Huang](https://github.com/JaySon-Huang) + - 修复 Grafana 面板中 Raft throughput 可能会错误地显示一个非常大的数值的问题 [#10701](https://github.com/pingcap/tiflash/issues/10701) @[CalvinNeo](https://github.com/CalvinNeo) + - 修复 runtime filter 开启情况下,如果 join key 数据类型不一致时,join 结果可能出错的问题 [#10699](https://github.com/pingcap/tiflash/issues/10699) @[ChangRui-Ryan](https://github.com/ChangRui-Ryan) + Tools From b8f5f3b43e636b6d20d618294ec88cac8686b08e Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Thu, 26 Mar 2026 14:56:26 +0800 Subject: [PATCH 13/52] Apply suggestions from code review --- releases/release-8.5.6.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index e9f25a7c9e613..0548487d9f85a 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -38,6 +38,8 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti - Enhanced slow query log control by supporting [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-new-in-v900) for targeted slow query log output based on combinations of multiple metrics, [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-new-in-v900) for limiting the number of slow query log entries per second, and the [`WRITE_SLOW_LOG`](/identify-slow-queries.md#related-hint) hint for forcing specified SQL statements to be recorded in the slow query log [#64010](https://github.com/pingcap/tidb/issues/64010) @[zimulala](https://github.com/zimulala) - Enhanced [Top SQL](/dashboard/top-sql.md) for resource analysis by supporting Top `5`, `20`, or `100` queries, hotspot analysis sorted by CPU, network traffic, or logical I/O, and aggregated analysis by `Query`, `Table`, `DB`, or `Region` on TiKV instances [#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) - 新增 DXF 的 max_node_count 配置项支持 [#66376](https://github.com/pingcap/tidb/pull/66376)@[D3Hunter](https://github.com/D3Hunter) + - 调整部分 stats 相关日志为 warning 级别 [#58315](https://github.com/pingcap/tidb/pull/58315)@[hawkingrei](https://github.com/hawkingrei) + - 调整 tidb_analyze_column_options 默认值为 all [#64992](https://github.com/pingcap/tidb/issues/64992) @[0xPoe](https://github.com/0xPoe) + TiKV @@ -105,6 +107,8 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti - 修复 tidb_service_scope 设置时未统一转换为小写的问题 [#66835](https://github.com/pingcap/tidb/pull/66835)@[D3Hunter](https://github.com/D3Hunter) - 修复 TiDB 重启后无法展示亲和力表的问题 [#66284](https://github.com/pingcap/tidb/issues/66284) @[lcwangchao](https://github.com/lcwangchao) - 修复可能出现的内存泄漏 [#65522](https://github.com/pingcap/tidb/issues/65522) @[bufferflies](https://github.com/bufferflies) + - 修复系统表可能影响 stats healthy 监控的问题 [#64080](https://github.com/pingcap/tidb/issues/64080) @[ti-chi-bot](https://github.com/ti-chi-bot) + - 修复 stats delta 数据可能刷新不及时的问题 [#65426](https://github.com/pingcap/tidb/issues/65426) @[ti-chi-bot](https://github.com/ti-chi-bot) + TiKV From 0b6eb7cc63fa7b244a631002865352f17ffca9d7 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Thu, 26 Mar 2026 15:06:43 +0800 Subject: [PATCH 14/52] Update releases/release-8.5.6.md --- releases/release-8.5.6.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 0548487d9f85a..dea3e757a5e48 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -23,6 +23,28 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti For more information, please refer to the [User Documentation](/tidb-resource-control-background-tasks.md). +### 可观测性 + +- 支持多维度、多粒度定义慢查询日志的触发规则(GA)[#62959](https://github.com/pingcap/tidb/issues/62959) @[zimulala](https://github.com/zimulala) **tw@lilin90** + + 当前 TiDB 定位慢查询语句的主要方法是设置系统变量 tidb_slow_log_threshold,该机制触发慢日志控制粒度粗(整个实例级别全局控制,不支持会话和SQL级别精细化控制)、触发条件仅执行时间(Query_time)一种,无法满足复杂场景慢日志抓取以精细化定位问题的需求。 + + 本功能通过设置 tidb_slow_log_rules 系统变量,支持用户在实例、会话、SQL级别定义多维度(如 Query_time、Digest、Mem_max、KV_total 等等)的慢查询日志抓取规则,实现更灵活的精细化控制。 + + 在 v8.5.6 中,该功能成为正式功能(GA)。 + + 更多信息,请参考 [用户文档](/identify-slow-queries.md)。 + +- TOP SQL 增加网络流量和逻辑IO 数据(GA)[#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) **tw@qiancai** + + 当前 TiDB TOP SQL 中仅包含 CPU 的相关指标数据,在遇到复杂情况时不利于排查问题。 + + 本功能在 Top SQL 设置中增加开启 **TiKV 网络I0 采集(多维度)**,方便用户进一步查看指定 TiKV 实例的 Network Bytes、Logical IO Bytes 等指标,并按 By Query、By Table、By DB 或 By Region 维度进行聚合分析。 + + 在 v8.5.6 中,该功能成为正式功能(GA)。 + + 更多信息,请参考 [用户文档](/dashboard/top-sql.md)。 + ### Data Migration - (dup): release-9.0.0.md > # Data migration * Migrate sync-diff-inspector from `pingcap/tidb-tools` to `pingcap/tiflow` repository [#11672](https://github.com/pingcap/tiflow/issues/11672) @[joechenrh](https://github.com/joechenrh) From 91d51fabe0edf36c55730771814c04524cc3eabd Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Thu, 26 Mar 2026 15:42:00 +0800 Subject: [PATCH 15/52] Update releases/release-8.5.6.md --- releases/release-8.5.6.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index dea3e757a5e48..477956eaf4830 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -157,8 +157,10 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti + Backup & Restore (BR) - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - 修复了 log backup 的 flush_ts 可能为 0 的问题 [#19406](https://github.com/tikv/tikv/issues/19406) @[YuJuncen](https://github.com/YuJuncen) + - 修复 BR 在使用 GCP S3 API server 进行 multipart upload 时因缺少 `Content-Length` 头而失败的问题 [#19352](https://github.com/tikv/tikv/issues/19352) @[Leavrth](https://github.com/Leavrth) + - 修复 BR `restore point` 可能长时间卡在 `waiting for schema info finishes reloading` 并在 15 分钟后超时失败的问题 [#66110](https://github.com/pingcap/tidb/issues/66110) @[kennytm](https://github.com/kennytm) + - 修复 BR 在恢复带有 `SHARD_ROW_ID_BITS`、`PRE_SPLIT_REGIONS` 和 `merge_option` 属性的表时无法正确预分裂 Region 的问题 [#65060](https://github.com/pingcap/tidb/issues/65060) @[JoyC-dev](https://github.com/JoyC-dev) + TiCDC From 51a41b8e5effee6ec5693be810b3260d1ff50128 Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 27 Mar 2026 11:38:09 +0800 Subject: [PATCH 16/52] add DM and Dumpling --- releases/release-8.5.6.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 477956eaf4830..d677fd7ee098a 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -97,6 +97,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - Support migrating data from MySQL 8.4 as a data source. The compatibility level for MySQL 8.4 is upgraded from "Incompatible" to "Experimental" [#11020](https://github.com/pingcap/tiflow/issues/11020) @[dveeden](https://github.com/dveeden) + TiDB Lightning @@ -107,6 +108,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - Support exporting data from MySQL 8.4 by adopting the updated MySQL binary log terminology [#53082](https://github.com/pingcap/tidb/issues/53082) @[dveeden](https://github.com/dveeden) + TiUP From 2b935d2b0cc5c718d4abd45b5315266db9c197d0 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 30 Mar 2026 09:48:26 +0800 Subject: [PATCH 17/52] Update releases/release-8.5.6.md --- releases/release-8.5.6.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index d677fd7ee098a..a665726ded22c 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -133,6 +133,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti - 修复可能出现的内存泄漏 [#65522](https://github.com/pingcap/tidb/issues/65522) @[bufferflies](https://github.com/bufferflies) - 修复系统表可能影响 stats healthy 监控的问题 [#64080](https://github.com/pingcap/tidb/issues/64080) @[ti-chi-bot](https://github.com/ti-chi-bot) - 修复 stats delta 数据可能刷新不及时的问题 [#65426](https://github.com/pingcap/tidb/issues/65426) @[ti-chi-bot](https://github.com/ti-chi-bot) + - 修复事务中第一条语句使用 fair locking 模式上锁时,有时可能使事务 keep alive 失效、并被意外回滚的问题 [#66571](https://github.com/pingcap/tidb/issues/66571) @[MyonKeminta](https://github.com/MyonKeminta) + TiKV From 44306afd3a473101756359299c69e9f6942c3593 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 30 Mar 2026 10:02:51 +0800 Subject: [PATCH 18/52] Apply suggestions from code review Co-authored-by: Frank945946 <108602632+Frank945946@users.noreply.github.com> Co-authored-by: Ziqian Qin --- releases/release-8.5.6.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index a665726ded22c..8e3dce11fe4f9 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -12,7 +12,32 @@ TiDB Version: 8.5.6 Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-tidb) | [Production Deployment](https://docs.pingcap.com/tidb/v8.5/production-deployment-using-tiup) | [Download Offline Package](https://pingkai.cn/download#tidb-community) ## Feature Details +- +### **SQL** +- Support column-level privilege management [#61706](https://github.com/pingcap/tidb/issues/61706) [@CbcWestwolf](https://github.com/CbcWestwolf),[@fzzf678](https://github.com/fzzf678) **tw@hfxsd** +Before v8.5.6, TiDB privilege control mainly covered the database, and table levels, and did not support granting or revoking privileges on specific columns as MySQL does. As a result, when you needed to restrict users to accessing only a subset of sensitive columns in a table, TiDB could not provide sufficiently fine-grained access control. + +Starting from v8.5.6, TiDB supports column-level privilege management. You can use the `GRANT` and `REVOKE` statements to grant or revoke privileges on specific columns, and TiDB performs privilege checks based on column privileges during query processing and execution plan construction. This enables more fine-grained access control and better supports sensitive data isolation and the principle of least privilege. + + For more information, see the user documentation. + + - Support table aliases referenced in the `FOR UPDATE OF` clause [#65532](https://github.com/pingcap/tidb/pull/65532) [@cryo-zd](https://github.com/cryo-zd)**tw@lilin90** + +Before v8.5.6, when a `SELECT ... FOR UPDATE OF ` statement referenced a table alias in the locking clause, TiDB could fail to resolve the alias correctly and return a `table not exists` error even though the alias was valid. + +Starting from v8.5.6, TiDB supports table aliases in the `FOR UPDATE OF` clause. TiDB can now correctly resolve the locking target from the `FROM` clause, including aliased tables, so that row locks are applied as expected. This improves MySQL compatibility and makes `SELECT ... FOR UPDATE OF` statements more reliable in queries that use table aliases. + + For more information, see the user documentation. + +### **DB operations** +- Support specifying the maximum number of nodes for distributed execution tasks [#58937](https://github.com/pingcap/tidb/pull/58937) [@tangenta](https://github.com/tangenta), [@D3Hunter](https://github.com/D3Hunter) + +Before v8.5.6, TiDB did not support efficiently limiting how many nodes a distributed execution task could use. When you wanted to control resource usage for distributed task execution, TiDB did not provide a dedicated option to constrain the maximum node count. + +Starting from v8.5.6, TiDB supports the `tidb_max_dist_task_nodes` system variable, which lets you specify the maximum number of TiDB nodes used by a distributed execution task. This gives you more flexibility to manage resource usage and tune distributed task execution based on workload and cluster conditions. + + For more information, see the user documentation. ### Stability - The ability to set resource limits for background tasks in Resource Control is now Generally Available (GA) [#56019](https://github.com/pingcap/tidb/issues/56019) @[glorv](https://github.com/glorv) **tw@hfxsd** @@ -56,7 +81,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti ## Improvements + TiDB - +- Improve plan selection for queries with IN predicates on index prefix columns. TiDB can now leverage merge sort to preserve order in ORDER BY ... LIMIT queries, reducing unnecessary scans and improving performance.[#62694](https://github.com/pingcap/tidb/pull/62694) [@time-and-fate](https://github.com/time-and-fate)**tw@hfxsd** - Enhanced slow query log control by supporting [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-new-in-v900) for targeted slow query log output based on combinations of multiple metrics, [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-new-in-v900) for limiting the number of slow query log entries per second, and the [`WRITE_SLOW_LOG`](/identify-slow-queries.md#related-hint) hint for forcing specified SQL statements to be recorded in the slow query log [#64010](https://github.com/pingcap/tidb/issues/64010) @[zimulala](https://github.com/zimulala) - Enhanced [Top SQL](/dashboard/top-sql.md) for resource analysis by supporting Top `5`, `20`, or `100` queries, hotspot analysis sorted by CPU, network traffic, or logical I/O, and aggregated analysis by `Query`, `Table`, `DB`, or `Region` on TiKV instances [#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) - 新增 DXF 的 max_node_count 配置项支持 [#66376](https://github.com/pingcap/tidb/pull/66376)@[D3Hunter](https://github.com/D3Hunter) @@ -137,6 +162,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti + TiKV + - Fix a memory leak in crossbeam skiplist. [#19285](https://github.com/tikv/tikv/issues/19285) @[ekexium](https://github.com/ekexium) - Fix the issue that global indexes on non-unique columns of partitioned tables might become inconsistent and return incorrect results in some cases. [#19262](https://github.com/tikv/tikv/issues/19262) @[mjonss](https://github.com/mjonss) - Fix the issue that stalled coprocessor snapshot retrieval could occupy unified read pool workers until request deadlines expired, delaying other read requests. [#18491](https://github.com/tikv/tikv/issues/18491) @[AndreMouche](https://github.com/AndreMouche) - Fix the issue that follower replica reads could remain blocked on disk-full TiKV nodes by rejecting read-index requests on disk-full followers. [#19201](https://github.com/tikv/tikv/issues/19201) @[glorv](https://github.com/glorv) From 65f4ade93f986d7cbad42fc6392678e5005898f8 Mon Sep 17 00:00:00 2001 From: houfaxin Date: Mon, 30 Mar 2026 10:31:54 +0800 Subject: [PATCH 19/52] make it ready for tw to edit --- releases/release-8.5.6.md | 125 ++++++++++++++++++++------------------ 1 file changed, 66 insertions(+), 59 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 8e3dce11fe4f9..5e2de56546eb4 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -12,32 +12,17 @@ TiDB Version: 8.5.6 Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-tidb) | [Production Deployment](https://docs.pingcap.com/tidb/v8.5/production-deployment-using-tiup) | [Download Offline Package](https://pingkai.cn/download#tidb-community) ## Feature Details -- -### **SQL** -- Support column-level privilege management [#61706](https://github.com/pingcap/tidb/issues/61706) [@CbcWestwolf](https://github.com/CbcWestwolf),[@fzzf678](https://github.com/fzzf678) **tw@hfxsd** - -Before v8.5.6, TiDB privilege control mainly covered the database, and table levels, and did not support granting or revoking privileges on specific columns as MySQL does. As a result, when you needed to restrict users to accessing only a subset of sensitive columns in a table, TiDB could not provide sufficiently fine-grained access control. -Starting from v8.5.6, TiDB supports column-level privilege management. You can use the `GRANT` and `REVOKE` statements to grant or revoke privileges on specific columns, and TiDB performs privilege checks based on column privileges during query processing and execution plan construction. This enables more fine-grained access control and better supports sensitive data isolation and the principle of least privilege. +### 性能 - For more information, see the user documentation. - - - Support table aliases referenced in the `FOR UPDATE OF` clause [#65532](https://github.com/pingcap/tidb/pull/65532) [@cryo-zd](https://github.com/cryo-zd)**tw@lilin90** +- 外键检查支持共享锁(GA) [#66154](https://github.com/pingcap/tidb/issues/66154) @[you06](https://github.com/glorv) **tw@qiancai** -Before v8.5.6, when a `SELECT ... FOR UPDATE OF
` statement referenced a table alias in the locking clause, TiDB could fail to resolve the alias correctly and return a `table not exists` error even though the alias was valid. + 对子表进行写入时,支持用户通过设置参数 tidb_foreign_key_check_in_shared_lock 来指定在父表加共享锁实现外键约束检查,相比以前仅支持排它锁,现方案可降低锁冲突提升子表并发写入性能。 -Starting from v8.5.6, TiDB supports table aliases in the `FOR UPDATE OF` clause. TiDB can now correctly resolve the locking target from the `FROM` clause, including aliased tables, so that row locks are applied as expected. This improves MySQL compatibility and makes `SELECT ... FOR UPDATE OF` statements more reliable in queries that use table aliases. + 在V8.5.6 中,该功能成为正式功能 (GA)。 - For more information, see the user documentation. - -### **DB operations** -- Support specifying the maximum number of nodes for distributed execution tasks [#58937](https://github.com/pingcap/tidb/pull/58937) [@tangenta](https://github.com/tangenta), [@D3Hunter](https://github.com/D3Hunter) + 更多信息,请参考[用户文档](/foreign-key.md)。 -Before v8.5.6, TiDB did not support efficiently limiting how many nodes a distributed execution task could use. When you wanted to control resource usage for distributed task execution, TiDB did not provide a dedicated option to constrain the maximum node count. - -Starting from v8.5.6, TiDB supports the `tidb_max_dist_task_nodes` system variable, which lets you specify the maximum number of TiDB nodes used by a distributed execution task. This gives you more flexibility to manage resource usage and tune distributed task execution based on workload and cluster conditions. - - For more information, see the user documentation. ### Stability - The ability to set resource limits for background tasks in Resource Control is now Generally Available (GA) [#56019](https://github.com/pingcap/tidb/issues/56019) @[glorv](https://github.com/glorv) **tw@hfxsd** @@ -69,19 +54,68 @@ Starting from v8.5.6, TiDB supports the `tidb_max_dist_task_nodes` system variab 在 v8.5.6 中,该功能成为正式功能(GA)。 更多信息,请参考 [用户文档](/dashboard/top-sql.md)。 - + +### **SQL** + +- Support column-level privilege management [#61706](https://github.com/pingcap/tidb/issues/61706) [@CbcWestwolf](https://github.com/CbcWestwolf),[@fzzf678](https://github.com/fzzf678) **tw@hfxsd** + + Before v8.5.6, TiDB privilege control mainly covered the database, and table levels, and did not support granting or revoking privileges on specific columns as MySQL does. As a result, when you needed to restrict users to accessing only a subset of sensitive columns in a table, TiDB could not provide sufficiently fine-grained access control. + + Starting from v8.5.6, TiDB supports column-level privilege management. You can use the `GRANT` and `REVOKE` statements to grant or revoke privileges on specific columns, and TiDB performs privilege checks based on column privileges during query processing and execution plan construction. This enables more fine-grained access control and better supports sensitive data isolation and the principle of least privilege. + + For more information, see the [user documentation](/column-privilege-management.md). + + - Support table aliases referenced in the `FOR UPDATE OF` clause [#65532](https://github.com/pingcap/tidb/pull/65532) [@cryo-zd](https://github.com/cryo-zd) **tw@lilin90** + + Before v8.5.6, when a `SELECT ... FOR UPDATE OF
` statement referenced a table alias in the locking clause, TiDB could fail to resolve the alias correctly and return a `table not exists` error even though the alias was valid. + + Starting from v8.5.6, TiDB supports table aliases in the `FOR UPDATE OF` clause. TiDB can now correctly resolve the locking target from the `FROM` clause, including aliased tables, so that row locks are applied as expected. This improves MySQL compatibility and makes `SELECT ... FOR UPDATE OF` statements more reliable in queries that use table aliases. + + For more information, see the user documentation. + +### **DB operations** + +- Support specifying the maximum number of nodes for distributed execution tasks [#58937](https://github.com/pingcap/tidb/pull/58937) [@tangenta](https://github.com/tangenta), [@D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** + + Before v8.5.6, TiDB did not support efficiently limiting how many nodes a distributed execution task could use. When you wanted to control resource usage for distributed task execution, TiDB did not provide a dedicated option to constrain the maximum node count. + + Starting from v8.5.6, TiDB supports the `tidb_max_dist_task_nodes` system variable, which lets you specify the maximum number of TiDB nodes used by a distributed execution task. This gives you more flexibility to manage resource usage and tune distributed task execution based on workload and cluster conditions. + + For more information, see the [user documentation](/system-variables.md#tidb_max_dist_task_nodes-new-in-v856). + ### Data Migration - (dup): release-9.0.0.md > # Data migration * Migrate sync-diff-inspector from `pingcap/tidb-tools` to `pingcap/tiflow` repository [#11672](https://github.com/pingcap/tiflow/issues/11672) @[joechenrh](https://github.com/joechenrh) ## Compatibility Changes -- note [#issue](https://github.com/pingcap/${repo-name}/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) +For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions earlier than v8.5.4), you can smoothly upgrade to v8.5.6. Most changes in v8.5.6 are safe for routine upgrades, but this release also includes several behavior changes, MySQL compatibility adjustments, system variable updates, configuration parameter updates, and system table changes. Before upgrading, make sure to carefully review this section. + +### Behavior changes + +### MySQL compatibility + +### System variables + +| Variable name | Change type | Description | +|--------|------------------------------|------| +| | | | +| | | | +| | | | + +### Configuration parameters + +| Configuration file or component | Configuration parameter | Change type | Description | +| -------- | -------- | -------- | -------- | +| | | | +| | | | +| | | | ## Improvements + TiDB -- Improve plan selection for queries with IN predicates on index prefix columns. TiDB can now leverage merge sort to preserve order in ORDER BY ... LIMIT queries, reducing unnecessary scans and improving performance.[#62694](https://github.com/pingcap/tidb/pull/62694) [@time-and-fate](https://github.com/time-and-fate)**tw@hfxsd** + + - Improve plan selection for queries with IN predicates on index prefix columns. TiDB can now leverage merge sort to preserve order in ORDER BY ... LIMIT queries, reducing unnecessary scans and improving performance.[#62694](https://github.com/pingcap/tidb/pull/62694) [@time-and-fate](https://github.com/time-and-fate)**tw@hfxsd** - Enhanced slow query log control by supporting [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-new-in-v900) for targeted slow query log output based on combinations of multiple metrics, [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-new-in-v900) for limiting the number of slow query log entries per second, and the [`WRITE_SLOW_LOG`](/identify-slow-queries.md#related-hint) hint for forcing specified SQL statements to be recorded in the slow query log [#64010](https://github.com/pingcap/tidb/issues/64010) @[zimulala](https://github.com/zimulala) - Enhanced [Top SQL](/dashboard/top-sql.md) for resource analysis by supporting Top `5`, `20`, or `100` queries, hotspot analysis sorted by CPU, network traffic, or logical I/O, and aggregated analysis by `Query`, `Table`, `DB`, or `Region` on TiKV instances [#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) - 新增 DXF 的 max_node_count 配置项支持 [#66376](https://github.com/pingcap/tidb/pull/66376)@[D3Hunter](https://github.com/D3Hunter) @@ -97,49 +131,30 @@ Starting from v8.5.6, TiDB supports the `tidb_max_dist_task_nodes` system variab + PD - - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - 删除不存在的 label 时,现在会返回 404 [#10089](https://github.com/tikv/pd/issues/10089) @[lhy1024](https://github.com/lhy1024) - (dup): release-7.5.7.md > Improvements> PD - Reduce unnecessary error logs [#9370](https://github.com/tikv/pd/issues/9370) @[bufferflies](https://github.com/bufferflies) + TiFlash - - note [#issue](https://github.com/pingcap/tiflash/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tiflash/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - + Tools + Backup & Restore (BR) - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - + TiCDC - - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - + TiDB Data Migration (DM) - - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - Support migrating data from MySQL 8.4 as a data source. The compatibility level for MySQL 8.4 is upgraded from "Incompatible" to "Experimental" [#11020](https://github.com/pingcap/tiflow/issues/11020) @[dveeden](https://github.com/dveeden) + - 在 DM syncer 中新增外键因果依赖支持,确保多 worker 场景下行变更按照父表至子表的外键顺序执行 [#12552](https://github.com/pingcap/tiflow/pull/12552) @[OliverS929](https://github.com/OliverS929) + TiDB Lightning - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - + Dumpling - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - Support exporting data from MySQL 8.4 by adopting the updated MySQL binary log terminology [#53082](https://github.com/pingcap/tidb/issues/53082) @[dveeden](https://github.com/dveeden) + TiUP - - note [#issue](https://github.com/pingcap/tiup/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tiup/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - ## Bug Fixes + TiDB @@ -173,8 +188,8 @@ Starting from v8.5.6, TiDB supports the `tidb_max_dist_task_nodes` system variab + PD - - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/tikv/pd/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - 修复 distribute table sql panic 问题,特别是 merge region operator 比较多的场景容易触发这个 bug。 [#10292](https://github.com/tikv/pd/pull/10292) @[bufferflies](https://github.com/bufferflies) + - 修复设置 store limit 后可能不马上生效的问题 [#10108](https://github.com/tikv/pd/issues/10108) @[okJiang](https://github.com/okJiang) + TiFlash @@ -186,7 +201,7 @@ Starting from v8.5.6, TiDB supports the `tidb_max_dist_task_nodes` system variab + Backup & Restore (BR) - - 修复了 log backup 的 flush_ts 可能为 0 的问题 [#19406](https://github.com/tikv/tikv/issues/19406) @[YuJuncen](https://github.com/YuJuncen) + - 修复 log backup 的 flush_ts 可能为 0 的问题 [#19406](https://github.com/tikv/tikv/issues/19406) @[YuJuncen](https://github.com/YuJuncen) - 修复 BR 在使用 GCP S3 API server 进行 multipart upload 时因缺少 `Content-Length` 头而失败的问题 [#19352](https://github.com/tikv/tikv/issues/19352) @[Leavrth](https://github.com/Leavrth) - 修复 BR `restore point` 可能长时间卡在 `waiting for schema info finishes reloading` 并在 15 分钟后超时失败的问题 [#66110](https://github.com/pingcap/tidb/issues/66110) @[kennytm](https://github.com/kennytm) - 修复 BR 在恢复带有 `SHARD_ROW_ID_BITS`、`PRE_SPLIT_REGIONS` 和 `merge_option` 属性的表时无法正确预分裂 Region 的问题 [#65060](https://github.com/pingcap/tidb/issues/65060) @[JoyC-dev](https://github.com/JoyC-dev) @@ -200,20 +215,12 @@ Starting from v8.5.6, TiDB supports the `tidb_max_dist_task_nodes` system variab + TiDB Data Migration (DM) - - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tiflow/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - 修复 DM 在 binlog rotate 事件时全局 checkpoint 位置未推进的问题 [#12525](https://github.com/pingcap/tiflow/pull/12525) @[OliverS929](https://github.com/OliverS929) + - 修复含外键约束的表在 DM safe-mode 下的异常行为,移除 UPDATE 改写中多余的 DELETE 操作并避免触发外键级联 [#12541](https://github.com/pingcap/tiflow/pull/12541) @[OliverS929](https://github.com/OliverS929) + - 修复 DM validator 对 UNSIGNED 列误报校验错误的问题 [#12555](https://github.com/pingcap/tiflow/pull/12555) @[OliverS929](https://github.com/OliverS929) + TiDB Lightning - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - + Dumpling - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - + TiUP - - - note [#issue](https://github.com/pingcap/tiup/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tiup/issues/${issue-id}) @[Contributor GitHub ID](https://github.com/${github-id}) + - 修复 Dumpling 与 MySQL 8.4 的兼容性问题 [#65131](https://github.com/pingcap/tidb/pull/65131) @[dveeden](https://github.com/dveeden) From 12bde21bd22395baed2877db467b8bdb0b8e6e7c Mon Sep 17 00:00:00 2001 From: houfaxin Date: Mon, 30 Mar 2026 10:36:51 +0800 Subject: [PATCH 20/52] assign tw --- releases/release-8.5.6.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 5e2de56546eb4..64f924dcc3f64 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -113,7 +113,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions ## Improvements -+ TiDB ++ TiDB - Improve plan selection for queries with IN predicates on index prefix columns. TiDB can now leverage merge sort to preserve order in ORDER BY ... LIMIT queries, reducing unnecessary scans and improving performance.[#62694](https://github.com/pingcap/tidb/pull/62694) [@time-and-fate](https://github.com/time-and-fate)**tw@hfxsd** - Enhanced slow query log control by supporting [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-new-in-v900) for targeted slow query log output based on combinations of multiple metrics, [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-new-in-v900) for limiting the number of slow query log entries per second, and the [`WRITE_SLOW_LOG`](/identify-slow-queries.md#related-hint) hint for forcing specified SQL statements to be recorded in the slow query log [#64010](https://github.com/pingcap/tidb/issues/64010) @[zimulala](https://github.com/zimulala) @@ -122,14 +122,14 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - 调整部分 stats 相关日志为 warning 级别 [#58315](https://github.com/pingcap/tidb/pull/58315)@[hawkingrei](https://github.com/hawkingrei) - 调整 tidb_analyze_column_options 默认值为 all [#64992](https://github.com/pingcap/tidb/issues/64992) @[0xPoe](https://github.com/0xPoe) -+ TiKV ++ TiKV - Add MVCC-read-aware load-based compaction to prioritize regions with heavy MVCC read overhead. [#19133](https://github.com/tikv/tikv/issues/19133) @[mittalrishabh](https://github.com/mittalrishabh) - Optimize stale-range cleanup during scaling by deleting stale keys directly instead of ingesting SST files, reducing latency impact. [#18042](https://github.com/tikv/tikv/issues/18042) @[LykxSassinator](https://github.com/LykxSassinator) - Make default gRPC raft connection and concurrency settings scale with CPU quota to improve resource utilization. [#18613](https://github.com/tikv/tikv/issues/18613) @[LykxSassinator](https://github.com/LykxSassinator) - Add Top SQL support for collecting network traffic and logical I/O information to help diagnose SQL performance issues. [#18815](https://github.com/tikv/tikv/issues/18815) @[yibin87](https://github.com/yibin87) -+ PD ++ PD - 删除不存在的 label 时,现在会返回 404 [#10089](https://github.com/tikv/pd/issues/10089) @[lhy1024](https://github.com/lhy1024) - (dup): release-7.5.7.md > Improvements> PD - Reduce unnecessary error logs [#9370](https://github.com/tikv/pd/issues/9370) @[bufferflies](https://github.com/bufferflies) @@ -142,14 +142,14 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiCDC - + TiDB Data Migration (DM) + + TiDB Data Migration (DM) - Support migrating data from MySQL 8.4 as a data source. The compatibility level for MySQL 8.4 is upgraded from "Incompatible" to "Experimental" [#11020](https://github.com/pingcap/tiflow/issues/11020) @[dveeden](https://github.com/dveeden) - 在 DM syncer 中新增外键因果依赖支持,确保多 worker 场景下行变更按照父表至子表的外键顺序执行 [#12552](https://github.com/pingcap/tiflow/pull/12552) @[OliverS929](https://github.com/OliverS929) + TiDB Lightning - + Dumpling + + Dumpling - Support exporting data from MySQL 8.4 by adopting the updated MySQL binary log terminology [#53082](https://github.com/pingcap/tidb/issues/53082) @[dveeden](https://github.com/dveeden) @@ -157,7 +157,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions ## Bug Fixes -+ TiDB ++ TiDB - Fix the issue that upgrading from release-8.5-20250606-v8.5.2 to upstream release-8.5 can skip PITR metadata upgrades and cause PITR operations to fail. [#66994](https://github.com/pingcap/tidb/issues/66994) @[fzzf678](https://github.com/fzzf678) - Fix the issue that after EXCHANGE PARTITION, non-unique or nullable unique global indexes on non-clustered partitioned tables can become inconsistent and return incomplete results. [#65289](https://github.com/pingcap/tidb/issues/65289) @[mjonss](https://github.com/mjonss) @@ -165,7 +165,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - Improve the performance of privilege updates such as GRANT and REVOKE in deployments with large numbers of privilege entries. [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) - Fix the issue that KILL QUERY incorrectly kills idle connections. [#65447](https://github.com/pingcap/tidb/issues/65447) @[gengliqi](https://github.com/gengliqi) - Fix the issue that column-level privilege checks can be incorrect for JOIN ... USING, NATURAL JOIN, and INSERT ... ON DUPLICATE KEY UPDATE. [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) - - Improve privilege-check performance for deployments with many column-level privilege entries. [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) + - Improve privilege-check performance for deployments with many column-level privilege entries. [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) - Add cluster_id to mysql.tidb so external tools can determine whether two TiDB instances belong to the same cluster. [#59476](https://github.com/pingcap/tidb/issues/59476) @[YangKeao](https://github.com/YangKeao) - Improve the slow query log by printing non-printable prepared-statement arguments as hexadecimal literals. [#65383](https://github.com/pingcap/tidb/issues/65383) @[dveeden](https://github.com/dveeden) - 修复 tidb_service_scope 设置时未统一转换为小写的问题 [#66835](https://github.com/pingcap/tidb/pull/66835)@[D3Hunter](https://github.com/D3Hunter) @@ -175,7 +175,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - 修复 stats delta 数据可能刷新不及时的问题 [#65426](https://github.com/pingcap/tidb/issues/65426) @[ti-chi-bot](https://github.com/ti-chi-bot) - 修复事务中第一条语句使用 fair locking 模式上锁时,有时可能使事务 keep alive 失效、并被意外回滚的问题 [#66571](https://github.com/pingcap/tidb/issues/66571) @[MyonKeminta](https://github.com/MyonKeminta) -+ TiKV ++ TiKV - Fix a memory leak in crossbeam skiplist. [#19285](https://github.com/tikv/tikv/issues/19285) @[ekexium](https://github.com/ekexium) - Fix the issue that global indexes on non-unique columns of partitioned tables might become inconsistent and return incorrect results in some cases. [#19262](https://github.com/tikv/tikv/issues/19262) @[mjonss](https://github.com/mjonss) @@ -186,12 +186,12 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - Fix ingest latency spikes in large clusters by increasing the default `rocksdb.max-manifest-file-size` from 128 MiB to 256 MiB. [#18996](https://github.com/tikv/tikv/issues/18996) @[glorv](https://github.com/glorv) - (dup): release-5.1.4.md > Bug fixes> TiKV - Fix the rare data inconsistency issue when retrying a prewrite request in pessimistic transactions [#11187](https://github.com/tikv/tikv/issues/11187) -+ PD ++ PD - 修复 distribute table sql panic 问题,特别是 merge region operator 比较多的场景容易触发这个 bug。 [#10292](https://github.com/tikv/pd/pull/10292) @[bufferflies](https://github.com/bufferflies) - 修复设置 store limit 后可能不马上生效的问题 [#10108](https://github.com/tikv/pd/issues/10108) @[okJiang](https://github.com/okJiang) -+ TiFlash ++ TiFlash - 修复当一个列执行将列属性 `NOT NULL` 转为 `NULL` 的 DDL 之后,TiFlash 与 TiKV 之间可能产生不一致数据的问题 [#10680](https://github.com/pingcap/tiflash/issues/10680) @[JaySon-Huang](https://github.com/JaySon-Huang) - 修复 Grafana 面板中 Raft throughput 可能会错误地显示一个非常大的数值的问题 [#10701](https://github.com/pingcap/tiflash/issues/10701) @[CalvinNeo](https://github.com/CalvinNeo) @@ -199,21 +199,21 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + Tools - + Backup & Restore (BR) + + Backup & Restore (BR) - 修复 log backup 的 flush_ts 可能为 0 的问题 [#19406](https://github.com/tikv/tikv/issues/19406) @[YuJuncen](https://github.com/YuJuncen) - 修复 BR 在使用 GCP S3 API server 进行 multipart upload 时因缺少 `Content-Length` 头而失败的问题 [#19352](https://github.com/tikv/tikv/issues/19352) @[Leavrth](https://github.com/Leavrth) - 修复 BR `restore point` 可能长时间卡在 `waiting for schema info finishes reloading` 并在 15 分钟后超时失败的问题 [#66110](https://github.com/pingcap/tidb/issues/66110) @[kennytm](https://github.com/kennytm) - 修复 BR 在恢复带有 `SHARD_ROW_ID_BITS`、`PRE_SPLIT_REGIONS` 和 `merge_option` 属性的表时无法正确预分裂 Region 的问题 [#65060](https://github.com/pingcap/tidb/issues/65060) @[JoyC-dev](https://github.com/JoyC-dev) - + TiCDC + + TiCDC - Fixed an issue where changefeed might repeatedly create invalid dispatchers when the server restarts. [#4452](https://github.com/pingcap/ticdc/issues/4452) @[wlwilliamx](https://github.com/wlwilliamx) - Fixed an issue where table renaming operations could not be performed normally when the upstream TiDB version was <= v8.1.x. [#4392](https://github.com/pingcap/ticdc/issues/4392) @[lidezhu](https://github.com/lidezhu) - Fixed a bug during data scanning to avoid potential abnormal crashes of TiKV when CDC is enabled. [#19404](https://github.com/tikv/tikv/issues/19404) @[wk989898](https://github.com/wk989898) - Supported Azure Managed Identity authentication for azblob sinks and fixed a potential stuck issue during cloud storage uploads. [#3093](https://github.com/pingcap/ticdc/issues/3093) @[wlwilliamx](https://github.com/wlwilliamx) - + TiDB Data Migration (DM) + + TiDB Data Migration (DM) - 修复 DM 在 binlog rotate 事件时全局 checkpoint 位置未推进的问题 [#12525](https://github.com/pingcap/tiflow/pull/12525) @[OliverS929](https://github.com/OliverS929) - 修复含外键约束的表在 DM safe-mode 下的异常行为,移除 UPDATE 改写中多余的 DELETE 操作并避免触发外键级联 [#12541](https://github.com/pingcap/tiflow/pull/12541) @[OliverS929](https://github.com/OliverS929) @@ -221,6 +221,6 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiDB Lightning - + Dumpling + + Dumpling - 修复 Dumpling 与 MySQL 8.4 的兼容性问题 [#65131](https://github.com/pingcap/tidb/pull/65131) @[dveeden](https://github.com/dveeden) From 7e2eb8bedc9eb304f74ccc8836999668b7bb3c21 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 30 Mar 2026 15:06:56 +0800 Subject: [PATCH 21/52] Apply suggestions from code review --- releases/release-8.5.6.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 64f924dcc3f64..c2a1afee24190 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -25,13 +25,13 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti ### Stability -- The ability to set resource limits for background tasks in Resource Control is now Generally Available (GA) [#56019](https://github.com/pingcap/tidb/issues/56019) @[glorv](https://github.com/glorv) **tw@hfxsd** +- Support setting the maximum limit on resource usage for background tasks of resource control (GA) [#56019](https://github.com/pingcap/tidb/issues/56019) @[glorv](https://github.com/glorv) **tw@hfxsd** - TiDB Resource Control can identify and lower the priority of background tasks. In some scenarios, even with idle resources, users may want to keep the consumption of background tasks at a very low level. Starting from v8.4.0, you can use the `UTILIZATION_LIMIT` parameter to set the maximum percentage of resources that background tasks under Resource Control can use, controlling the usage of all background tasks on each node below this percentage. This feature allows you to finely control the resource consumption of background tasks, further enhancing cluster stability. + TiDB resource control can identify and lower the priority of background tasks. In certain scenarios, you might want to limit the resource consumption of background tasks, even when resources are available. Starting from v8.4.0, you can use the UTILIZATION_LIMIT parameter to set the maximum percentage of resources that background tasks can consume. Each node will keep the resource usage of all background tasks below this percentage. This feature enables precise control over resource consumption for background tasks, further enhancing cluster stability. - In v8.5.6, this feature is Generally Available (GA). + In v8.5.6, this feature is generally available (GA). - For more information, please refer to the [User Documentation](/tidb-resource-control-background-tasks.md). + For more information, see [User Documentation](/tidb-resource-control-background-tasks.md). ### 可观测性 @@ -59,9 +59,9 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti - Support column-level privilege management [#61706](https://github.com/pingcap/tidb/issues/61706) [@CbcWestwolf](https://github.com/CbcWestwolf),[@fzzf678](https://github.com/fzzf678) **tw@hfxsd** - Before v8.5.6, TiDB privilege control mainly covered the database, and table levels, and did not support granting or revoking privileges on specific columns as MySQL does. As a result, when you needed to restrict users to accessing only a subset of sensitive columns in a table, TiDB could not provide sufficiently fine-grained access control. + Before v8.5.6, TiDB privilege control covers the database and table levels and does not support granting or revoking privileges on specific columns, unlike MySQL. As a result, you cannot restrict users to access only a subset of sensitive columns in a table. - Starting from v8.5.6, TiDB supports column-level privilege management. You can use the `GRANT` and `REVOKE` statements to grant or revoke privileges on specific columns, and TiDB performs privilege checks based on column privileges during query processing and execution plan construction. This enables more fine-grained access control and better supports sensitive data isolation and the principle of least privilege. + Starting from v8.5.6, TiDB supports column-level privilege management. You can use the `GRANT` and `REVOKE` statements to manage privileges on specific columns. TiDB performs privilege checks based on column-level privileges during query processing and execution plan construction, enabling finer-grained access control and better support for sensitive data isolation and the principle of least privilege. For more information, see the [user documentation](/column-privilege-management.md). @@ -75,11 +75,11 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti ### **DB operations** -- Support specifying the maximum number of nodes for distributed execution tasks [#58937](https://github.com/pingcap/tidb/pull/58937) [@tangenta](https://github.com/tangenta), [@D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** +- Support specifying the maximum number of nodes for Distributed eXecution Framework (DXF) tasks [#58937](https://github.com/pingcap/tidb/pull/58937) [@tangenta](https://github.com/tangenta), [@D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** - Before v8.5.6, TiDB did not support efficiently limiting how many nodes a distributed execution task could use. When you wanted to control resource usage for distributed task execution, TiDB did not provide a dedicated option to constrain the maximum node count. + Before v8.5.6, TiDB does not provide a way to limit the number of nodes used by a distributed execution task. When you want to control resource usage for DXF, TiDB does not provide a dedicated option to constrain the maximum node count. - Starting from v8.5.6, TiDB supports the `tidb_max_dist_task_nodes` system variable, which lets you specify the maximum number of TiDB nodes used by a distributed execution task. This gives you more flexibility to manage resource usage and tune distributed task execution based on workload and cluster conditions. + Starting from v8.5.6, TiDB introduces the `tidb_max_dist_task_nodes` system variable to specify the maximum number of TiDB nodes used by a DXF task, enabling better resource control and workload-based tuning. For more information, see the [user documentation](/system-variables.md#tidb_max_dist_task_nodes-new-in-v856). From afad711f65df32030222dd33fb891a26e2298065 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 30 Mar 2026 15:32:58 +0800 Subject: [PATCH 22/52] Update releases/release-8.5.6.md --- releases/release-8.5.6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index c2a1afee24190..82ef277bd8688 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -115,7 +115,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiDB - - Improve plan selection for queries with IN predicates on index prefix columns. TiDB can now leverage merge sort to preserve order in ORDER BY ... LIMIT queries, reducing unnecessary scans and improving performance.[#62694](https://github.com/pingcap/tidb/pull/62694) [@time-and-fate](https://github.com/time-and-fate)**tw@hfxsd** + - Improve plan selection for queries with `IN` predicates on index prefix columns. TiDB can now use merge sort to preserve order for `ORDER BY ... LIMIT` queries, reducing unnecessary scans and improving performance. [#63449](https://github.com/pingcap/tidb/issues/63449) [#34882](https://github.com/pingcap/tidb/issues/34882) [@time-and-fate](https://github.com/time-and-fate) **tw@hfxsd** - Enhanced slow query log control by supporting [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-new-in-v900) for targeted slow query log output based on combinations of multiple metrics, [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-new-in-v900) for limiting the number of slow query log entries per second, and the [`WRITE_SLOW_LOG`](/identify-slow-queries.md#related-hint) hint for forcing specified SQL statements to be recorded in the slow query log [#64010](https://github.com/pingcap/tidb/issues/64010) @[zimulala](https://github.com/zimulala) - Enhanced [Top SQL](/dashboard/top-sql.md) for resource analysis by supporting Top `5`, `20`, or `100` queries, hotspot analysis sorted by CPU, network traffic, or logical I/O, and aggregated analysis by `Query`, `Table`, `DB`, or `Region` on TiKV instances [#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) - 新增 DXF 的 max_node_count 配置项支持 [#66376](https://github.com/pingcap/tidb/pull/66376)@[D3Hunter](https://github.com/D3Hunter) From cee81a1fc44fc7de516a003aa87bca58e0586fd1 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 30 Mar 2026 17:12:22 +0800 Subject: [PATCH 23/52] Update releases/release-8.5.6.md --- releases/release-8.5.6.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 82ef277bd8688..dd6417644357d 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -166,14 +166,13 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - Fix the issue that KILL QUERY incorrectly kills idle connections. [#65447](https://github.com/pingcap/tidb/issues/65447) @[gengliqi](https://github.com/gengliqi) - Fix the issue that column-level privilege checks can be incorrect for JOIN ... USING, NATURAL JOIN, and INSERT ... ON DUPLICATE KEY UPDATE. [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) - Improve privilege-check performance for deployments with many column-level privilege entries. [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) - - Add cluster_id to mysql.tidb so external tools can determine whether two TiDB instances belong to the same cluster. [#59476](https://github.com/pingcap/tidb/issues/59476) @[YangKeao](https://github.com/YangKeao) - - Improve the slow query log by printing non-printable prepared-statement arguments as hexadecimal literals. [#65383](https://github.com/pingcap/tidb/issues/65383) @[dveeden](https://github.com/dveeden) - - 修复 tidb_service_scope 设置时未统一转换为小写的问题 [#66835](https://github.com/pingcap/tidb/pull/66835)@[D3Hunter](https://github.com/D3Hunter) - - 修复 TiDB 重启后无法展示亲和力表的问题 [#66284](https://github.com/pingcap/tidb/issues/66284) @[lcwangchao](https://github.com/lcwangchao) - - 修复可能出现的内存泄漏 [#65522](https://github.com/pingcap/tidb/issues/65522) @[bufferflies](https://github.com/bufferflies) - - 修复系统表可能影响 stats healthy 监控的问题 [#64080](https://github.com/pingcap/tidb/issues/64080) @[ti-chi-bot](https://github.com/ti-chi-bot) - - 修复 stats delta 数据可能刷新不及时的问题 [#65426](https://github.com/pingcap/tidb/issues/65426) @[ti-chi-bot](https://github.com/ti-chi-bot) - - 修复事务中第一条语句使用 fair locking 模式上锁时,有时可能使事务 keep alive 失效、并被意外回滚的问题 [#66571](https://github.com/pingcap/tidb/issues/66571) @[MyonKeminta](https://github.com/MyonKeminta) + - Add `cluster_id` to `mysql.tidb`, enabling external tools to determine whether two TiDB instances belong to the same cluster [#59476](https://github.com/pingcap/tidb/issues/59476) @[YangKeao](https://github.com/YangKeao) + - Improve slow query log readability by outputting non-printable prepared statement arguments as hexadecimal values [#65383](https://github.com/pingcap/tidb/issues/65383) @[dveeden](https://github.com/dveeden) + - Fix the issue that the value of `tidb_service_scope` is not converted to lowercase when set [#66749](https://github.com/pingcap/tidb/issues/66749) @[D3Hunter](https://github.com/D3Hunter) + - Fix the issue that affinity tables are not displayed after TiDB restarts [#66284](https://github.com/pingcap/tidb/issues/66284) @[lcwangchao](https://github.com/lcwangchao) + - Fix the issue that the Stats Healthy metric displays inaccurately because system tables are not excluded from the stats cache [#64080](https://github.com/pingcap/tidb/issues/64080) @[ti-chi-bot](https://github.com/ti-chi-bot) + - Fix the issue that statistics might not be updated due to abnormal updates of `modify_count` [#65426](https://github.com/pingcap/tidb/issues/65426) @[ti-chi-bot](https://github.com/ti-chi-bot) + - Fix the issue that a pessimistic transaction might be unexpectedly rolled back due to a keep-alive mechanism failure when its first statement acquires locks in fair locking mode [#66571](https://github.com/pingcap/tidb/issues/66571) @[MyonKeminta](https://github.com/MyonKeminta) + TiKV From b5ae92445e8a76c211657c00772e6b7280ba4266 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 30 Mar 2026 17:23:39 +0800 Subject: [PATCH 24/52] Apply suggestions from code review --- releases/release-8.5.6.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index dd6417644357d..cc2117526bfdc 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -187,14 +187,14 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + PD - - 修复 distribute table sql panic 问题,特别是 merge region operator 比较多的场景容易触发这个 bug。 [#10292](https://github.com/tikv/pd/pull/10292) @[bufferflies](https://github.com/bufferflies) - - 修复设置 store limit 后可能不马上生效的问题 [#10108](https://github.com/tikv/pd/issues/10108) @[okJiang](https://github.com/okJiang) + - Fix a panic issue that might occur when executing `DISTRIBUTE TABLE` in scenarios with a large number of Merge Region operators [#10292](https://github.com/tikv/pd/pull/10292) @[bufferflies](https://github.com/bufferflies) + - Fix the issue that configuring Store Limit might not take effect immediately [#10108](https://github.com/tikv/pd/issues/10108) @[okJiang](https://github.com/okJiang) + TiFlash - - 修复当一个列执行将列属性 `NOT NULL` 转为 `NULL` 的 DDL 之后,TiFlash 与 TiKV 之间可能产生不一致数据的问题 [#10680](https://github.com/pingcap/tiflash/issues/10680) @[JaySon-Huang](https://github.com/JaySon-Huang) - - 修复 Grafana 面板中 Raft throughput 可能会错误地显示一个非常大的数值的问题 [#10701](https://github.com/pingcap/tiflash/issues/10701) @[CalvinNeo](https://github.com/CalvinNeo) - - 修复 runtime filter 开启情况下,如果 join key 数据类型不一致时,join 结果可能出错的问题 [#10699](https://github.com/pingcap/tiflash/issues/10699) @[ChangRui-Ryan](https://github.com/ChangRui-Ryan) + - Fix a potential data inconsistency issue between TiFlash and TiKV after executing a DDL statement to remove the `NOT NULL` constraint of a column [#10680](https://github.com/pingcap/tiflash/issues/10680) @[JaySon-Huang](https://github.com/JaySon-Huang) + - Fix the issue that the Raft throughput metric in the Grafana dashboard might display an abnormally large value [#10701](https://github.com/pingcap/tiflash/issues/10701) @[CalvinNeo](https://github.com/CalvinNeo) + - Fix an issue that the Join result might be incorrect when the Runtime Filter is enabled and the Join Keys have inconsistent data types [#10699](https://github.com/pingcap/tiflash/issues/10699) @[ChangRui-Ryan](https://github.com/ChangRui-Ryan) + Tools From 6bd03851047ef59abbc5d04778d1701d0fc433b3 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 30 Mar 2026 17:56:46 +0800 Subject: [PATCH 25/52] Update releases/release-8.5.6.md --- releases/release-8.5.6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index cc2117526bfdc..4f82f1a6390f0 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -27,7 +27,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti - Support setting the maximum limit on resource usage for background tasks of resource control (GA) [#56019](https://github.com/pingcap/tidb/issues/56019) @[glorv](https://github.com/glorv) **tw@hfxsd** - TiDB resource control can identify and lower the priority of background tasks. In certain scenarios, you might want to limit the resource consumption of background tasks, even when resources are available. Starting from v8.4.0, you can use the UTILIZATION_LIMIT parameter to set the maximum percentage of resources that background tasks can consume. Each node will keep the resource usage of all background tasks below this percentage. This feature enables precise control over resource consumption for background tasks, further enhancing cluster stability. + TiDB resource control can identify and lower the priority of background tasks. In certain scenarios, you might want to limit the resource consumption of background tasks, even when resources are available. Starting from v8.4.0, you can use the `UTILIZATION_LIMIT` parameter to set the maximum percentage of resources that background tasks can consume. Each node will keep the resource usage of all background tasks below this percentage. This feature enables precise control over resource consumption for background tasks, further enhancing cluster stability. In v8.5.6, this feature is generally available (GA). From 46d142252322f587fb343cc8af30f951bf900505 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 30 Mar 2026 18:03:16 +0800 Subject: [PATCH 26/52] Apply suggestions from code review --- releases/release-8.5.6.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 4f82f1a6390f0..682dcb2592d14 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -55,9 +55,9 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti 更多信息,请参考 [用户文档](/dashboard/top-sql.md)。 -### **SQL** +### SQL -- Support column-level privilege management [#61706](https://github.com/pingcap/tidb/issues/61706) [@CbcWestwolf](https://github.com/CbcWestwolf),[@fzzf678](https://github.com/fzzf678) **tw@hfxsd** +- Support column-level privilege management [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) @[fzzf678](https://github.com/fzzf678) **tw@hfxsd** Before v8.5.6, TiDB privilege control covers the database and table levels and does not support granting or revoking privileges on specific columns, unlike MySQL. As a result, you cannot restrict users to access only a subset of sensitive columns in a table. @@ -65,7 +65,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti For more information, see the [user documentation](/column-privilege-management.md). - - Support table aliases referenced in the `FOR UPDATE OF` clause [#65532](https://github.com/pingcap/tidb/pull/65532) [@cryo-zd](https://github.com/cryo-zd) **tw@lilin90** + - Support table aliases referenced in the `FOR UPDATE OF` clause [#65532](https://github.com/pingcap/tidb/pull/65532) @[cryo-zd](https://github.com/cryo-zd) **tw@lilin90** Before v8.5.6, when a `SELECT ... FOR UPDATE OF
` statement referenced a table alias in the locking clause, TiDB could fail to resolve the alias correctly and return a `table not exists` error even though the alias was valid. @@ -73,9 +73,9 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti For more information, see the user documentation. -### **DB operations** +### DB operations -- Support specifying the maximum number of nodes for Distributed eXecution Framework (DXF) tasks [#58937](https://github.com/pingcap/tidb/pull/58937) [@tangenta](https://github.com/tangenta), [@D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** +- Support specifying the maximum number of nodes for Distributed eXecution Framework (DXF) tasks [#58937](https://github.com/pingcap/tidb/pull/58937) @[tangenta](https://github.com/tangenta) @[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** Before v8.5.6, TiDB does not provide a way to limit the number of nodes used by a distributed execution task. When you want to control resource usage for DXF, TiDB does not provide a dedicated option to constrain the maximum node count. @@ -115,7 +115,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiDB - - Improve plan selection for queries with `IN` predicates on index prefix columns. TiDB can now use merge sort to preserve order for `ORDER BY ... LIMIT` queries, reducing unnecessary scans and improving performance. [#63449](https://github.com/pingcap/tidb/issues/63449) [#34882](https://github.com/pingcap/tidb/issues/34882) [@time-and-fate](https://github.com/time-and-fate) **tw@hfxsd** + - Improve plan selection for queries with `IN` predicates on index prefix columns. TiDB can now use merge sort to preserve order for `ORDER BY ... LIMIT` queries, reducing unnecessary scans and improving performance. [#63449](https://github.com/pingcap/tidb/issues/63449) [#34882](https://github.com/pingcap/tidb/issues/34882) @[time-and-fate](https://github.com/time-and-fate) **tw@hfxsd** - Enhanced slow query log control by supporting [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-new-in-v900) for targeted slow query log output based on combinations of multiple metrics, [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-new-in-v900) for limiting the number of slow query log entries per second, and the [`WRITE_SLOW_LOG`](/identify-slow-queries.md#related-hint) hint for forcing specified SQL statements to be recorded in the slow query log [#64010](https://github.com/pingcap/tidb/issues/64010) @[zimulala](https://github.com/zimulala) - Enhanced [Top SQL](/dashboard/top-sql.md) for resource analysis by supporting Top `5`, `20`, or `100` queries, hotspot analysis sorted by CPU, network traffic, or logical I/O, and aggregated analysis by `Query`, `Table`, `DB`, or `Region` on TiKV instances [#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) - 新增 DXF 的 max_node_count 配置项支持 [#66376](https://github.com/pingcap/tidb/pull/66376)@[D3Hunter](https://github.com/D3Hunter) From 50f96c73d15ef5f9cc7be4986a9292ad957f92ea Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Tue, 31 Mar 2026 10:34:57 +0800 Subject: [PATCH 27/52] Apply suggestions from code review --- releases/release-8.5.6.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 682dcb2592d14..8058720d74023 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -95,11 +95,17 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions ### MySQL compatibility +- Starting from v8.5.6, TiDB supports the MySQL-compatible column-level privilege management mechanism. You can grant or revoke `SELECT`, `INSERT`, `UPDATE`, and `REFERENCES` privileges for specific columns at the table level. For more information, see [Column-Level Privilege Management](/column-privilege-management.md). + ### System variables | Variable name | Change type | Description | |--------|------------------------------|------| -| | | | +| [`tidb_service_scope`](/system-variables.md#tidb_service_scope-new-in-v740) | Modified | Starting from v8.5.6 and v9.0.0, the value of this variable is case-insensitive. TiDB converts the input value to lowercase for storage and comparison. | +| [`tidb_max_dist_task_nodes`](/system-variables.md#tidb_max_dist_task_nodes-new-in-v856-and-v900) | Newly added | defines the maximum number of TiDB nodes that the Distributed eXecution Framework (DXF) tasks can use. The default value is `-1`, which indicates that automatic mode is enabled. In automatic mode, TiDB dynamically calculates the value as `min(3, tikv_nodes / 3)`, where `tikv_nodes` represents the number of TiKV nodes in the cluster. | +| [`tidb_opt_join_reorder_through_sel`](/system-variables.md#tidb_opt_join_reorder_through_sel-new-in-v856-and-v900) | Newly added | improves join reorder optimization for certain multi-table join queries. If you set it to `ON` and safety conditions are met, the optimizer evaluates `Selection` conditions that appear between consecutive join operators together with join order candidates. During join tree reconstruction, the optimizer pushes these conditions to more appropriate positions whenever possible, allowing more tables to participate in join order optimization. | +| [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-new-in-v856-and-v900) | Newly added | controls the maximum number of slow query log entries that can be written per TiDB node per second.
  • A value of `0` means there is no limit on the number of slow query log entries written per second.
  • A value greater than `0` means TiDB writes at most the specified number of slow query log entries per second. Any excess log entries are discarded and not written to the slow query log file.
| +| [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-new-in-v856-and-v900) | Newly added | defines the triggering rules for slow query logs. It supports combining multi-dimensional metrics to provide more flexible and fine-grained logging. | | | | | | | | | From 5f6569c5a3c3b980006caea7301f7eec3f22cae8 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Tue, 31 Mar 2026 10:53:35 +0800 Subject: [PATCH 28/52] Apply suggestions from code review --- releases/release-8.5.6.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 8058720d74023..a3b8136f23a66 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -31,7 +31,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti In v8.5.6, this feature is generally available (GA). - For more information, see [User Documentation](/tidb-resource-control-background-tasks.md). + For more information, see [User Documentation](https://docs.pingcap.com/tidb/v8.5/tidb-resource-control-background-tasks). ### 可观测性 @@ -63,7 +63,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti Starting from v8.5.6, TiDB supports column-level privilege management. You can use the `GRANT` and `REVOKE` statements to manage privileges on specific columns. TiDB performs privilege checks based on column-level privileges during query processing and execution plan construction, enabling finer-grained access control and better support for sensitive data isolation and the principle of least privilege. - For more information, see the [user documentation](/column-privilege-management.md). + For more information, see the [user documentation](https://docs.pingcap.com/tidb/v8.5/column-privilege-management). - Support table aliases referenced in the `FOR UPDATE OF` clause [#65532](https://github.com/pingcap/tidb/pull/65532) @[cryo-zd](https://github.com/cryo-zd) **tw@lilin90** @@ -81,7 +81,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti Starting from v8.5.6, TiDB introduces the `tidb_max_dist_task_nodes` system variable to specify the maximum number of TiDB nodes used by a DXF task, enabling better resource control and workload-based tuning. - For more information, see the [user documentation](/system-variables.md#tidb_max_dist_task_nodes-new-in-v856). + For more information, see the [user documentation](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_max_dist_task_nodes-new-in-v856). ### Data Migration @@ -95,17 +95,17 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions ### MySQL compatibility -- Starting from v8.5.6, TiDB supports the MySQL-compatible column-level privilege management mechanism. You can grant or revoke `SELECT`, `INSERT`, `UPDATE`, and `REFERENCES` privileges for specific columns at the table level. For more information, see [Column-Level Privilege Management](/column-privilege-management.md). +- Starting from v8.5.6, TiDB supports the MySQL-compatible column-level privilege management mechanism. You can grant or revoke `SELECT`, `INSERT`, `UPDATE`, and `REFERENCES` privileges for specific columns at the table level. For more information, see [Column-Level Privilege Management](https://docs.pingcap.com/tidb/v8.5/column-privilege-management). ### System variables | Variable name | Change type | Description | |--------|------------------------------|------| -| [`tidb_service_scope`](/system-variables.md#tidb_service_scope-new-in-v740) | Modified | Starting from v8.5.6 and v9.0.0, the value of this variable is case-insensitive. TiDB converts the input value to lowercase for storage and comparison. | -| [`tidb_max_dist_task_nodes`](/system-variables.md#tidb_max_dist_task_nodes-new-in-v856-and-v900) | Newly added | defines the maximum number of TiDB nodes that the Distributed eXecution Framework (DXF) tasks can use. The default value is `-1`, which indicates that automatic mode is enabled. In automatic mode, TiDB dynamically calculates the value as `min(3, tikv_nodes / 3)`, where `tikv_nodes` represents the number of TiKV nodes in the cluster. | -| [`tidb_opt_join_reorder_through_sel`](/system-variables.md#tidb_opt_join_reorder_through_sel-new-in-v856-and-v900) | Newly added | improves join reorder optimization for certain multi-table join queries. If you set it to `ON` and safety conditions are met, the optimizer evaluates `Selection` conditions that appear between consecutive join operators together with join order candidates. During join tree reconstruction, the optimizer pushes these conditions to more appropriate positions whenever possible, allowing more tables to participate in join order optimization. | -| [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-new-in-v856-and-v900) | Newly added | controls the maximum number of slow query log entries that can be written per TiDB node per second.
  • A value of `0` means there is no limit on the number of slow query log entries written per second.
  • A value greater than `0` means TiDB writes at most the specified number of slow query log entries per second. Any excess log entries are discarded and not written to the slow query log file.
| -| [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-new-in-v856-and-v900) | Newly added | defines the triggering rules for slow query logs. It supports combining multi-dimensional metrics to provide more flexible and fine-grained logging. | +| [`tidb_service_scope`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_service_scope-new-in-v740) | Modified | Starting from v8.5.6 and v9.0.0, the value of this variable is case-insensitive. TiDB converts the input value to lowercase for storage and comparison. | +| [`tidb_max_dist_task_nodes`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_max_dist_task_nodes-new-in-v856) | Newly added | defines the maximum number of TiDB nodes that the Distributed eXecution Framework (DXF) tasks can use. The default value is `-1`, which indicates that automatic mode is enabled. In automatic mode, TiDB dynamically calculates the value as `min(3, tikv_nodes / 3)`, where `tikv_nodes` represents the number of TiKV nodes in the cluster. | +| [`tidb_opt_join_reorder_through_sel`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_join_reorder_through_sel-new-in-v856) | Newly added | improves join reorder optimization for certain multi-table join queries. If you set it to `ON` and safety conditions are met, the optimizer evaluates `Selection` conditions that appear between consecutive join operators together with join order candidates. During join tree reconstruction, the optimizer pushes these conditions to more appropriate positions whenever possible, allowing more tables to participate in join order optimization. | +| [`tidb_slow_log_max_per_sec`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_max_per_sec-new-in-v856) | Newly added | controls the maximum number of slow query log entries that can be written per TiDB node per second.
  • A value of `0` means there is no limit on the number of slow query log entries written per second.
  • A value greater than `0` means TiDB writes at most the specified number of slow query log entries per second. Any excess log entries are discarded and not written to the slow query log file.
| +| [`tidb_slow_log_rules`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_rules-new-in-v856) | Newly added | defines the triggering rules for slow query logs. It supports combining multi-dimensional metrics to provide more flexible and fine-grained logging. | | | | | | | | | From 3e7d94638d90e3f861a641d0654e02f89137374f Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 31 Mar 2026 11:05:06 +0800 Subject: [PATCH 29/52] update PD, TiKV, and TiCDC --- releases/release-8.5.6.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index a3b8136f23a66..e73a7e2cbfbdb 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -137,7 +137,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + PD - - 删除不存在的 label 时,现在会返回 404 [#10089](https://github.com/tikv/pd/issues/10089) @[lhy1024](https://github.com/lhy1024) + - Return `404` instead of `200` when deleting a non-existent label [#10089](https://github.com/tikv/pd/issues/10089) @[lhy1024](https://github.com/lhy1024) - (dup): release-7.5.7.md > Improvements> PD - Reduce unnecessary error logs [#9370](https://github.com/tikv/pd/issues/9370) @[bufferflies](https://github.com/bufferflies) + TiFlash @@ -182,13 +182,13 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiKV - - Fix a memory leak in crossbeam skiplist. [#19285](https://github.com/tikv/tikv/issues/19285) @[ekexium](https://github.com/ekexium) - - Fix the issue that global indexes on non-unique columns of partitioned tables might become inconsistent and return incorrect results in some cases. [#19262](https://github.com/tikv/tikv/issues/19262) @[mjonss](https://github.com/mjonss) - - Fix the issue that stalled coprocessor snapshot retrieval could occupy unified read pool workers until request deadlines expired, delaying other read requests. [#18491](https://github.com/tikv/tikv/issues/18491) @[AndreMouche](https://github.com/AndreMouche) - - Fix the issue that follower replica reads could remain blocked on disk-full TiKV nodes by rejecting read-index requests on disk-full followers. [#19201](https://github.com/tikv/tikv/issues/19201) @[glorv](https://github.com/glorv) - - Fix the issue that resolved-ts task backlogs could cause OOM when the resolved-ts worker is busy. [#18359](https://github.com/tikv/tikv/issues/18359) @[overvenus](https://github.com/overvenus) - - Fix long-tail follower-read latency during leader transfer by retrying read-index requests sooner and adding a dedicated retry interval setting. [#18417](https://github.com/tikv/tikv/issues/18417) @[gengliqi](https://github.com/gengliqi) - - Fix ingest latency spikes in large clusters by increasing the default `rocksdb.max-manifest-file-size` from 128 MiB to 256 MiB. [#18996](https://github.com/tikv/tikv/issues/18996) @[glorv](https://github.com/glorv) + - Fix the issue that a memory leak occurs in crossbeam skiplist [#19285](https://github.com/tikv/tikv/issues/19285) @[ekexium](https://github.com/ekexium) + - Fix the issue that global indexes on non-unique columns of partitioned tables might become inconsistent and return incorrect results in some cases [#19262](https://github.com/tikv/tikv/issues/19262) @[mjonss](https://github.com/mjonss) + - Fix the issue that stalled coprocessor snapshot retrieval might occupy unified read pool workers until request deadlines expire, delaying other read requests [#18491](https://github.com/tikv/tikv/issues/18491) @[AndreMouche](https://github.com/AndreMouche) + - Fix the issue that follower replica reads might remain blocked on disk-full TiKV nodes by rejecting read-index requests on disk-full followers [#19201](https://github.com/tikv/tikv/issues/19201) @[glorv](https://github.com/glorv) + - Fix the issue that resolved-ts task backlogs might cause OOM when the resolved-ts worker is busy [#18359](https://github.com/tikv/tikv/issues/18359) @[overvenus](https://github.com/overvenus) + - Fix the issue that long-tail follower read latency might occur during leader transfer by retrying read-index requests sooner and adding a dedicated retry interval setting [#18417](https://github.com/tikv/tikv/issues/18417) @[gengliqi](https://github.com/gengliqi) + - Fix the issue that ingest latency spikes might occur in large clusters by increasing the default value of `rocksdb.max-manifest-file-size` from 128 MiB to 256 MiB [#18996](https://github.com/tikv/tikv/issues/18996) @[glorv](https://github.com/glorv) - (dup): release-5.1.4.md > Bug fixes> TiKV - Fix the rare data inconsistency issue when retrying a prewrite request in pessimistic transactions [#11187](https://github.com/tikv/tikv/issues/11187) + PD @@ -213,10 +213,10 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiCDC - - Fixed an issue where changefeed might repeatedly create invalid dispatchers when the server restarts. [#4452](https://github.com/pingcap/ticdc/issues/4452) @[wlwilliamx](https://github.com/wlwilliamx) - - Fixed an issue where table renaming operations could not be performed normally when the upstream TiDB version was <= v8.1.x. [#4392](https://github.com/pingcap/ticdc/issues/4392) @[lidezhu](https://github.com/lidezhu) - - Fixed a bug during data scanning to avoid potential abnormal crashes of TiKV when CDC is enabled. [#19404](https://github.com/tikv/tikv/issues/19404) @[wk989898](https://github.com/wk989898) - - Supported Azure Managed Identity authentication for azblob sinks and fixed a potential stuck issue during cloud storage uploads. [#3093](https://github.com/pingcap/ticdc/issues/3093) @[wlwilliamx](https://github.com/wlwilliamx) + - Fix the issue that changefeeds might repeatedly create invalid dispatchers after the server restarts [#4452](https://github.com/pingcap/ticdc/issues/4452) @[wlwilliamx](https://github.com/wlwilliamx) + - Fix the issue that table renaming operations cannot be performed normally when the upstream TiDB version is v8.1.x or earlier [#4392](https://github.com/pingcap/ticdc/issues/4392) @[lidezhu](https://github.com/lidezhu) + - Fix the issue that TiKV might crash during data scanning when CDC is enabled [#19404](https://github.com/tikv/tikv/issues/19404) @[wk989898](https://github.com/wk989898) + - Support Azure Managed Identity authentication for azblob sinks and fix the issue that uploads to cloud storage might get stuck [#3093](https://github.com/pingcap/ticdc/issues/3093) @[wlwilliamx](https://github.com/wlwilliamx) + TiDB Data Migration (DM) From 86033bf9771ec645356906b898ec0d2ac264e649 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 31 Mar 2026 14:24:12 +0800 Subject: [PATCH 30/52] remove some release notes that are either duplicated or already published in earlier v8.5.x --- releases/release-8.5.6.md | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index e73a7e2cbfbdb..adf986995dec4 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -35,15 +35,13 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti ### 可观测性 -- 支持多维度、多粒度定义慢查询日志的触发规则(GA)[#62959](https://github.com/pingcap/tidb/issues/62959) @[zimulala](https://github.com/zimulala) **tw@lilin90** +- 支持多维度、多粒度定义慢查询日志的触发规则 [#62959](https://github.com/pingcap/tidb/issues/62959), [#64010](https://github.com/pingcap/tidb/issues/64010) @[zimulala](https://github.com/zimulala) **tw@lilin90** - 当前 TiDB 定位慢查询语句的主要方法是设置系统变量 tidb_slow_log_threshold,该机制触发慢日志控制粒度粗(整个实例级别全局控制,不支持会话和SQL级别精细化控制)、触发条件仅执行时间(Query_time)一种,无法满足复杂场景慢日志抓取以精细化定位问题的需求。 - - 本功能通过设置 tidb_slow_log_rules 系统变量,支持用户在实例、会话、SQL级别定义多维度(如 Query_time、Digest、Mem_max、KV_total 等等)的慢查询日志抓取规则,实现更灵活的精细化控制。 + 在之前的版本中, TiDB 定位慢查询语句的主要方法是设置系统变量 tidb_slow_log_threshold,该机制触发慢日志控制粒度粗(整个实例级别全局控制,不支持会话和SQL级别精细化控制)、触发条件仅执行时间(Query_time)一种,无法满足复杂场景慢日志抓取以精细化定位问题的需求。 - 在 v8.5.6 中,该功能成为正式功能(GA)。 - - 更多信息,请参考 [用户文档](/identify-slow-queries.md)。 + 从 v8.5.6 起,TiDB 增强慢查询日志的控制能力。你可以使用 [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-从-v900-版本开始引入) 系统变量在实例、会话、SQL级别定义多维度(如 Query_time、Digest、Mem_max、KV_total 等等)的慢查询日志输出规则,使用 [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-从-v900-版本开始引入) 限制每秒日志输出数量,并通过 [`WRITE_SLOW_LOG`](/optimizer-hints.md) Hint 强制记录指定 SQL 的慢查询日志,从而实现对慢查询日志更灵活的精细化控制。 + + 更多信息,请参考[用户文档](/identify-slow-queries.md)。 - TOP SQL 增加网络流量和逻辑IO 数据(GA)[#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) **tw@qiancai** @@ -122,17 +120,11 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiDB - Improve plan selection for queries with `IN` predicates on index prefix columns. TiDB can now use merge sort to preserve order for `ORDER BY ... LIMIT` queries, reducing unnecessary scans and improving performance. [#63449](https://github.com/pingcap/tidb/issues/63449) [#34882](https://github.com/pingcap/tidb/issues/34882) @[time-and-fate](https://github.com/time-and-fate) **tw@hfxsd** - - Enhanced slow query log control by supporting [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-new-in-v900) for targeted slow query log output based on combinations of multiple metrics, [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-new-in-v900) for limiting the number of slow query log entries per second, and the [`WRITE_SLOW_LOG`](/identify-slow-queries.md#related-hint) hint for forcing specified SQL statements to be recorded in the slow query log [#64010](https://github.com/pingcap/tidb/issues/64010) @[zimulala](https://github.com/zimulala) - - Enhanced [Top SQL](/dashboard/top-sql.md) for resource analysis by supporting Top `5`, `20`, or `100` queries, hotspot analysis sorted by CPU, network traffic, or logical I/O, and aggregated analysis by `Query`, `Table`, `DB`, or `Region` on TiKV instances [#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) - - 新增 DXF 的 max_node_count 配置项支持 [#66376](https://github.com/pingcap/tidb/pull/66376)@[D3Hunter](https://github.com/D3Hunter) - - 调整部分 stats 相关日志为 warning 级别 [#58315](https://github.com/pingcap/tidb/pull/58315)@[hawkingrei](https://github.com/hawkingrei) - - 调整 tidb_analyze_column_options 默认值为 all [#64992](https://github.com/pingcap/tidb/issues/64992) @[0xPoe](https://github.com/0xPoe) + TiKV - Add MVCC-read-aware load-based compaction to prioritize regions with heavy MVCC read overhead. [#19133](https://github.com/tikv/tikv/issues/19133) @[mittalrishabh](https://github.com/mittalrishabh) - Optimize stale-range cleanup during scaling by deleting stale keys directly instead of ingesting SST files, reducing latency impact. [#18042](https://github.com/tikv/tikv/issues/18042) @[LykxSassinator](https://github.com/LykxSassinator) - - Make default gRPC raft connection and concurrency settings scale with CPU quota to improve resource utilization. [#18613](https://github.com/tikv/tikv/issues/18613) @[LykxSassinator](https://github.com/LykxSassinator) - Add Top SQL support for collecting network traffic and logical I/O information to help diagnose SQL performance issues. [#18815](https://github.com/tikv/tikv/issues/18815) @[yibin87](https://github.com/yibin87) + PD @@ -226,6 +218,3 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiDB Lightning - + Dumpling - - - 修复 Dumpling 与 MySQL 8.4 的兼容性问题 [#65131](https://github.com/pingcap/tidb/pull/65131) @[dveeden](https://github.com/dveeden) From 95ae8429e553d388616e44dbe2e75e204d97ab4f Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 31 Mar 2026 15:35:34 +0800 Subject: [PATCH 31/52] remove v8.5.4 bug fix --- releases/release-8.5.6.md | 1 - 1 file changed, 1 deletion(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index adf986995dec4..48d4f148603d4 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -180,7 +180,6 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - Fix the issue that follower replica reads might remain blocked on disk-full TiKV nodes by rejecting read-index requests on disk-full followers [#19201](https://github.com/tikv/tikv/issues/19201) @[glorv](https://github.com/glorv) - Fix the issue that resolved-ts task backlogs might cause OOM when the resolved-ts worker is busy [#18359](https://github.com/tikv/tikv/issues/18359) @[overvenus](https://github.com/overvenus) - Fix the issue that long-tail follower read latency might occur during leader transfer by retrying read-index requests sooner and adding a dedicated retry interval setting [#18417](https://github.com/tikv/tikv/issues/18417) @[gengliqi](https://github.com/gengliqi) - - Fix the issue that ingest latency spikes might occur in large clusters by increasing the default value of `rocksdb.max-manifest-file-size` from 128 MiB to 256 MiB [#18996](https://github.com/tikv/tikv/issues/18996) @[glorv](https://github.com/glorv) - (dup): release-5.1.4.md > Bug fixes> TiKV - Fix the rare data inconsistency issue when retrying a prewrite request in pessimistic transactions [#11187](https://github.com/tikv/tikv/issues/11187) + PD From d9f46d27fa960f6c355717b7ff2a227b8b4969be Mon Sep 17 00:00:00 2001 From: qiancai Date: Tue, 31 Mar 2026 16:08:24 +0800 Subject: [PATCH 32/52] translate two features, TiKV improvements, and DM bug fixes --- releases/release-8.5.6.md | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 48d4f148603d4..2a4a02a94e86a 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -13,15 +13,15 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti ## Feature Details -### 性能 +### Performance -- 外键检查支持共享锁(GA) [#66154](https://github.com/pingcap/tidb/issues/66154) @[you06](https://github.com/glorv) **tw@qiancai** +- Foreign key checks now support shared locks [#66154](https://github.com/pingcap/tidb/issues/66154) @[you06](https://github.com/glorv) **tw@qiancai** - 对子表进行写入时,支持用户通过设置参数 tidb_foreign_key_check_in_shared_lock 来指定在父表加共享锁实现外键约束检查,相比以前仅支持排它锁,现方案可降低锁冲突提升子表并发写入性能。 + In pessimistic transactions, when you run `INSERT` or `UPDATE` on a child table with foreign key constraints, foreign key checks lock the corresponding parent table rows with exclusive locks by default. In high-concurrency write scenarios on the child table, if many transactions access the same parent table rows, severe lock contention can occur. - 在V8.5.6 中,该功能成为正式功能 (GA)。 + Starting from v8.5.6, you can set the [`tidb_foreign_key_check_in_shared_lock`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_foreign_key_check_in_shared_lock-new-in-v856) system variable to `ON` to let foreign key checks use shared locks on the parent table, thereby reducing lock contention and improving concurrent write performance on the child table. - 更多信息,请参考[用户文档](/foreign-key.md)。 + For more information, see the [documentation](https://docs.pingcap.com/tidb/v8.5/foreign-key#locking). ### Stability @@ -43,15 +43,13 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti 更多信息,请参考[用户文档](/identify-slow-queries.md)。 -- TOP SQL 增加网络流量和逻辑IO 数据(GA)[#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) **tw@qiancai** +- The TOP SQL page in TiDB Dashboard now supports collecting and displaying TiKV network traffic and logical I/O metrics [#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) **tw@qiancai** - 当前 TiDB TOP SQL 中仅包含 CPU 的相关指标数据,在遇到复杂情况时不利于排查问题。 - - 本功能在 Top SQL 设置中增加开启 **TiKV 网络I0 采集(多维度)**,方便用户进一步查看指定 TiKV 实例的 Network Bytes、Logical IO Bytes 等指标,并按 By Query、By Table、By DB 或 By Region 维度进行聚合分析。 + In earlier versions, TiDB Dashboard identified TOP SQL based only on CPU-related metrics, making it difficult to identify performance bottlenecks from the perspective of network or storage access in complex scenarios. - 在 v8.5.6 中,该功能成为正式功能(GA)。 + Starting from v8.5.6, you can enable **Enable TiKV Network IO collection (multi-dimensional)** in the Top SQL settings to view metrics such as `Network Bytes` and `Logical IO Bytes` for TiKV nodes. You can also analyze these metrics in dimensions of `By Query`, `By Table`, `By DB`, and `By Region`, helping you identify resource hotspots more comprehensively. - 更多信息,请参考 [用户文档](/dashboard/top-sql.md)。 + For more information, see the [documentation](https://docs.pingcap.com/tidb/v8.5/top-sql). ### SQL @@ -123,9 +121,9 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiKV - - Add MVCC-read-aware load-based compaction to prioritize regions with heavy MVCC read overhead. [#19133](https://github.com/tikv/tikv/issues/19133) @[mittalrishabh](https://github.com/mittalrishabh) - - Optimize stale-range cleanup during scaling by deleting stale keys directly instead of ingesting SST files, reducing latency impact. [#18042](https://github.com/tikv/tikv/issues/18042) @[LykxSassinator](https://github.com/LykxSassinator) - - Add Top SQL support for collecting network traffic and logical I/O information to help diagnose SQL performance issues. [#18815](https://github.com/tikv/tikv/issues/18815) @[yibin87](https://github.com/yibin87) + - Introduce a load-based compaction mechanism, which detects MVCC read overhead and prioritizes compaction for Regions with higher read cost to improve query performance [#19133](https://github.com/tikv/tikv/issues/19133) @[mittalrishabh](https://github.com/mittalrishabh) + - Optimize the stale range cleanup logic during cluster scale-out and scale-in operations by deleting stale keys directly instead of cleaning them up through SST file ingestion, thereby reducing the impact on online request latency [#18042](https://github.com/tikv/tikv/issues/18042) @[LykxSassinator](https://github.com/LykxSassinator) + - Support collecting TiKV network traffic and logical I/O metrics for Top SQL, which helps users diagnose SQL performance issues more accurately [#18815](https://github.com/tikv/tikv/issues/18815) @[yibin87](https://github.com/yibin87) + PD @@ -211,9 +209,9 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiDB Data Migration (DM) - - 修复 DM 在 binlog rotate 事件时全局 checkpoint 位置未推进的问题 [#12525](https://github.com/pingcap/tiflow/pull/12525) @[OliverS929](https://github.com/OliverS929) - - 修复含外键约束的表在 DM safe-mode 下的异常行为,移除 UPDATE 改写中多余的 DELETE 操作并避免触发外键级联 [#12541](https://github.com/pingcap/tiflow/pull/12541) @[OliverS929](https://github.com/OliverS929) - - 修复 DM validator 对 UNSIGNED 列误报校验错误的问题 [#12555](https://github.com/pingcap/tiflow/pull/12555) @[OliverS929](https://github.com/OliverS929) + - Fix the issue that DM does not advance the global checkpoint position after an upstream binlog file rotation [#12339](https://github.com/pingcap/tiflow/issues/12339) @[OliverS929](https://github.com/OliverS929 + - Fix the issue that, when processing updates on tables with foreign key constraints in safe mode, DM might still incorrectly trigger foreign key cascades and cause unintended data deletion even if the primary key or unique key is not modified [#12350](https://github.com/pingcap/tiflow/issues/12350) @[OliverS929](https://github.com/OliverS929) + - Fix the issue that DM validator incorrectly returns validation errors when processing `UNSIGNED` columns [#12178](https://github.com/pingcap/tiflow/issues/12178) @[OliverS929](https://github.com/OliverS929) + TiDB Lightning From d79f050d29eff05f99f2f2d4e2dd2b0ec6b3214e Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 1 Apr 2026 15:07:02 +0800 Subject: [PATCH 33/52] add compatibility changes --- releases/release-8.5.6.md | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 2a4a02a94e86a..0dd63067c6583 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -97,21 +97,27 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions | Variable name | Change type | Description | |--------|------------------------------|------| -| [`tidb_service_scope`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_service_scope-new-in-v740) | Modified | Starting from v8.5.6 and v9.0.0, the value of this variable is case-insensitive. TiDB converts the input value to lowercase for storage and comparison. | -| [`tidb_max_dist_task_nodes`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_max_dist_task_nodes-new-in-v856) | Newly added | defines the maximum number of TiDB nodes that the Distributed eXecution Framework (DXF) tasks can use. The default value is `-1`, which indicates that automatic mode is enabled. In automatic mode, TiDB dynamically calculates the value as `min(3, tikv_nodes / 3)`, where `tikv_nodes` represents the number of TiKV nodes in the cluster. | -| [`tidb_opt_join_reorder_through_sel`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_join_reorder_through_sel-new-in-v856) | Newly added | improves join reorder optimization for certain multi-table join queries. If you set it to `ON` and safety conditions are met, the optimizer evaluates `Selection` conditions that appear between consecutive join operators together with join order candidates. During join tree reconstruction, the optimizer pushes these conditions to more appropriate positions whenever possible, allowing more tables to participate in join order optimization. | -| [`tidb_slow_log_max_per_sec`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_max_per_sec-new-in-v856) | Newly added | controls the maximum number of slow query log entries that can be written per TiDB node per second.
  • A value of `0` means there is no limit on the number of slow query log entries written per second.
  • A value greater than `0` means TiDB writes at most the specified number of slow query log entries per second. Any excess log entries are discarded and not written to the slow query log file.
| -| [`tidb_slow_log_rules`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_rules-new-in-v856) | Newly added | defines the triggering rules for slow query logs. It supports combining multi-dimensional metrics to provide more flexible and fine-grained logging. | -| | | | -| | | | +| [`tidb_analyze_version`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_analyze_version-new-in-v510) | Modified | Starting from v8.5.6, statistics Version 1 (`tidb_analyze_version = 1`) is deprecated and will be removed in a future release. It is recommended to use statistics Version 2 (`tidb_analyze_version = 2`). | +| [`tidb_service_scope`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_service_scope-new-in-v740) | Modified | Starting from v8.5.6, the value of this variable is case-insensitive. TiDB converts the input value to lowercase for storage and comparison. | +| [`InPacketBytes`](https://docs.pingcap.com/tidb/v8.5/system-variables#inpacketbytes-new-in-v856) | Newly added | Starting from v8.5.6, this internal variable is used for statistics only and is not visible to users. | +| [`OutPacketBytes`](https://docs.pingcap.com/tidb/v8.5/system-variables#outpacketbytes-new-in-v856) | Newly added | Starting from v8.5.6, this internal variable is used for statistics only and is not visible to users. | +| [`tidb_foreign_key_check_in_shared_lock`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_foreign_key_check_in_shared_lock-new-in-v856) | Newly added | Controls whether TiDB uses shared locks (instead of exclusive locks) on parent table rows during foreign key checks in pessimistic transactions. The default value is `OFF`, which means TiDB uses exclusive locks by default. | +| [`tidb_max_dist_task_nodes`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_max_dist_task_nodes-new-in-v856) | Newly added | Defines the maximum number of TiDB nodes that the Distributed eXecution Framework (DXF) tasks can use. The default value is `-1`, which indicates that automatic mode is enabled. In automatic mode, TiDB dynamically calculates the value as `min(3, tikv_nodes / 3)`, where `tikv_nodes` represents the number of TiKV nodes in the cluster. | +| [`tidb_opt_join_reorder_through_sel`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_join_reorder_through_sel-new-in-v856) | Newly added | Improves join reorder optimization for certain multi-table join queries. If you set it to `ON` and safety conditions are met, the optimizer evaluates `Selection` conditions that appear between consecutive join operators together with join order candidates. During join tree reconstruction, the optimizer pushes these conditions to more appropriate positions whenever possible, allowing more tables to participate in join order optimization. | +| [`tidb_opt_partial_ordered_index_for_topn`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_partial_ordered_index_for_topn-new-in-v856) | Newly added | Controls whether the optimizer can leverage the partial ordering of an index to optimize TopN computation when a query contains `ORDER BY ... LIMIT`. The default value is `DISABLE`, which means the optimization is disabled. | +| [`tidb_slow_log_max_per_sec`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_max_per_sec-new-in-v856) | Newly added | Controls the maximum number of slow query log entries that can be written per TiDB node per second.
  • A value of `0` means there is no limit on the number of slow query log entries written per second.
  • A value greater than `0` means TiDB writes at most the specified number of slow query log entries per second. Any excess log entries are discarded and not written to the slow query log file.
| +| [`tidb_slow_log_rules`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_rules-new-in-v856) | Newly added | defines the triggering rules for slow query logs. It supports combining multi-dimensional metrics to provide more flexible and fine-grained logging. | ### Configuration parameters | Configuration file or component | Configuration parameter | Change type | Description | | -------- | -------- | -------- | -------- | -| | | | -| | | | -| | | | +| TiKV | [`resource-metering.enable-network-io-collection`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file) | Newly added | Controls whether TiKV collects network I/O and logical I/O metrics for Top SQL. The default value is `false`. | +| TiCDC | [`output-field-header`](/ticdc/ticdc-csv.md) | Newly added | Controls whether TiCDC outputs a header row in CSV files. This parameter is only applicable to the TiCDC new architecture. The default value is `false`. | + +## Deprecated features + +- Starting from v8.5.6, statistics Version 1 (`tidb_analyze_version = 1`) is deprecated and will be removed in a future version. It is recommended that you use Statistics Version 2 (`tidb_analyze_version = 2`) for more accurate statistics and [migrate existing objects that use Statistics Version 1 to Version 2](https://docs.pingcap.com/tidb/v8.5/statistics#switch-between-statistics-versions). ## Improvements @@ -209,9 +215,8 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiDB Data Migration (DM) - - Fix the issue that DM does not advance the global checkpoint position after an upstream binlog file rotation [#12339](https://github.com/pingcap/tiflow/issues/12339) @[OliverS929](https://github.com/OliverS929 + - Fix the issue that DM does not advance the global checkpoint position after an upstream binlog file rotation [#12339](https://github.com/pingcap/tiflow/issues/12339) @[OliverS929](https://github.com/OliverS929) - Fix the issue that, when processing updates on tables with foreign key constraints in safe mode, DM might still incorrectly trigger foreign key cascades and cause unintended data deletion even if the primary key or unique key is not modified [#12350](https://github.com/pingcap/tiflow/issues/12350) @[OliverS929](https://github.com/OliverS929) - Fix the issue that DM validator incorrectly returns validation errors when processing `UNSIGNED` columns [#12178](https://github.com/pingcap/tiflow/issues/12178) @[OliverS929](https://github.com/OliverS929) + TiDB Lightning - From d49c5a9f2dedb530dd96811a05e75dbeef50f077 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 1 Apr 2026 15:35:59 +0800 Subject: [PATCH 34/52] Apply suggestions from code review Co-authored-by: Aolin --- releases/release-8.5.6.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 0dd63067c6583..74ee367804741 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -15,13 +15,13 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti ### Performance -- Foreign key checks now support shared locks [#66154](https://github.com/pingcap/tidb/issues/66154) @[you06](https://github.com/glorv) **tw@qiancai** +- Foreign key checks now support shared locks [#66154](https://github.com/pingcap/tidb/issues/66154) @[you06](https://github.com/you06) **tw@qiancai** In pessimistic transactions, when you run `INSERT` or `UPDATE` on a child table with foreign key constraints, foreign key checks lock the corresponding parent table rows with exclusive locks by default. In high-concurrency write scenarios on the child table, if many transactions access the same parent table rows, severe lock contention can occur. Starting from v8.5.6, you can set the [`tidb_foreign_key_check_in_shared_lock`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_foreign_key_check_in_shared_lock-new-in-v856) system variable to `ON` to let foreign key checks use shared locks on the parent table, thereby reducing lock contention and improving concurrent write performance on the child table. - For more information, see the [documentation](https://docs.pingcap.com/tidb/v8.5/foreign-key#locking). + For more information, see [documentation](https://docs.pingcap.com/tidb/v8.5/foreign-key#locking). ### Stability @@ -49,7 +49,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti Starting from v8.5.6, you can enable **Enable TiKV Network IO collection (multi-dimensional)** in the Top SQL settings to view metrics such as `Network Bytes` and `Logical IO Bytes` for TiKV nodes. You can also analyze these metrics in dimensions of `By Query`, `By Table`, `By DB`, and `By Region`, helping you identify resource hotspots more comprehensively. - For more information, see the [documentation](https://docs.pingcap.com/tidb/v8.5/top-sql). + For more information, see [documentation](https://docs.pingcap.com/tidb/v8.5/top-sql). ### SQL From f4db04f27343232e8fa5c81d272cd799ec67087e Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 1 Apr 2026 16:09:16 +0800 Subject: [PATCH 35/52] Apply suggestions from code review Co-authored-by: Aolin --- releases/release-8.5.6.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 74ee367804741..bf56488dc4229 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -43,11 +43,11 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti 更多信息,请参考[用户文档](/identify-slow-queries.md)。 -- The TOP SQL page in TiDB Dashboard now supports collecting and displaying TiKV network traffic and logical I/O metrics [#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) **tw@qiancai** +- The Top SQL page in TiDB Dashboard now supports collecting and displaying TiKV network traffic and logical I/O metrics [#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) **tw@qiancai** - In earlier versions, TiDB Dashboard identified TOP SQL based only on CPU-related metrics, making it difficult to identify performance bottlenecks from the perspective of network or storage access in complex scenarios. + In earlier versions, TiDB Dashboard identified Top SQL queries based only on CPU-related metrics, making it difficult to identify performance bottlenecks related to network or storage access in complex scenarios. - Starting from v8.5.6, you can enable **Enable TiKV Network IO collection (multi-dimensional)** in the Top SQL settings to view metrics such as `Network Bytes` and `Logical IO Bytes` for TiKV nodes. You can also analyze these metrics in dimensions of `By Query`, `By Table`, `By DB`, and `By Region`, helping you identify resource hotspots more comprehensively. + Starting from v8.5.6, you can enable **Enable TiKV Network IO collection (multi-dimensional)** in the Top SQL settings to view metrics such as `Network Bytes` and `Logical IO Bytes` for TiKV nodes. You can also analyze these metrics across multiple dimensions, including `By Query`, `By Table`, `By DB`, and `By Region`, helping you identify resource hotspots more comprehensively. For more information, see [documentation](https://docs.pingcap.com/tidb/v8.5/top-sql). From 9c4fac712bdc62ab7f986010d3f856f5fb7e2418 Mon Sep 17 00:00:00 2001 From: lilin90 Date: Wed, 1 Apr 2026 17:41:40 +0800 Subject: [PATCH 36/52] releases: make wording consistent --- releases/release-8.5.6.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index bf56488dc4229..ed23a5503ef9f 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -31,7 +31,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti In v8.5.6, this feature is generally available (GA). - For more information, see [User Documentation](https://docs.pingcap.com/tidb/v8.5/tidb-resource-control-background-tasks). + For more information, see [documentation](https://docs.pingcap.com/tidb/v8.5/tidb-resource-control-background-tasks). ### 可观测性 @@ -59,16 +59,16 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti Starting from v8.5.6, TiDB supports column-level privilege management. You can use the `GRANT` and `REVOKE` statements to manage privileges on specific columns. TiDB performs privilege checks based on column-level privileges during query processing and execution plan construction, enabling finer-grained access control and better support for sensitive data isolation and the principle of least privilege. - For more information, see the [user documentation](https://docs.pingcap.com/tidb/v8.5/column-privilege-management). - + For more information, see [documentation](https://docs.pingcap.com/tidb/v8.5/column-privilege-management). + - Support table aliases referenced in the `FOR UPDATE OF` clause [#65532](https://github.com/pingcap/tidb/pull/65532) @[cryo-zd](https://github.com/cryo-zd) **tw@lilin90** Before v8.5.6, when a `SELECT ... FOR UPDATE OF
` statement referenced a table alias in the locking clause, TiDB could fail to resolve the alias correctly and return a `table not exists` error even though the alias was valid. Starting from v8.5.6, TiDB supports table aliases in the `FOR UPDATE OF` clause. TiDB can now correctly resolve the locking target from the `FROM` clause, including aliased tables, so that row locks are applied as expected. This improves MySQL compatibility and makes `SELECT ... FOR UPDATE OF` statements more reliable in queries that use table aliases. - For more information, see the user documentation. - + For more information, see documentation. + ### DB operations - Support specifying the maximum number of nodes for Distributed eXecution Framework (DXF) tasks [#58937](https://github.com/pingcap/tidb/pull/58937) @[tangenta](https://github.com/tangenta) @[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** @@ -77,7 +77,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti Starting from v8.5.6, TiDB introduces the `tidb_max_dist_task_nodes` system variable to specify the maximum number of TiDB nodes used by a DXF task, enabling better resource control and workload-based tuning. - For more information, see the [user documentation](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_max_dist_task_nodes-new-in-v856). + For more information, see [documentation](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_max_dist_task_nodes-new-in-v856). ### Data Migration From b2fa99ea2dcc68480443e3bd2c8427389521dc7f Mon Sep 17 00:00:00 2001 From: lilin90 Date: Wed, 1 Apr 2026 18:09:54 +0800 Subject: [PATCH 37/52] Translate, update descriptions --- releases/release-8.5.6.md | 43 +++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index ed23a5503ef9f..72937b6331357 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -33,15 +33,15 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti For more information, see [documentation](https://docs.pingcap.com/tidb/v8.5/tidb-resource-control-background-tasks). -### 可观测性 +### Observability -- 支持多维度、多粒度定义慢查询日志的触发规则 [#62959](https://github.com/pingcap/tidb/issues/62959), [#64010](https://github.com/pingcap/tidb/issues/64010) @[zimulala](https://github.com/zimulala) **tw@lilin90** +- Support defining multi-dimensional, fine-grained trigger rules for slow query logs [#62959](https://github.com/pingcap/tidb/issues/62959), [#64010](https://github.com/pingcap/tidb/issues/64010) @[zimulala](https://github.com/zimulala) **tw@lilin90** - 在之前的版本中, TiDB 定位慢查询语句的主要方法是设置系统变量 tidb_slow_log_threshold,该机制触发慢日志控制粒度粗(整个实例级别全局控制,不支持会话和SQL级别精细化控制)、触发条件仅执行时间(Query_time)一种,无法满足复杂场景慢日志抓取以精细化定位问题的需求。 + Before v8.5.6, the main way to identify slow queries in TiDB is to set the [`tidb_slow_log_threshold`](/system-variables.md#tidb_slow_log_threshold) system variable. This mechanism provides only coarse-grained control over slow query log triggering because it applies globally at the instance level and does not support fine-grained control at the session or SQL level. In addition, it supports only one trigger condition, execution time (`Query_time`), which cannot meet the need to capture slow query logs more precisely in complex scenarios. - 从 v8.5.6 起,TiDB 增强慢查询日志的控制能力。你可以使用 [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-从-v900-版本开始引入) 系统变量在实例、会话、SQL级别定义多维度(如 Query_time、Digest、Mem_max、KV_total 等等)的慢查询日志输出规则,使用 [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-从-v900-版本开始引入) 限制每秒日志输出数量,并通过 [`WRITE_SLOW_LOG`](/optimizer-hints.md) Hint 强制记录指定 SQL 的慢查询日志,从而实现对慢查询日志更灵活的精细化控制。 + Starting from v8.5.6, TiDB enhances slow query log control. You can use the [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-new-in-v900) system variable to define multi-dimensional slow query log output rules at the instance, session, and SQL levels, based on conditions such as `Query_time`, `Digest`, `Mem_max`, and `KV_total`. You can use [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-new-in-v900) to limit the number of log entries written per second, and use the [`WRITE_SLOW_LOG`](/optimizer-hints.md) hint to force slow query logging for specific SQL statements. This enables more flexible and fine-grained control over slow query logs. - 更多信息,请参考[用户文档](/identify-slow-queries.md)。 + For more information, see [documentation](https://docs.pingcap.com/tidb/v8.5/identify-slow-queries). - The Top SQL page in TiDB Dashboard now supports collecting and displaying TiKV network traffic and logical I/O metrics [#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) **tw@qiancai** @@ -61,13 +61,13 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti For more information, see [documentation](https://docs.pingcap.com/tidb/v8.5/column-privilege-management). - - Support table aliases referenced in the `FOR UPDATE OF` clause [#65532](https://github.com/pingcap/tidb/pull/65532) @[cryo-zd](https://github.com/cryo-zd) **tw@lilin90** +- Support using table aliases in the `FOR UPDATE OF` clause [#65532](https://github.com/pingcap/tidb/pull/65532) @[cryo-zd](https://github.com/cryo-zd) **tw@lilin90** - Before v8.5.6, when a `SELECT ... FOR UPDATE OF
` statement referenced a table alias in the locking clause, TiDB could fail to resolve the alias correctly and return a `table not exists` error even though the alias was valid. + Before v8.5.6, when a `SELECT ... FOR UPDATE OF
` statement references a table alias in the locking clause, TiDB might fail to resolve the alias correctly and return the `table not exists` error even if the alias is valid. - Starting from v8.5.6, TiDB supports table aliases in the `FOR UPDATE OF` clause. TiDB can now correctly resolve the locking target from the `FROM` clause, including aliased tables, so that row locks are applied as expected. This improves MySQL compatibility and makes `SELECT ... FOR UPDATE OF` statements more reliable in queries that use table aliases. + Starting from v8.5.6, TiDB supports using table aliases in the `FOR UPDATE OF` clause. TiDB can now correctly resolve locking targets from the `FROM` clause, including aliased tables, ensuring that row locks take effect as expected. This improves MySQL compatibility and makes `SELECT ... FOR UPDATE OF` statements more stable and reliable in queries that use table aliases. - For more information, see documentation. + For more information, see [documentation](https://docs.pingcap.com/tidb/v8.5/sql-statement-select). ### DB operations @@ -124,6 +124,8 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiDB - Improve plan selection for queries with `IN` predicates on index prefix columns. TiDB can now use merge sort to preserve order for `ORDER BY ... LIMIT` queries, reducing unnecessary scans and improving performance. [#63449](https://github.com/pingcap/tidb/issues/63449) [#34882](https://github.com/pingcap/tidb/issues/34882) @[time-and-fate](https://github.com/time-and-fate) **tw@hfxsd** + - Support column-level privileges in `GRANT` and `REVOKE` [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) + - Improve the performance of privilege update operations such as `GRANT` and `REVOKE` in deployments with a large number of column-level privilege entries [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) + TiKV @@ -146,8 +148,8 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiDB Data Migration (DM) - - Support migrating data from MySQL 8.4 as a data source. The compatibility level for MySQL 8.4 is upgraded from "Incompatible" to "Experimental" [#11020](https://github.com/pingcap/tiflow/issues/11020) @[dveeden](https://github.com/dveeden) - - 在 DM syncer 中新增外键因果依赖支持,确保多 worker 场景下行变更按照父表至子表的外键顺序执行 [#12552](https://github.com/pingcap/tiflow/pull/12552) @[OliverS929](https://github.com/OliverS929) + - Support MySQL 8.4 as an upstream data source for DM by adapting to the new terminology and version detection logic introduced in this version [#11020](https://github.com/pingcap/tiflow/issues/11020) @[dveeden](https://github.com/dveeden) + - Add support for foreign key causal dependencies in DM syncer to ensure that row changes are executed in parent-to-child foreign key order in multi-worker scenarios [#12552](https://github.com/pingcap/tiflow/pull/12552) @[OliverS929](https://github.com/OliverS929) + TiDB Lightning @@ -161,13 +163,10 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiDB - - Fix the issue that upgrading from release-8.5-20250606-v8.5.2 to upstream release-8.5 can skip PITR metadata upgrades and cause PITR operations to fail. [#66994](https://github.com/pingcap/tidb/issues/66994) @[fzzf678](https://github.com/fzzf678) - - Fix the issue that after EXCHANGE PARTITION, non-unique or nullable unique global indexes on non-clustered partitioned tables can become inconsistent and return incomplete results. [#65289](https://github.com/pingcap/tidb/issues/65289) @[mjonss](https://github.com/mjonss) - - Support column-level privileges in GRANT and REVOKE. [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) - - Improve the performance of privilege updates such as GRANT and REVOKE in deployments with large numbers of privilege entries. [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) - - Fix the issue that KILL QUERY incorrectly kills idle connections. [#65447](https://github.com/pingcap/tidb/issues/65447) @[gengliqi](https://github.com/gengliqi) - - Fix the issue that column-level privilege checks can be incorrect for JOIN ... USING, NATURAL JOIN, and INSERT ... ON DUPLICATE KEY UPDATE. [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) - - Improve privilege-check performance for deployments with many column-level privilege entries. [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) + - Fix the issue that upgrading from `release-8.5-20250606-v8.5.2` to the upstream `release-8.5` might skip the PITR metadata upgrade and cause PITR operations to fail [#66994](https://github.com/pingcap/tidb/issues/66994) @[fzzf678](https://github.com/fzzf678) + - Fix the issue that after executing `EXCHANGE PARTITION`, non-unique global indexes or nullable unique global indexes on non-clustered partitioned tables might become inconsistent and return incomplete results [#65289](https://github.com/pingcap/tidb/issues/65289) @[mjonss](https://github.com/mjonss) + - Fix the issue that `KILL QUERY` might incorrectly terminate idle connections [#65447](https://github.com/pingcap/tidb/issues/65447) @[gengliqi](https://github.com/gengliqi) + - Fix the issue that column-level privilege checks might be incorrect in `JOIN ... USING`, `NATURAL JOIN`, and `INSERT ... ON DUPLICATE KEY UPDATE` scenarios [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) - Add `cluster_id` to `mysql.tidb`, enabling external tools to determine whether two TiDB instances belong to the same cluster [#59476](https://github.com/pingcap/tidb/issues/59476) @[YangKeao](https://github.com/YangKeao) - Improve slow query log readability by outputting non-printable prepared statement arguments as hexadecimal values [#65383](https://github.com/pingcap/tidb/issues/65383) @[dveeden](https://github.com/dveeden) - Fix the issue that the value of `tidb_service_scope` is not converted to lowercase when set [#66749](https://github.com/pingcap/tidb/issues/66749) @[D3Hunter](https://github.com/D3Hunter) @@ -201,10 +200,10 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + Backup & Restore (BR) - - 修复 log backup 的 flush_ts 可能为 0 的问题 [#19406](https://github.com/tikv/tikv/issues/19406) @[YuJuncen](https://github.com/YuJuncen) - - 修复 BR 在使用 GCP S3 API server 进行 multipart upload 时因缺少 `Content-Length` 头而失败的问题 [#19352](https://github.com/tikv/tikv/issues/19352) @[Leavrth](https://github.com/Leavrth) - - 修复 BR `restore point` 可能长时间卡在 `waiting for schema info finishes reloading` 并在 15 分钟后超时失败的问题 [#66110](https://github.com/pingcap/tidb/issues/66110) @[kennytm](https://github.com/kennytm) - - 修复 BR 在恢复带有 `SHARD_ROW_ID_BITS`、`PRE_SPLIT_REGIONS` 和 `merge_option` 属性的表时无法正确预分裂 Region 的问题 [#65060](https://github.com/pingcap/tidb/issues/65060) @[JoyC-dev](https://github.com/JoyC-dev) + - Fix the issue that `flush_ts` might be `0` in log backup [#19406](https://github.com/tikv/tikv/issues/19406) @[YuJuncen](https://github.com/YuJuncen) + - Fix the issue that BR might fail during multipart uploads through GCP S3 API Server because the `Content-Length` request header is missing [#19352](https://github.com/tikv/tikv/issues/19352) @[Leavrth](https://github.com/Leavrth) + - Fix the issue that the BR `restore point` might remain stuck in the `waiting for schema info finishes reloading` state for a long time and then fail due to timeout after 15 minutes [#66110](https://github.com/pingcap/tidb/issues/66110) @[kennytm](https://github.com/kennytm) + - Fix the issue that BR cannot correctly pre-split Regions when restoring tables with the `SHARD_ROW_ID_BITS`, `PRE_SPLIT_REGIONS`, and `merge_option` attributes [#65060](https://github.com/pingcap/tidb/issues/65060) @[JoyC-dev](https://github.com/JoyC-dev) + TiCDC From c566ad54581200dbb591c2eaf6a99f9fcaa97e68 Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 1 Apr 2026 18:54:30 +0800 Subject: [PATCH 38/52] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-8.5.6.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 72937b6331357..2fe6aae002bb6 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -177,12 +177,12 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiKV - - Fix the issue that a memory leak occurs in crossbeam skiplist [#19285](https://github.com/tikv/tikv/issues/19285) @[ekexium](https://github.com/ekexium) + - Fix the memory leak issue in crossbeam skiplist [#19285](https://github.com/tikv/tikv/issues/19285) @[ekexium](https://github.com/ekexium) - Fix the issue that global indexes on non-unique columns of partitioned tables might become inconsistent and return incorrect results in some cases [#19262](https://github.com/tikv/tikv/issues/19262) @[mjonss](https://github.com/mjonss) - Fix the issue that stalled coprocessor snapshot retrieval might occupy unified read pool workers until request deadlines expire, delaying other read requests [#18491](https://github.com/tikv/tikv/issues/18491) @[AndreMouche](https://github.com/AndreMouche) - - Fix the issue that follower replica reads might remain blocked on disk-full TiKV nodes by rejecting read-index requests on disk-full followers [#19201](https://github.com/tikv/tikv/issues/19201) @[glorv](https://github.com/glorv) + - Fix the issue that follower reads might remain blocked on disk-full TiKV nodes by rejecting read-index requests on disk-full followers [#19201](https://github.com/tikv/tikv/issues/19201) @[glorv](https://github.com/glorv) - Fix the issue that resolved-ts task backlogs might cause OOM when the resolved-ts worker is busy [#18359](https://github.com/tikv/tikv/issues/18359) @[overvenus](https://github.com/overvenus) - - Fix the issue that long-tail follower read latency might occur during leader transfer by retrying read-index requests sooner and adding a dedicated retry interval setting [#18417](https://github.com/tikv/tikv/issues/18417) @[gengliqi](https://github.com/gengliqi) + - Fix the issue that long-tail follower read latency might occur during leader transfer by retrying read-index requests earlier and adding a dedicated retry interval setting [#18417](https://github.com/tikv/tikv/issues/18417) @[gengliqi](https://github.com/gengliqi) - (dup): release-5.1.4.md > Bug fixes> TiKV - Fix the rare data inconsistency issue when retrying a prewrite request in pessimistic transactions [#11187](https://github.com/tikv/tikv/issues/11187) + PD @@ -208,7 +208,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiCDC - Fix the issue that changefeeds might repeatedly create invalid dispatchers after the server restarts [#4452](https://github.com/pingcap/ticdc/issues/4452) @[wlwilliamx](https://github.com/wlwilliamx) - - Fix the issue that table renaming operations cannot be performed normally when the upstream TiDB version is v8.1.x or earlier [#4392](https://github.com/pingcap/ticdc/issues/4392) @[lidezhu](https://github.com/lidezhu) + - Fix the issue that TiCDC fails to replicate table renaming operations correctly when the upstream TiDB version is v8.1.x or earlier [#4392](https://github.com/pingcap/ticdc/issues/4392) @[lidezhu](https://github.com/lidezhu) - Fix the issue that TiKV might crash during data scanning when CDC is enabled [#19404](https://github.com/tikv/tikv/issues/19404) @[wk989898](https://github.com/wk989898) - Support Azure Managed Identity authentication for azblob sinks and fix the issue that uploads to cloud storage might get stuck [#3093](https://github.com/pingcap/ticdc/issues/3093) @[wlwilliamx](https://github.com/wlwilliamx) From 7365d431df6700ab128254578fd6568deafbcdf5 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Thu, 2 Apr 2026 10:42:35 +0800 Subject: [PATCH 39/52] Apply suggestions from code review --- releases/release-8.5.6.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 2fe6aae002bb6..17fa91bc9af8f 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -71,7 +71,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti ### DB operations -- Support specifying the maximum number of nodes for Distributed eXecution Framework (DXF) tasks [#58937](https://github.com/pingcap/tidb/pull/58937) @[tangenta](https://github.com/tangenta) @[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** +- Support specifying the maximum number of nodes for Distributed eXecution Framework (DXF) tasks [#58944](https://github.com/pingcap/tidb/issues/58944) @[tangenta](https://github.com/tangenta) @[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** Before v8.5.6, TiDB does not provide a way to limit the number of nodes used by a distributed execution task. When you want to control resource usage for DXF, TiDB does not provide a dedicated option to constrain the maximum node count. @@ -187,7 +187,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + PD - - Fix a panic issue that might occur when executing `DISTRIBUTE TABLE` in scenarios with a large number of Merge Region operators [#10292](https://github.com/tikv/pd/pull/10292) @[bufferflies](https://github.com/bufferflies) + - Fix a panic issue that might occur when executing `DISTRIBUTE TABLE` in scenarios with a large number of Merge Region operators [#10293](https://github.com/tikv/pd/issues/10293) @[bufferflies](https://github.com/bufferflies) - Fix the issue that configuring Store Limit might not take effect immediately [#10108](https://github.com/tikv/pd/issues/10108) @[okJiang](https://github.com/okJiang) + TiFlash From d8771aad025d8edb6a13ed6fea049c7867aca32e Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Thu, 2 Apr 2026 15:14:43 +0800 Subject: [PATCH 40/52] Update releases/release-8.5.6.md --- releases/release-8.5.6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 17fa91bc9af8f..dac12bc424aac 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -25,7 +25,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti ### Stability -- Support setting the maximum limit on resource usage for background tasks of resource control (GA) [#56019](https://github.com/pingcap/tidb/issues/56019) @[glorv](https://github.com/glorv) **tw@hfxsd** +- The feature of setting the maximum limit on resource usage for background tasks of resource control becomes generally available (GA) [#56019](https://github.com/pingcap/tidb/issues/56019) @[glorv](https://github.com/glorv) **tw@hfxsd** TiDB resource control can identify and lower the priority of background tasks. In certain scenarios, you might want to limit the resource consumption of background tasks, even when resources are available. Starting from v8.4.0, you can use the `UTILIZATION_LIMIT` parameter to set the maximum percentage of resources that background tasks can consume. Each node will keep the resource usage of all background tasks below this percentage. This feature enables precise control over resource consumption for background tasks, further enhancing cluster stability. From 9c5583e1538a1fb48b00153487fe5e645b4bc675 Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 2 Apr 2026 15:55:15 +0800 Subject: [PATCH 41/52] Apply suggestions from code review --- releases/release-8.5.6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index dac12bc424aac..43c3f1c901947 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -210,7 +210,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - Fix the issue that changefeeds might repeatedly create invalid dispatchers after the server restarts [#4452](https://github.com/pingcap/ticdc/issues/4452) @[wlwilliamx](https://github.com/wlwilliamx) - Fix the issue that TiCDC fails to replicate table renaming operations correctly when the upstream TiDB version is v8.1.x or earlier [#4392](https://github.com/pingcap/ticdc/issues/4392) @[lidezhu](https://github.com/lidezhu) - Fix the issue that TiKV might crash during data scanning when CDC is enabled [#19404](https://github.com/tikv/tikv/issues/19404) @[wk989898](https://github.com/wk989898) - - Support Azure Managed Identity authentication for azblob sinks and fix the issue that uploads to cloud storage might get stuck [#3093](https://github.com/pingcap/ticdc/issues/3093) @[wlwilliamx](https://github.com/wlwilliamx) + - Support Azure Managed Identity authentication for Azure Blob Storage and fix the issue that uploads to cloud storage might get stuck [#3093](https://github.com/pingcap/ticdc/issues/3093) @[wlwilliamx](https://github.com/wlwilliamx) + TiDB Data Migration (DM) From ef748253b44b56599e4be6a48cfbd788d3f40fd5 Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Fri, 3 Apr 2026 14:17:42 +0800 Subject: [PATCH 42/52] Apply suggestions from code review Co-authored-by: xixirangrang --- releases/release-8.5.6.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 43c3f1c901947..5804ff066b74d 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -39,7 +39,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti Before v8.5.6, the main way to identify slow queries in TiDB is to set the [`tidb_slow_log_threshold`](/system-variables.md#tidb_slow_log_threshold) system variable. This mechanism provides only coarse-grained control over slow query log triggering because it applies globally at the instance level and does not support fine-grained control at the session or SQL level. In addition, it supports only one trigger condition, execution time (`Query_time`), which cannot meet the need to capture slow query logs more precisely in complex scenarios. - Starting from v8.5.6, TiDB enhances slow query log control. You can use the [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-new-in-v900) system variable to define multi-dimensional slow query log output rules at the instance, session, and SQL levels, based on conditions such as `Query_time`, `Digest`, `Mem_max`, and `KV_total`. You can use [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-new-in-v900) to limit the number of log entries written per second, and use the [`WRITE_SLOW_LOG`](/optimizer-hints.md) hint to force slow query logging for specific SQL statements. This enables more flexible and fine-grained control over slow query logs. + Starting from v8.5.6, TiDB enhances slow query log control. You can use the [`tidb_slow_log_rules`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_rules-new-in-v856) system variable to define multi-dimensional slow query log output rules at the instance, session, and SQL levels, based on conditions such as `Query_time`, `Digest`, `Mem_max`, and `KV_total`. You can use [`tidb_slow_log_max_per_sec`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_max_per_sec-new-in-v856) to limit the number of log entries written per second, and use the [`WRITE_SLOW_LOG`](https://docs.pingcap.com/tidb/v8.5/optimizer-hints) hint to force slow query logging for specific SQL statements. This enables more flexible and fine-grained control over slow query logs. For more information, see [documentation](https://docs.pingcap.com/tidb/v8.5/identify-slow-queries). @@ -61,7 +61,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti For more information, see [documentation](https://docs.pingcap.com/tidb/v8.5/column-privilege-management). -- Support using table aliases in the `FOR UPDATE OF` clause [#65532](https://github.com/pingcap/tidb/pull/65532) @[cryo-zd](https://github.com/cryo-zd) **tw@lilin90** +- Support using table aliases in the `FOR UPDATE OF` clause [#63035](https://github.com/pingcap/tidb/issues/63035) @[cryo-zd](https://github.com/cryo-zd) **tw@lilin90** Before v8.5.6, when a `SELECT ... FOR UPDATE OF
` statement references a table alias in the locking clause, TiDB might fail to resolve the alias correctly and return the `table not exists` error even if the alias is valid. @@ -149,7 +149,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiDB Data Migration (DM) - Support MySQL 8.4 as an upstream data source for DM by adapting to the new terminology and version detection logic introduced in this version [#11020](https://github.com/pingcap/tiflow/issues/11020) @[dveeden](https://github.com/dveeden) - - Add support for foreign key causal dependencies in DM syncer to ensure that row changes are executed in parent-to-child foreign key order in multi-worker scenarios [#12552](https://github.com/pingcap/tiflow/pull/12552) @[OliverS929](https://github.com/OliverS929) + - Add foreign key causal dependency support in DM syncer to ensure parent-to-child execution order of row changes in multi-worker scenarios [#12350](https://github.com/pingcap/tiflow/issues/12350) @[OliverS929](https://github.com/OliverS929) + TiDB Lightning @@ -165,8 +165,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - Fix the issue that upgrading from `release-8.5-20250606-v8.5.2` to the upstream `release-8.5` might skip the PITR metadata upgrade and cause PITR operations to fail [#66994](https://github.com/pingcap/tidb/issues/66994) @[fzzf678](https://github.com/fzzf678) - Fix the issue that after executing `EXCHANGE PARTITION`, non-unique global indexes or nullable unique global indexes on non-clustered partitioned tables might become inconsistent and return incomplete results [#65289](https://github.com/pingcap/tidb/issues/65289) @[mjonss](https://github.com/mjonss) - - Fix the issue that `KILL QUERY` might incorrectly terminate idle connections [#65447](https://github.com/pingcap/tidb/issues/65447) @[gengliqi](https://github.com/gengliqi) - - Fix the issue that column-level privilege checks might be incorrect in `JOIN ... USING`, `NATURAL JOIN`, and `INSERT ... ON DUPLICATE KEY UPDATE` scenarios [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) + - Fix the issue that `KILL QUERY` might incorrectly terminate idle connections [#65447](https://github.com/pingcap/tidb/issues/65447) @[gengliqi](https://github.com/gengliqi)(https://github.com/CbcWestwolf) - Add `cluster_id` to `mysql.tidb`, enabling external tools to determine whether two TiDB instances belong to the same cluster [#59476](https://github.com/pingcap/tidb/issues/59476) @[YangKeao](https://github.com/YangKeao) - Improve slow query log readability by outputting non-printable prepared statement arguments as hexadecimal values [#65383](https://github.com/pingcap/tidb/issues/65383) @[dveeden](https://github.com/dveeden) - Fix the issue that the value of `tidb_service_scope` is not converted to lowercase when set [#66749](https://github.com/pingcap/tidb/issues/66749) @[D3Hunter](https://github.com/D3Hunter) @@ -201,7 +200,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + Backup & Restore (BR) - Fix the issue that `flush_ts` might be `0` in log backup [#19406](https://github.com/tikv/tikv/issues/19406) @[YuJuncen](https://github.com/YuJuncen) - - Fix the issue that BR might fail during multipart uploads through GCP S3 API Server because the `Content-Length` request header is missing [#19352](https://github.com/tikv/tikv/issues/19352) @[Leavrth](https://github.com/Leavrth) + - Fix the issue that BR might fail during multipart uploads when accessing Google Cloud Storage via Amazon S3-compatible APIs with S3-style credentials, due to a missing Content-Length header [#19352](https://github.com/tikv/tikv/issues/19352) @[Leavrth](https://github.com/Leavrth) - Fix the issue that the BR `restore point` might remain stuck in the `waiting for schema info finishes reloading` state for a long time and then fail due to timeout after 15 minutes [#66110](https://github.com/pingcap/tidb/issues/66110) @[kennytm](https://github.com/kennytm) - Fix the issue that BR cannot correctly pre-split Regions when restoring tables with the `SHARD_ROW_ID_BITS`, `PRE_SPLIT_REGIONS`, and `merge_option` attributes [#65060](https://github.com/pingcap/tidb/issues/65060) @[JoyC-dev](https://github.com/JoyC-dev) From ae347ce9041136f4d797c97fdd055c5906f21e94 Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Fri, 3 Apr 2026 15:06:38 +0800 Subject: [PATCH 43/52] Add two compatibility descriptions --- releases/release-8.5.6.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 5804ff066b74d..0c9b607a84ffc 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -92,12 +92,14 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions ### MySQL compatibility - Starting from v8.5.6, TiDB supports the MySQL-compatible column-level privilege management mechanism. You can grant or revoke `SELECT`, `INSERT`, `UPDATE`, and `REFERENCES` privileges for specific columns at the table level. For more information, see [Column-Level Privilege Management](https://docs.pingcap.com/tidb/v8.5/column-privilege-management). +- Starting from v8.5.6, TiDB supports using table aliases in the `FOR UPDATE OF` clause. To maintain backward compatibility, you can still reference the base table name when an alias is defined, but this triggers a warning that recommends using the explicit alias. For more information, see [`SELECT`](https://docs.pingcap.com/tidb/v8.5/sql-statement-select). ### System variables | Variable name | Change type | Description | |--------|------------------------------|------| | [`tidb_analyze_version`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_analyze_version-new-in-v510) | Modified | Starting from v8.5.6, statistics Version 1 (`tidb_analyze_version = 1`) is deprecated and will be removed in a future release. It is recommended to use statistics Version 2 (`tidb_analyze_version = 2`). | +| [`tidb_ignore_inlist_plan_digest`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_ignore_inlist_plan_digest-new-in-v760) | Modified | Changes the default value from `OFF` to `ON`. The default value `ON` means that TiDB ignores the element differences (including the difference in the number of elements) in the `IN` list and uses `...` to replace elements in the `IN` list in Plan Digests. | | [`tidb_service_scope`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_service_scope-new-in-v740) | Modified | Starting from v8.5.6, the value of this variable is case-insensitive. TiDB converts the input value to lowercase for storage and comparison. | | [`InPacketBytes`](https://docs.pingcap.com/tidb/v8.5/system-variables#inpacketbytes-new-in-v856) | Newly added | Starting from v8.5.6, this internal variable is used for statistics only and is not visible to users. | | [`OutPacketBytes`](https://docs.pingcap.com/tidb/v8.5/system-variables#outpacketbytes-new-in-v856) | Newly added | Starting from v8.5.6, this internal variable is used for statistics only and is not visible to users. | From eb03a2e1f983429625f799034d86b2e0b79b4b2f Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Fri, 3 Apr 2026 17:44:27 +0800 Subject: [PATCH 44/52] Apply suggestions from code review --- releases/release-8.5.6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 0c9b607a84ffc..a0cdf67d48783 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -128,6 +128,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - Improve plan selection for queries with `IN` predicates on index prefix columns. TiDB can now use merge sort to preserve order for `ORDER BY ... LIMIT` queries, reducing unnecessary scans and improving performance. [#63449](https://github.com/pingcap/tidb/issues/63449) [#34882](https://github.com/pingcap/tidb/issues/34882) @[time-and-fate](https://github.com/time-and-fate) **tw@hfxsd** - Support column-level privileges in `GRANT` and `REVOKE` [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) - Improve the performance of privilege update operations such as `GRANT` and `REVOKE` in deployments with a large number of column-level privilege entries [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) + - Improve slow query log readability by outputting non-printable prepared statement arguments as hexadecimal values [#65383](https://github.com/pingcap/tidb/issues/65383) @[dveeden](https://github.com/dveeden) + TiKV @@ -169,7 +170,6 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - Fix the issue that after executing `EXCHANGE PARTITION`, non-unique global indexes or nullable unique global indexes on non-clustered partitioned tables might become inconsistent and return incomplete results [#65289](https://github.com/pingcap/tidb/issues/65289) @[mjonss](https://github.com/mjonss) - Fix the issue that `KILL QUERY` might incorrectly terminate idle connections [#65447](https://github.com/pingcap/tidb/issues/65447) @[gengliqi](https://github.com/gengliqi)(https://github.com/CbcWestwolf) - Add `cluster_id` to `mysql.tidb`, enabling external tools to determine whether two TiDB instances belong to the same cluster [#59476](https://github.com/pingcap/tidb/issues/59476) @[YangKeao](https://github.com/YangKeao) - - Improve slow query log readability by outputting non-printable prepared statement arguments as hexadecimal values [#65383](https://github.com/pingcap/tidb/issues/65383) @[dveeden](https://github.com/dveeden) - Fix the issue that the value of `tidb_service_scope` is not converted to lowercase when set [#66749](https://github.com/pingcap/tidb/issues/66749) @[D3Hunter](https://github.com/D3Hunter) - Fix the issue that affinity tables are not displayed after TiDB restarts [#66284](https://github.com/pingcap/tidb/issues/66284) @[lcwangchao](https://github.com/lcwangchao) - Fix the issue that the Stats Healthy metric displays inaccurately because system tables are not excluded from the stats cache [#64080](https://github.com/pingcap/tidb/issues/64080) @[ti-chi-bot](https://github.com/ti-chi-bot) From d4ff727292d2ec6132b187a1d6f06d4e2e21f1fd Mon Sep 17 00:00:00 2001 From: houfaxin Date: Tue, 7 Apr 2026 11:24:07 +0800 Subject: [PATCH 45/52] Update release-8.5.6.md --- releases/release-8.5.6.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index a0cdf67d48783..5a35d0a1093d4 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -87,8 +87,6 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions earlier than v8.5.4), you can smoothly upgrade to v8.5.6. Most changes in v8.5.6 are safe for routine upgrades, but this release also includes several behavior changes, MySQL compatibility adjustments, system variable updates, configuration parameter updates, and system table changes. Before upgrading, make sure to carefully review this section. -### Behavior changes - ### MySQL compatibility - Starting from v8.5.6, TiDB supports the MySQL-compatible column-level privilege management mechanism. You can grant or revoke `SELECT`, `INSERT`, `UPDATE`, and `REFERENCES` privileges for specific columns at the table level. For more information, see [Column-Level Privilege Management](https://docs.pingcap.com/tidb/v8.5/column-privilege-management). @@ -141,27 +139,17 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - Return `404` instead of `200` when deleting a non-existent label [#10089](https://github.com/tikv/pd/issues/10089) @[lhy1024](https://github.com/lhy1024) - (dup): release-7.5.7.md > Improvements> PD - Reduce unnecessary error logs [#9370](https://github.com/tikv/pd/issues/9370) @[bufferflies](https://github.com/bufferflies) -+ TiFlash - + Tools - + Backup & Restore (BR) - - + TiCDC - + TiDB Data Migration (DM) - Support MySQL 8.4 as an upstream data source for DM by adapting to the new terminology and version detection logic introduced in this version [#11020](https://github.com/pingcap/tiflow/issues/11020) @[dveeden](https://github.com/dveeden) - Add foreign key causal dependency support in DM syncer to ensure parent-to-child execution order of row changes in multi-worker scenarios [#12350](https://github.com/pingcap/tiflow/issues/12350) @[OliverS929](https://github.com/OliverS929) - + TiDB Lightning - + Dumpling - Support exporting data from MySQL 8.4 by adopting the updated MySQL binary log terminology [#53082](https://github.com/pingcap/tidb/issues/53082) @[dveeden](https://github.com/dveeden) - + TiUP - ## Bug Fixes + TiDB @@ -218,5 +206,3 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - Fix the issue that DM does not advance the global checkpoint position after an upstream binlog file rotation [#12339](https://github.com/pingcap/tiflow/issues/12339) @[OliverS929](https://github.com/OliverS929) - Fix the issue that, when processing updates on tables with foreign key constraints in safe mode, DM might still incorrectly trigger foreign key cascades and cause unintended data deletion even if the primary key or unique key is not modified [#12350](https://github.com/pingcap/tiflow/issues/12350) @[OliverS929](https://github.com/OliverS929) - Fix the issue that DM validator incorrectly returns validation errors when processing `UNSIGNED` columns [#12178](https://github.com/pingcap/tiflow/issues/12178) @[OliverS929](https://github.com/OliverS929) - - + TiDB Lightning From 71383d7aeaac2e424cdaf714ffccaa15912c1c03 Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 7 Apr 2026 11:31:58 +0800 Subject: [PATCH 46/52] move MySQL 8.4 improvements to MySQL compatibility --- releases/release-8.5.6.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 5a35d0a1093d4..2bc5113577c80 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -91,6 +91,8 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - Starting from v8.5.6, TiDB supports the MySQL-compatible column-level privilege management mechanism. You can grant or revoke `SELECT`, `INSERT`, `UPDATE`, and `REFERENCES` privileges for specific columns at the table level. For more information, see [Column-Level Privilege Management](https://docs.pingcap.com/tidb/v8.5/column-privilege-management). - Starting from v8.5.6, TiDB supports using table aliases in the `FOR UPDATE OF` clause. To maintain backward compatibility, you can still reference the base table name when an alias is defined, but this triggers a warning that recommends using the explicit alias. For more information, see [`SELECT`](https://docs.pingcap.com/tidb/v8.5/sql-statement-select). +- Starting from v8.5.6, Dumpling supports exporting data from MySQL 8.4 by adopting the updated MySQL binary log terminology [#53082](https://github.com/pingcap/tidb/issues/53082) @[dveeden](https://github.com/dveeden) +- Starting from v8.5.6, TiDB Data Migration (DM) supports MySQL 8.4 as an upstream data source for DM by adapting to the new terminology and version detection logic introduced in this version [#11020](https://github.com/pingcap/tiflow/issues/11020) @[dveeden](https://github.com/dveeden) ### System variables @@ -143,13 +145,8 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + TiDB Data Migration (DM) - - Support MySQL 8.4 as an upstream data source for DM by adapting to the new terminology and version detection logic introduced in this version [#11020](https://github.com/pingcap/tiflow/issues/11020) @[dveeden](https://github.com/dveeden) - Add foreign key causal dependency support in DM syncer to ensure parent-to-child execution order of row changes in multi-worker scenarios [#12350](https://github.com/pingcap/tiflow/issues/12350) @[OliverS929](https://github.com/OliverS929) - + Dumpling - - - Support exporting data from MySQL 8.4 by adopting the updated MySQL binary log terminology [#53082](https://github.com/pingcap/tidb/issues/53082) @[dveeden](https://github.com/dveeden) - ## Bug Fixes + TiDB From 7d865663bccb69942e3757fbb3a236ffeb44e310 Mon Sep 17 00:00:00 2001 From: houfaxin Date: Tue, 7 Apr 2026 15:45:24 +0800 Subject: [PATCH 47/52] Add 8.5.6 release entry Add the 8.5.6 release to site navigation and timeline with a placeholder date. Updated files: - TOC-tidb-releases.md: added link to /releases/release-8.5.6.md - releases/_index.md: added 8.5.6 list item with placeholder date 2026-xx-xx - releases/release-timeline.md: added a table row for 8.5.6 with placeholder date Note: the new timeline row currently links to release-8.5.5.md (typo); it should point to release-8.5.6.md and should be corrected in a follow-up commit. --- TOC-tidb-releases.md | 1 + releases/_index.md | 1 + releases/release-timeline.md | 1 + 3 files changed, 3 insertions(+) diff --git a/TOC-tidb-releases.md b/TOC-tidb-releases.md index 6a6f2f5708e4d..30e1256860ce6 100644 --- a/TOC-tidb-releases.md +++ b/TOC-tidb-releases.md @@ -12,6 +12,7 @@ ## RELEASE NOTES - v8.5 + - [8.5.6](/releases/release-8.5.6.md) - [8.5.5](/releases/release-8.5.5.md) - [8.5.4](/releases/release-8.5.4.md) - [8.5.3](/releases/release-8.5.3.md) diff --git a/releases/_index.md b/releases/_index.md index e10c7c108f3b0..458de70ecf053 100644 --- a/releases/_index.md +++ b/releases/_index.md @@ -14,6 +14,7 @@ To learn about the support timelines for Long-Term Support (LTS) versions of TiD ## 8.5 +- [8.5.6](/releases/release-8.5.6.md): 2026-xx-xx - [8.5.5](/releases/release-8.5.5.md): 2026-01-15 - [8.5.4](/releases/release-8.5.4.md): 2025-11-27 - [8.5.3](/releases/release-8.5.3.md): 2025-08-14 diff --git a/releases/release-timeline.md b/releases/release-timeline.md index b4d43eecaa839..5c40676e08dcc 100644 --- a/releases/release-timeline.md +++ b/releases/release-timeline.md @@ -13,6 +13,7 @@ To learn about the support timelines for Long-Term Support (LTS) versions of TiD | Version | Release Date | | :--- | :--- | +| [8.5.6](/releases/release-8.5.5.md) | 2026-xx-xx | | [8.5.5](/releases/release-8.5.5.md) | 2026-01-15 | | [8.5.4](/releases/release-8.5.4.md) | 2025-11-27 | | [7.5.7](/releases/release-7.5.7.md) | 2025-09-04 | From 92a2546a966d7696f26e7c9c9f1f944ef541e219 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Tue, 7 Apr 2026 18:02:45 +0800 Subject: [PATCH 48/52] Update releases/release-8.5.6.md --- releases/release-8.5.6.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 2bc5113577c80..6fe1015c70a15 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -114,7 +114,10 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions | Configuration file or component | Configuration parameter | Change type | Description | | -------- | -------- | -------- | -------- | -| TiKV | [`resource-metering.enable-network-io-collection`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file) | Newly added | Controls whether TiKV collects network I/O and logical I/O metrics for Top SQL. The default value is `false`. | +| TiKV | [`gc.auto-compaction.mvcc-read-aware-enabled`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#mvcc-read-aware-enabled-new-in-v856) | Newly added | Controls whether to enable MVCC-read-aware compaction. The default value is `false`. | +| TiKV | [`gc.auto-compaction.mvcc-read-weight`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#mvcc-read-weight-new-in-v856) | Newly added | The weight multiplier applied to MVCC read activity when calculating the compaction priority score for a Region. The default value is `3.0`. | +| TiKV | [`gc.auto-compaction.mvcc-scan-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#mvcc-scan-threshold-new-in-v856) | Newly added | The minimum number of MVCC versions scanned per read request to mark a Region as a compaction candidate. The default value is `1000`. | +| TiKV | [`resource-metering.enable-network-io-collection`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#enable-network-io-collection-new-in-v856) | Newly added | Controls whether TiKV collects network I/O and logical I/O metrics for Top SQL. The default value is `false`. | | TiCDC | [`output-field-header`](/ticdc/ticdc-csv.md) | Newly added | Controls whether TiCDC outputs a header row in CSV files. This parameter is only applicable to the TiCDC new architecture. The default value is `false`. | ## Deprecated features From 5f84faff15bb16f719bfa754ea4acfb88914d54a Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 7 Apr 2026 19:04:42 +0800 Subject: [PATCH 49/52] compatibility changes: minor wording updates --- releases/release-8.5.6.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 6fe1015c70a15..6deb908ec2355 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -101,9 +101,9 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions | [`tidb_analyze_version`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_analyze_version-new-in-v510) | Modified | Starting from v8.5.6, statistics Version 1 (`tidb_analyze_version = 1`) is deprecated and will be removed in a future release. It is recommended to use statistics Version 2 (`tidb_analyze_version = 2`). | | [`tidb_ignore_inlist_plan_digest`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_ignore_inlist_plan_digest-new-in-v760) | Modified | Changes the default value from `OFF` to `ON`. The default value `ON` means that TiDB ignores the element differences (including the difference in the number of elements) in the `IN` list and uses `...` to replace elements in the `IN` list in Plan Digests. | | [`tidb_service_scope`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_service_scope-new-in-v740) | Modified | Starting from v8.5.6, the value of this variable is case-insensitive. TiDB converts the input value to lowercase for storage and comparison. | -| [`InPacketBytes`](https://docs.pingcap.com/tidb/v8.5/system-variables#inpacketbytes-new-in-v856) | Newly added | Starting from v8.5.6, this internal variable is used for statistics only and is not visible to users. | -| [`OutPacketBytes`](https://docs.pingcap.com/tidb/v8.5/system-variables#outpacketbytes-new-in-v856) | Newly added | Starting from v8.5.6, this internal variable is used for statistics only and is not visible to users. | -| [`tidb_foreign_key_check_in_shared_lock`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_foreign_key_check_in_shared_lock-new-in-v856) | Newly added | Controls whether TiDB uses shared locks (instead of exclusive locks) on parent table rows during foreign key checks in pessimistic transactions. The default value is `OFF`, which means TiDB uses exclusive locks by default. | +| [`InPacketBytes`](https://docs.pingcap.com/tidb/v8.5/system-variables#inpacketbytes-new-in-v856) | Newly added | This variable is used only for internal statistics and is not visible to users. | +| [`OutPacketBytes`](https://docs.pingcap.com/tidb/v8.5/system-variables#outpacketbytes-new-in-v856) | Newly added | This variable is used only for internal statistics and is not visible to users. | +| [`tidb_foreign_key_check_in_shared_lock`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_foreign_key_check_in_shared_lock-new-in-v856) | Newly added | Controls whether foreign key checks in pessimistic transactions use shared locks instead of exclusive locks on rows in the parent table. The default value is `OFF`, which means TiDB uses exclusive locks by default. | | [`tidb_max_dist_task_nodes`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_max_dist_task_nodes-new-in-v856) | Newly added | Defines the maximum number of TiDB nodes that the Distributed eXecution Framework (DXF) tasks can use. The default value is `-1`, which indicates that automatic mode is enabled. In automatic mode, TiDB dynamically calculates the value as `min(3, tikv_nodes / 3)`, where `tikv_nodes` represents the number of TiKV nodes in the cluster. | | [`tidb_opt_join_reorder_through_sel`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_join_reorder_through_sel-new-in-v856) | Newly added | Improves join reorder optimization for certain multi-table join queries. If you set it to `ON` and safety conditions are met, the optimizer evaluates `Selection` conditions that appear between consecutive join operators together with join order candidates. During join tree reconstruction, the optimizer pushes these conditions to more appropriate positions whenever possible, allowing more tables to participate in join order optimization. | | [`tidb_opt_partial_ordered_index_for_topn`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_partial_ordered_index_for_topn-new-in-v856) | Newly added | Controls whether the optimizer can leverage the partial ordering of an index to optimize TopN computation when a query contains `ORDER BY ... LIMIT`. The default value is `DISABLE`, which means the optimization is disabled. | @@ -117,12 +117,12 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions | TiKV | [`gc.auto-compaction.mvcc-read-aware-enabled`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#mvcc-read-aware-enabled-new-in-v856) | Newly added | Controls whether to enable MVCC-read-aware compaction. The default value is `false`. | | TiKV | [`gc.auto-compaction.mvcc-read-weight`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#mvcc-read-weight-new-in-v856) | Newly added | The weight multiplier applied to MVCC read activity when calculating the compaction priority score for a Region. The default value is `3.0`. | | TiKV | [`gc.auto-compaction.mvcc-scan-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#mvcc-scan-threshold-new-in-v856) | Newly added | The minimum number of MVCC versions scanned per read request to mark a Region as a compaction candidate. The default value is `1000`. | -| TiKV | [`resource-metering.enable-network-io-collection`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#enable-network-io-collection-new-in-v856) | Newly added | Controls whether TiKV collects network I/O and logical I/O metrics for Top SQL. The default value is `false`. | -| TiCDC | [`output-field-header`](/ticdc/ticdc-csv.md) | Newly added | Controls whether TiCDC outputs a header row in CSV files. This parameter is only applicable to the TiCDC new architecture. The default value is `false`. | +| TiKV | [`resource-metering.enable-network-io-collection`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#enable-network-io-collection-new-in-v856) | Newly added | Controls whether TiKV network traffic and logical I/O metrics are additionally collected in Top SQL. The default value is `false`. | +| TiCDC | [`sink.csv.output-field-header`](https://docs.pingcap.com/tidb/v8.5/ticdc/ticdc-csv#use-csv) | Newly added | Controls whether a header row is output in CSV files. The default value is `false`. This parameter applies only to the TiCDC new architecture. | ## Deprecated features -- Starting from v8.5.6, statistics Version 1 (`tidb_analyze_version = 1`) is deprecated and will be removed in a future version. It is recommended that you use Statistics Version 2 (`tidb_analyze_version = 2`) for more accurate statistics and [migrate existing objects that use Statistics Version 1 to Version 2](https://docs.pingcap.com/tidb/v8.5/statistics#switch-between-statistics-versions). +- Starting from v8.5.6, statistics Version 1 (`tidb_analyze_version = 1`) is deprecated and will be removed in a future version. It is recommended that you use statistics Version 2 (`tidb_analyze_version = 2`) and [migrate existing objects that use statistics Version 1 to Version 2](https://docs.pingcap.com/tidb/v8.5/statistics#switch-between-statistics-versions) for more accurate statistics. ## Improvements From 547f2c4776d71e1e2e7ebe7d9f07e6a046c63136 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 8 Apr 2026 14:26:23 +0800 Subject: [PATCH 50/52] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-8.5.6.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 6deb908ec2355..0aa17a28c3d61 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -11,7 +11,7 @@ TiDB Version: 8.5.6 Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-tidb) | [Production Deployment](https://docs.pingcap.com/tidb/v8.5/production-deployment-using-tiup) | [Download Offline Package](https://pingkai.cn/download#tidb-community) -## Feature Details +## Feature details ### Performance @@ -83,32 +83,32 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti - (dup): release-9.0.0.md > # Data migration * Migrate sync-diff-inspector from `pingcap/tidb-tools` to `pingcap/tiflow` repository [#11672](https://github.com/pingcap/tiflow/issues/11672) @[joechenrh](https://github.com/joechenrh) -## Compatibility Changes +## Compatibility changes -For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions earlier than v8.5.4), you can smoothly upgrade to v8.5.6. Most changes in v8.5.6 are safe for routine upgrades, but this release also includes several behavior changes, MySQL compatibility adjustments, system variable updates, configuration parameter updates, and system table changes. Before upgrading, make sure to carefully review this section. +For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions earlier than v8.5.4), you can smoothly upgrade to v8.5.6. Most changes in v8.5.6 are safe for routine upgrades, but this release also includes several MySQL compatibility changes, system variable updates, configuration parameter updates, and deprecated features. Before upgrading, make sure to carefully review this section. ### MySQL compatibility -- Starting from v8.5.6, TiDB supports the MySQL-compatible column-level privilege management mechanism. You can grant or revoke `SELECT`, `INSERT`, `UPDATE`, and `REFERENCES` privileges for specific columns at the table level. For more information, see [Column-Level Privilege Management](https://docs.pingcap.com/tidb/v8.5/column-privilege-management). -- Starting from v8.5.6, TiDB supports using table aliases in the `FOR UPDATE OF` clause. To maintain backward compatibility, you can still reference the base table name when an alias is defined, but this triggers a warning that recommends using the explicit alias. For more information, see [`SELECT`](https://docs.pingcap.com/tidb/v8.5/sql-statement-select). +- Starting from v8.5.6, TiDB supports a MySQL-compatible column-level privilege management mechanism. You can grant or revoke `SELECT`, `INSERT`, `UPDATE`, and `REFERENCES` privileges for specific columns at the table level. For more information, see [Column-Level Privilege Management](https://docs.pingcap.com/tidb/v8.5/column-privilege-management). +- Starting from v8.5.6, TiDB supports using table aliases in the `FOR UPDATE OF` clause. To maintain backward compatibility, you can still reference the base table name when an alias is defined, but this triggers a warning recommending the use of an explicit alias. For more information, see [`SELECT`](https://docs.pingcap.com/tidb/v8.5/sql-statement-select). - Starting from v8.5.6, Dumpling supports exporting data from MySQL 8.4 by adopting the updated MySQL binary log terminology [#53082](https://github.com/pingcap/tidb/issues/53082) @[dveeden](https://github.com/dveeden) -- Starting from v8.5.6, TiDB Data Migration (DM) supports MySQL 8.4 as an upstream data source for DM by adapting to the new terminology and version detection logic introduced in this version [#11020](https://github.com/pingcap/tiflow/issues/11020) @[dveeden](https://github.com/dveeden) +- Starting from v8.5.6, TiDB Data Migration (DM) supports MySQL 8.4 as an upstream data source by adapting to the new terminology and version detection logic introduced in this version [#11020](https://github.com/pingcap/tiflow/issues/11020) @[dveeden](https://github.com/dveeden) ### System variables | Variable name | Change type | Description | |--------|------------------------------|------| | [`tidb_analyze_version`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_analyze_version-new-in-v510) | Modified | Starting from v8.5.6, statistics Version 1 (`tidb_analyze_version = 1`) is deprecated and will be removed in a future release. It is recommended to use statistics Version 2 (`tidb_analyze_version = 2`). | -| [`tidb_ignore_inlist_plan_digest`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_ignore_inlist_plan_digest-new-in-v760) | Modified | Changes the default value from `OFF` to `ON`. The default value `ON` means that TiDB ignores the element differences (including the difference in the number of elements) in the `IN` list and uses `...` to replace elements in the `IN` list in Plan Digests. | +| [`tidb_ignore_inlist_plan_digest`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_ignore_inlist_plan_digest-new-in-v760) | Modified | Changes the default value from `OFF` to `ON`. The default value `ON` means that TiDB ignores the element differences (including the difference in the number of elements) in the `IN` list and uses `...` to replace elements in the `IN` list when generating Plan Digests. | | [`tidb_service_scope`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_service_scope-new-in-v740) | Modified | Starting from v8.5.6, the value of this variable is case-insensitive. TiDB converts the input value to lowercase for storage and comparison. | | [`InPacketBytes`](https://docs.pingcap.com/tidb/v8.5/system-variables#inpacketbytes-new-in-v856) | Newly added | This variable is used only for internal statistics and is not visible to users. | | [`OutPacketBytes`](https://docs.pingcap.com/tidb/v8.5/system-variables#outpacketbytes-new-in-v856) | Newly added | This variable is used only for internal statistics and is not visible to users. | | [`tidb_foreign_key_check_in_shared_lock`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_foreign_key_check_in_shared_lock-new-in-v856) | Newly added | Controls whether foreign key checks in pessimistic transactions use shared locks instead of exclusive locks on rows in the parent table. The default value is `OFF`, which means TiDB uses exclusive locks by default. | | [`tidb_max_dist_task_nodes`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_max_dist_task_nodes-new-in-v856) | Newly added | Defines the maximum number of TiDB nodes that the Distributed eXecution Framework (DXF) tasks can use. The default value is `-1`, which indicates that automatic mode is enabled. In automatic mode, TiDB dynamically calculates the value as `min(3, tikv_nodes / 3)`, where `tikv_nodes` represents the number of TiKV nodes in the cluster. | -| [`tidb_opt_join_reorder_through_sel`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_join_reorder_through_sel-new-in-v856) | Newly added | Improves join reorder optimization for certain multi-table join queries. If you set it to `ON` and safety conditions are met, the optimizer evaluates `Selection` conditions that appear between consecutive join operators together with join order candidates. During join tree reconstruction, the optimizer pushes these conditions to more appropriate positions whenever possible, allowing more tables to participate in join order optimization. | +| [`tidb_opt_join_reorder_through_sel`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_join_reorder_through_sel-new-in-v856) | Newly added | Improves join reorder optimization for certain multi-table join queries. If you set it to `ON` and safety conditions are met, the optimizer evaluates `Selection` conditions between consecutive join operators together with join order candidates. During join tree reconstruction, the optimizer pushes these conditions down to more appropriate positions whenever possible, allowing more tables to participate in join order optimization. | | [`tidb_opt_partial_ordered_index_for_topn`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_partial_ordered_index_for_topn-new-in-v856) | Newly added | Controls whether the optimizer can leverage the partial ordering of an index to optimize TopN computation when a query contains `ORDER BY ... LIMIT`. The default value is `DISABLE`, which means the optimization is disabled. | -| [`tidb_slow_log_max_per_sec`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_max_per_sec-new-in-v856) | Newly added | Controls the maximum number of slow query log entries that can be written per TiDB node per second.
  • A value of `0` means there is no limit on the number of slow query log entries written per second.
  • A value greater than `0` means TiDB writes at most the specified number of slow query log entries per second. Any excess log entries are discarded and not written to the slow query log file.
| -| [`tidb_slow_log_rules`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_rules-new-in-v856) | Newly added | defines the triggering rules for slow query logs. It supports combining multi-dimensional metrics to provide more flexible and fine-grained logging. | +| [`tidb_slow_log_max_per_sec`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_max_per_sec-new-in-v856) | Newly added | Controls the maximum number of slow query log entries that can be written per TiDB node per second.
  • A value of `0` (the default) means there is no limit on the number of slow query log entries written per second.
  • A value greater than `0` means TiDB writes at most the specified number of slow query log entries per second. Any excess log entries are discarded and not written to the slow query log file.
| +| [`tidb_slow_log_rules`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_rules-new-in-v856) | Newly added | Defines the triggering rules for slow query logs. It supports combining multi-dimensional metrics to provide more flexible and fine-grained logging. | ### Configuration parameters From e66723b3909c55bdc9f130b93ad543110c27478b Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 8 Apr 2026 14:27:07 +0800 Subject: [PATCH 51/52] Update releases/release-8.5.6.md --- releases/release-8.5.6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 0aa17a28c3d61..689fc6513e641 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -150,7 +150,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - Add foreign key causal dependency support in DM syncer to ensure parent-to-child execution order of row changes in multi-worker scenarios [#12350](https://github.com/pingcap/tiflow/issues/12350) @[OliverS929](https://github.com/OliverS929) -## Bug Fixes +## Bug fixes + TiDB From 06e28bb8754a2d293c15a3dacfda373b6e559815 Mon Sep 17 00:00:00 2001 From: houfaxin Date: Wed, 8 Apr 2026 14:47:49 +0800 Subject: [PATCH 52/52] Update release-8.5.6.md --- releases/release-8.5.6.md | 42 +++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 689fc6513e641..faf87ebe46168 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -15,7 +15,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti ### Performance -- Foreign key checks now support shared locks [#66154](https://github.com/pingcap/tidb/issues/66154) @[you06](https://github.com/you06) **tw@qiancai** +- Foreign key checks now support shared locks [#66154](https://github.com/pingcap/tidb/issues/66154) @[you06](https://github.com/you06) In pessimistic transactions, when you run `INSERT` or `UPDATE` on a child table with foreign key constraints, foreign key checks lock the corresponding parent table rows with exclusive locks by default. In high-concurrency write scenarios on the child table, if many transactions access the same parent table rows, severe lock contention can occur. @@ -25,7 +25,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti ### Stability -- The feature of setting the maximum limit on resource usage for background tasks of resource control becomes generally available (GA) [#56019](https://github.com/pingcap/tidb/issues/56019) @[glorv](https://github.com/glorv) **tw@hfxsd** +- The feature of setting the maximum limit on resource usage for background tasks of resource control becomes generally available (GA) [#56019](https://github.com/pingcap/tidb/issues/56019) @[glorv](https://github.com/glorv) TiDB resource control can identify and lower the priority of background tasks. In certain scenarios, you might want to limit the resource consumption of background tasks, even when resources are available. Starting from v8.4.0, you can use the `UTILIZATION_LIMIT` parameter to set the maximum percentage of resources that background tasks can consume. Each node will keep the resource usage of all background tasks below this percentage. This feature enables precise control over resource consumption for background tasks, further enhancing cluster stability. @@ -35,7 +35,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti ### Observability -- Support defining multi-dimensional, fine-grained trigger rules for slow query logs [#62959](https://github.com/pingcap/tidb/issues/62959), [#64010](https://github.com/pingcap/tidb/issues/64010) @[zimulala](https://github.com/zimulala) **tw@lilin90** +- Support defining multi-dimensional, fine-grained trigger rules for slow query logs [#62959](https://github.com/pingcap/tidb/issues/62959), [#64010](https://github.com/pingcap/tidb/issues/64010) @[zimulala](https://github.com/zimulala) Before v8.5.6, the main way to identify slow queries in TiDB is to set the [`tidb_slow_log_threshold`](/system-variables.md#tidb_slow_log_threshold) system variable. This mechanism provides only coarse-grained control over slow query log triggering because it applies globally at the instance level and does not support fine-grained control at the session or SQL level. In addition, it supports only one trigger condition, execution time (`Query_time`), which cannot meet the need to capture slow query logs more precisely in complex scenarios. @@ -43,7 +43,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti For more information, see [documentation](https://docs.pingcap.com/tidb/v8.5/identify-slow-queries). -- The Top SQL page in TiDB Dashboard now supports collecting and displaying TiKV network traffic and logical I/O metrics [#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) **tw@qiancai** +- The Top SQL page in TiDB Dashboard now supports collecting and displaying TiKV network traffic and logical I/O metrics [#62916](https://github.com/pingcap/tidb/issues/62916) @[yibin87](https://github.com/yibin87) In earlier versions, TiDB Dashboard identified Top SQL queries based only on CPU-related metrics, making it difficult to identify performance bottlenecks related to network or storage access in complex scenarios. @@ -61,7 +61,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti For more information, see [documentation](https://docs.pingcap.com/tidb/v8.5/column-privilege-management). -- Support using table aliases in the `FOR UPDATE OF` clause [#63035](https://github.com/pingcap/tidb/issues/63035) @[cryo-zd](https://github.com/cryo-zd) **tw@lilin90** +- Support using table aliases in the `FOR UPDATE OF` clause [#63035](https://github.com/pingcap/tidb/issues/63035) @[cryo-zd](https://github.com/cryo-zd) Before v8.5.6, when a `SELECT ... FOR UPDATE OF
` statement references a table alias in the locking clause, TiDB might fail to resolve the alias correctly and return the `table not exists` error even if the alias is valid. @@ -71,7 +71,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti ### DB operations -- Support specifying the maximum number of nodes for Distributed eXecution Framework (DXF) tasks [#58944](https://github.com/pingcap/tidb/issues/58944) @[tangenta](https://github.com/tangenta) @[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** +- Support specifying the maximum number of nodes for Distributed eXecution Framework (DXF) tasks [#58944](https://github.com/pingcap/tidb/issues/58944) @[tangenta](https://github.com/tangenta) @[D3Hunter](https://github.com/D3Hunter) Before v8.5.6, TiDB does not provide a way to limit the number of nodes used by a distributed execution task. When you want to control resource usage for DXF, TiDB does not provide a dedicated option to constrain the maximum node count. @@ -81,7 +81,7 @@ Try it out: [Quick Start](https://docs.pingcap.com/tidb/v8.5/quick-start-with-ti ### Data Migration -- (dup): release-9.0.0.md > # Data migration * Migrate sync-diff-inspector from `pingcap/tidb-tools` to `pingcap/tiflow` repository [#11672](https://github.com/pingcap/tiflow/issues/11672) @[joechenrh](https://github.com/joechenrh) +- Migrate sync-diff-inspector from `pingcap/tidb-tools` to `pingcap/tiflow` repository [#11672](https://github.com/pingcap/tiflow/issues/11672) @[joechenrh](https://github.com/joechenrh) ## Compatibility changes @@ -126,37 +126,37 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions ## Improvements -+ TiDB ++ TiDB - Improve plan selection for queries with `IN` predicates on index prefix columns. TiDB can now use merge sort to preserve order for `ORDER BY ... LIMIT` queries, reducing unnecessary scans and improving performance. [#63449](https://github.com/pingcap/tidb/issues/63449) [#34882](https://github.com/pingcap/tidb/issues/34882) @[time-and-fate](https://github.com/time-and-fate) **tw@hfxsd** - Support column-level privileges in `GRANT` and `REVOKE` [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) - Improve the performance of privilege update operations such as `GRANT` and `REVOKE` in deployments with a large number of column-level privilege entries [#61706](https://github.com/pingcap/tidb/issues/61706) @[CbcWestwolf](https://github.com/CbcWestwolf) - Improve slow query log readability by outputting non-printable prepared statement arguments as hexadecimal values [#65383](https://github.com/pingcap/tidb/issues/65383) @[dveeden](https://github.com/dveeden) -+ TiKV ++ TiKV - Introduce a load-based compaction mechanism, which detects MVCC read overhead and prioritizes compaction for Regions with higher read cost to improve query performance [#19133](https://github.com/tikv/tikv/issues/19133) @[mittalrishabh](https://github.com/mittalrishabh) - Optimize the stale range cleanup logic during cluster scale-out and scale-in operations by deleting stale keys directly instead of cleaning them up through SST file ingestion, thereby reducing the impact on online request latency [#18042](https://github.com/tikv/tikv/issues/18042) @[LykxSassinator](https://github.com/LykxSassinator) - Support collecting TiKV network traffic and logical I/O metrics for Top SQL, which helps users diagnose SQL performance issues more accurately [#18815](https://github.com/tikv/tikv/issues/18815) @[yibin87](https://github.com/yibin87) -+ PD ++ PD - Return `404` instead of `200` when deleting a non-existent label [#10089](https://github.com/tikv/pd/issues/10089) @[lhy1024](https://github.com/lhy1024) - - (dup): release-7.5.7.md > Improvements> PD - Reduce unnecessary error logs [#9370](https://github.com/tikv/pd/issues/9370) @[bufferflies](https://github.com/bufferflies) + - Reduce unnecessary error logs [#9370](https://github.com/tikv/pd/issues/9370) @[bufferflies](https://github.com/bufferflies) + Tools - + TiDB Data Migration (DM) + + TiDB Data Migration (DM) - Add foreign key causal dependency support in DM syncer to ensure parent-to-child execution order of row changes in multi-worker scenarios [#12350](https://github.com/pingcap/tiflow/issues/12350) @[OliverS929](https://github.com/OliverS929) ## Bug fixes -+ TiDB ++ TiDB - Fix the issue that upgrading from `release-8.5-20250606-v8.5.2` to the upstream `release-8.5` might skip the PITR metadata upgrade and cause PITR operations to fail [#66994](https://github.com/pingcap/tidb/issues/66994) @[fzzf678](https://github.com/fzzf678) - Fix the issue that after executing `EXCHANGE PARTITION`, non-unique global indexes or nullable unique global indexes on non-clustered partitioned tables might become inconsistent and return incomplete results [#65289](https://github.com/pingcap/tidb/issues/65289) @[mjonss](https://github.com/mjonss) - - Fix the issue that `KILL QUERY` might incorrectly terminate idle connections [#65447](https://github.com/pingcap/tidb/issues/65447) @[gengliqi](https://github.com/gengliqi)(https://github.com/CbcWestwolf) + - Fix the issue that `KILL QUERY` might incorrectly terminate idle connections [#65447](https://github.com/pingcap/tidb/issues/65447) @[gengliqi](https://github.com/gengliqi)(https://github.com/CbcWestwolf) - Add `cluster_id` to `mysql.tidb`, enabling external tools to determine whether two TiDB instances belong to the same cluster [#59476](https://github.com/pingcap/tidb/issues/59476) @[YangKeao](https://github.com/YangKeao) - Fix the issue that the value of `tidb_service_scope` is not converted to lowercase when set [#66749](https://github.com/pingcap/tidb/issues/66749) @[D3Hunter](https://github.com/D3Hunter) - Fix the issue that affinity tables are not displayed after TiDB restarts [#66284](https://github.com/pingcap/tidb/issues/66284) @[lcwangchao](https://github.com/lcwangchao) @@ -164,7 +164,7 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - Fix the issue that statistics might not be updated due to abnormal updates of `modify_count` [#65426](https://github.com/pingcap/tidb/issues/65426) @[ti-chi-bot](https://github.com/ti-chi-bot) - Fix the issue that a pessimistic transaction might be unexpectedly rolled back due to a keep-alive mechanism failure when its first statement acquires locks in fair locking mode [#66571](https://github.com/pingcap/tidb/issues/66571) @[MyonKeminta](https://github.com/MyonKeminta) -+ TiKV ++ TiKV - Fix the memory leak issue in crossbeam skiplist [#19285](https://github.com/tikv/tikv/issues/19285) @[ekexium](https://github.com/ekexium) - Fix the issue that global indexes on non-unique columns of partitioned tables might become inconsistent and return incorrect results in some cases [#19262](https://github.com/tikv/tikv/issues/19262) @[mjonss](https://github.com/mjonss) @@ -172,14 +172,14 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions - Fix the issue that follower reads might remain blocked on disk-full TiKV nodes by rejecting read-index requests on disk-full followers [#19201](https://github.com/tikv/tikv/issues/19201) @[glorv](https://github.com/glorv) - Fix the issue that resolved-ts task backlogs might cause OOM when the resolved-ts worker is busy [#18359](https://github.com/tikv/tikv/issues/18359) @[overvenus](https://github.com/overvenus) - Fix the issue that long-tail follower read latency might occur during leader transfer by retrying read-index requests earlier and adding a dedicated retry interval setting [#18417](https://github.com/tikv/tikv/issues/18417) @[gengliqi](https://github.com/gengliqi) - - (dup): release-5.1.4.md > Bug fixes> TiKV - Fix the rare data inconsistency issue when retrying a prewrite request in pessimistic transactions [#11187](https://github.com/tikv/tikv/issues/11187) + - Fix the rare data inconsistency issue when retrying a prewrite request in pessimistic transactions [#11187](https://github.com/tikv/tikv/issues/11187) -+ PD ++ PD - Fix a panic issue that might occur when executing `DISTRIBUTE TABLE` in scenarios with a large number of Merge Region operators [#10293](https://github.com/tikv/pd/issues/10293) @[bufferflies](https://github.com/bufferflies) - Fix the issue that configuring Store Limit might not take effect immediately [#10108](https://github.com/tikv/pd/issues/10108) @[okJiang](https://github.com/okJiang) -+ TiFlash ++ TiFlash - Fix a potential data inconsistency issue between TiFlash and TiKV after executing a DDL statement to remove the `NOT NULL` constraint of a column [#10680](https://github.com/pingcap/tiflash/issues/10680) @[JaySon-Huang](https://github.com/JaySon-Huang) - Fix the issue that the Raft throughput metric in the Grafana dashboard might display an abnormally large value [#10701](https://github.com/pingcap/tiflash/issues/10701) @[CalvinNeo](https://github.com/CalvinNeo) @@ -187,21 +187,21 @@ For TiDB clusters newly deployed in v8.5.5 (that is, not upgraded from versions + Tools - + Backup & Restore (BR) + + Backup & Restore (BR) - Fix the issue that `flush_ts` might be `0` in log backup [#19406](https://github.com/tikv/tikv/issues/19406) @[YuJuncen](https://github.com/YuJuncen) - Fix the issue that BR might fail during multipart uploads when accessing Google Cloud Storage via Amazon S3-compatible APIs with S3-style credentials, due to a missing Content-Length header [#19352](https://github.com/tikv/tikv/issues/19352) @[Leavrth](https://github.com/Leavrth) - Fix the issue that the BR `restore point` might remain stuck in the `waiting for schema info finishes reloading` state for a long time and then fail due to timeout after 15 minutes [#66110](https://github.com/pingcap/tidb/issues/66110) @[kennytm](https://github.com/kennytm) - Fix the issue that BR cannot correctly pre-split Regions when restoring tables with the `SHARD_ROW_ID_BITS`, `PRE_SPLIT_REGIONS`, and `merge_option` attributes [#65060](https://github.com/pingcap/tidb/issues/65060) @[JoyC-dev](https://github.com/JoyC-dev) - + TiCDC + + TiCDC - Fix the issue that changefeeds might repeatedly create invalid dispatchers after the server restarts [#4452](https://github.com/pingcap/ticdc/issues/4452) @[wlwilliamx](https://github.com/wlwilliamx) - Fix the issue that TiCDC fails to replicate table renaming operations correctly when the upstream TiDB version is v8.1.x or earlier [#4392](https://github.com/pingcap/ticdc/issues/4392) @[lidezhu](https://github.com/lidezhu) - Fix the issue that TiKV might crash during data scanning when CDC is enabled [#19404](https://github.com/tikv/tikv/issues/19404) @[wk989898](https://github.com/wk989898) - Support Azure Managed Identity authentication for Azure Blob Storage and fix the issue that uploads to cloud storage might get stuck [#3093](https://github.com/pingcap/ticdc/issues/3093) @[wlwilliamx](https://github.com/wlwilliamx) - + TiDB Data Migration (DM) + + TiDB Data Migration (DM) - Fix the issue that DM does not advance the global checkpoint position after an upstream binlog file rotation [#12339](https://github.com/pingcap/tiflow/issues/12339) @[OliverS929](https://github.com/OliverS929) - Fix the issue that, when processing updates on tables with foreign key constraints in safe mode, DM might still incorrectly trigger foreign key cascades and cause unintended data deletion even if the primary key or unique key is not modified [#12350](https://github.com/pingcap/tiflow/issues/12350) @[OliverS929](https://github.com/OliverS929)