# TiDB 2.0.1 Release Notes

On May 16, 2018, TiDB 2.0.1 is released. Compared with TiDB 2.0.0 (GA), this release has great improvement in MySQL compatibility and system stability.

## TiDB

• Update the progress of Add Index to the DDL job information in real time
• Add the tidb_auto_analyze_ratio session variable to control the threshold value of automatic statistics update
• Fix an issue that not all residual states are cleaned up when the transaction commit fails
• Fix the correctness related issue when DDL modifies surface operations in some concurrent scenarios
• Fix a bug that the result of LIMIT is incorrect in some conditions
• Fix a capitalization issue of the ADMIN CHECK INDEX statement to make its index name case insensitive
• Fix a compatibility issue of the UNION statement
• Fix a compatibility issue when inserting data of TIME type
• Fix a goroutine leak issue caused by copIteratorTaskSender in some conditions
• Add an option for TiDB to control the behaviour of Binlog failure
• Refactor the Coprocessor slow log to distinguish between the scenario of tasks with long processing time and long waiting time
• Log nothing when meeting MySQL protocol handshake error, to avoid too many logs caused by the load balancer Keep Alive mechanism
• Refine the “Out of range value for column” error message
• Fix a bug when there is a subquery in an Update statement
• Change the behaviour of handling SIGTERM, and do not wait for all queries to terminate anymore

## PD

• Add the Scatter Range scheduler to balance Regions with the specified key range
• Optimize the scheduling of Merge Region to prevent the newly split Region from being merged
• Fix the issue that the scheduler is mistakenly deleted after restart
• Fix the error that occurs when parsing the configuration file
• Fix the issue that the etcd leader and the PD leader are not replicated
• Fix the issue that Learner still appears after it is closed
• Fix the issue that Regions fail to load because the packet size is too large

## TiKV

• Fix the issue that SELECT FOR UPDATE prevents others from reading
• Optimize the slow query log
• Reduce the number of thread_yield calls
• Fix the bug that raftstore is accidentally blocked when generating the snapshot
• Fix the issue that Learner cannot be successfully elected in special conditions
• Fix the issue that split might cause dirty read in extreme conditions