# TiDB 2.0 RC5 Release Notes

On April 17, 2018, TiDB 2.0 RC5 is released. This release has great improvement in MySQL compatibility, SQL optimization and stability.

## TiDB

• Fix the issue about applying the Top-N pushdown rule
• Fix the estimation of the number of rows for the columns that contain NULL values
• Fix the zero value of the Binary type
• Fix the BatchGet issue within a transaction
• Clean up the written data while rolling back the Add Index operation, to reduce consumed space
• Optimize the insert on duplicate key update statement to improve the performance by 10 times
• Fix the issue about the type of the results returned by the UNIX_TIMESTAMP function
• Fix the issue that the NULL value is inserted while adding NOT NULL columns
• Support showing memory usage of the executing statements in the Show Process List statement
• Fix the issue that Alter Table Modify Column reports an error in extreme conditions
• Support setting the table comment using the Alter statement

## PD

• Add support for Raft Learner
• Optimize the Balance Region Scheduler to reduce scheduling overhead
• Adjust the default value of schedule-limit configuration
• Fix the issue of allocating ID frequently
• Fix the compatibility issue when adding a new scheduler

## TiKV

• Support the Region specified by compact in tikv-ctl
• Support Batch Put, Batch Get, Batch Delete and Batch Scan in the RawKVClient
• Fix the OOM issue caused by too many snapshots
• Return more detailed error information in Coprocessor
• Support dynamically modifying the block-cache-size in TiKV through tikv-ctl
• Further improve importer
• Simplify the ImportSST::Upload interface
• Configure the keepalive property of gRPC
• Split tikv-importer from TiKV as an independent binary
• Provide statistics about the number of rows scanned by each scan range in Coprocessor
• Fix the compilation issue on the macOS system
• Fix the issue of misusing a RocksDB metric
• Support the overflow as warning option in Coprocessor