All Versions
64
Latest Version
Avg Release Cycle
28 days
Latest Release
1245 days ago

Changelog History
Page 2

  • v4.0.0-beta.1 Changes

    February 28, 2020

    Compatibility Changes

    • Modify the password field name to authentication_string in the mysql.user system table to make it consistent with MySQL 5.7 #14598
    • πŸ”§ Adjust the default value of the txn-total-size-limit configuration item from 1GB to 100MB #14522
    • πŸ‘Œ Support dynamically modifying or updating configuration items read from PD #14750 #14303 #14830

    πŸ†• New Features

    • Support querying slow logs of any time in the SLOW_QUERY / CLUSTER_SLOW_QUERY system table #14840 #14878
    • πŸ‘Œ Support SQL performance diagnosis
      #14843 #14810 #14835 #14801 #14743
      #14718 #14721 #14670 #14663 #14668
      #14896
    • πŸ‘Œ Support the Sequence function #14731 #14589 #14674 #14442 #14303 #14830
    • πŸ‘Œ Support dynamically modifying or updating configuration items read from PD #14750 #14303 #14830
    • βž• Add a feature of automatically reading data from different roles according to the load balancing policy and add the leader-and-follower system variable to enable this feature #14761
    • βž• Add the Coercibility function #14739
    • πŸ‘Œ Support setting TiFlash replicas in the partitioned table #14735 #14713 #14644
    • πŸ‘Œ Improve the privilege check for the SLOW_QUERY table #14451
    • πŸ‘Œ Support automatically write the intermediate results to the disk file if the memory is insufficient when using a SQL join #14708 #14279
    • πŸ‘Œ Support checking table partitions by querying the information_schema.PARTITIONS system table #14347
    • βž• Add the json_objectagg aggregate function #11154
    • πŸ‘Œ Support logging rejected connection attempts in the audit log #14594
    • βž• Add the max-server-connections configuration item (4096 by default) to control the number of connections to a single server #14409
    • πŸ‘Œ Support the isolation read specifying multiple storage engines at the server level #14440
    • ⚑️ Optimize the cost model of the Apply operator and the Sort operator to improve stability #13550 #14708

    πŸ›  Bugfix

    • πŸ›  Fix the issue that an error is reported when creating view with a column name that exceeds 64 characters #14850
    • πŸ›  Fix the issue that duplicate data exists in information_schema.views because the create or replace view statement is incorrectly processed #14832
    • πŸ›  Fix the incorrect results of BatchPointGet when plan cache is enabled #14855
    • πŸ›  Fix the issue that data is inserted into the wrong partitioned table after the timezone is modified #14370
    • πŸ›  Fix the panic occurred when rebuilding expression using the invalid name of the IsTrue function during the outer join simplification #14515
    • πŸ›  Fix the the incorrect privilege check for theshow binding statement #14443
  • v4.0.0-beta Changes

    January 17, 2020

    πŸ‘Œ Improvements

    • Increase the accuracy of calculating the cost of Index Join by considering the row counts of both driving tables and driven tables #12085
    • πŸ‘Œ Improve the performance when the columns involved in a query can be fully covered by indexes #12022
    • πŸ‘Œ Improve the performance of table query by supporting the Index Merge feature #10121 #10512 #11245 #12225 #12248 #12305 #12843
    • πŸ‘Œ Improve the performance of Range calculation and reduce the CPU overhead by caching index results and eliminating duplicate results #12856
    • πŸ”Š Decouple the level of slow logs from the level of ordinary logs #12359
    • 0️⃣ Increase the default value of the query-log-max-len parameter to 4096 to reduce the number of truncated SQL outputs. This parameter can be adjusted dynamically. #12491
    • Convert a narrow data range of the discrete type into point set and use CMSketch to improve the estimation accuracy when estimating the number of rows #11524
    • Extract the TopN information from CMSketch for normal Analyze and separately maintain the frequently occurring values #11409
    • πŸ‘Œ Support dynamically adjusting the depth and width of CMSketch and the number of TopN information #11278
    • πŸ‘Œ Support automatically capturing and evolving SQL Binding #13199
    • 🐎 Optimize the encoding format of communication with TiKV by using Chunk to improve communication performance #12023 #12536 #12613 #12621 #12899 #13060 #13349
    • πŸ‘Œ Support the new row store format to improve the performance of the wide table #12634
    • πŸ‘Œ Improve the stability of Kill #10841
    • πŸ‘Œ Improve the performance of IndexLookupJoin and reduce memory consumption during execution by splitting IndexLookupJoin into IndexHashJoin and IndexMergeJoin #8861 #12139 #12349 #13238 #13451 #13714
    • 🌲 Output the detailed backoff information of TiKV RPC in the slow log to facilitate troubleshooting #13770
    • ⚑️ Optimize and unify the format of the memory statistics in the expensive log #12809
    • ⚑️ Optimize the explicit format of EXPLAIN and support outputting information about the operator’s usage of memory and disk
    • Optimize the check for duplicate values in LOAD DATA based on the transaction size and support setting the transaction size by configuring the tidb_dml_batch_size parameter #11132
    • ⚑️ Optimize the Recover Binlog interface to ensure waiting all transactions to be committed before returning to the client #13740
    • 🐎 Optimize the performance of LOAD DATA by separating the data preparing routine and the commit routine and assigning the workload to different Workers #11533 #11284

    πŸ†• New Features

    • πŸ‘Œ Support using the LIKE or WHERE clause in ADMIN SHOW DDL JOBS for conditional filtering #12484
    • Add the TIDB_ROW_ID_SHARDING_INFO column in the information_schema.tables table to output the RowID scattering information (for example, the value of the SHARD_ROW_ID_BITS column in table A is "SHARD_BITS={bit_number}") #13418
    • βž• Add the oom-use-tmp-storage parameter (true by default) to control whether to use temporary files to cache intermediate results when the memory usage for the execution of a single SQL statement exceeds mem-quota-query and the SQL contains Hash Join #11832 #11937 #12116 #12067
    • πŸ‘Œ Support querying the binlog statuses enabled by TiDB servers in the cluster through the HTTP info/all interface #13025
    • πŸ‘Œ Support adding the AutoRandom keyword in the column attribute to control whether the system automatically assigns a random integer to the primary key, which avoids the hotspot problem caused by the AUTO_INCREMENT primary key #13127
    • πŸ‘Œ Support Table Locks #11038
    • πŸ‘Œ Support the MySQL-compatible Read Committed transaction isolation level when using the pessimistic transaction mode #14087
    • πŸ‘Œ Support large-sized transactions. The transaction size is limited by the size of the physical memory.
    • πŸ‘Œ Support hexadecimal and binary expressions as separators in LOAD DATA #11029 #13914 #13692 #13686 #11415 #13927 #13764 #13720
    • βž• Add 15 SQL hints to control the behavior of the optimizer and make the optimizer more stable

    πŸ”„ Changed Behaviors

    • ⚑️ Optimize the error code of SQL error messages to eliminate the ERROR 1105 (HY000) code(the Unknown Error type)
    • ⚑️ Print the log or cancel the SQL execution when the memory used during the execution of INSERT/REPLACE/DELETE/UPDATE exceeds the limit specified by the MemQuotaQuery configuration item. The actual behavior depends on the OOMAction configuration #14179 #14289 #14299

    πŸ›  Bugfix

  • v3.1.2

    June 04, 2020
  • v3.1.0 Changes

    April 16, 2020

    Compatibility Changes

    • πŸ‘Œ Support directly stopping starting of TiDB if the HTTP listening port is unavailable when the report-status configuration item is enabled #16291

    πŸ†• New Features

    • πŸ‘Œ Support displaying the information of Coprocessor tasks in explain format = "dot"
      #16125
    • ⬇️ Reduce the redundant stack information of log using the disable-error-stack configuration item #16182

    πŸ› Bug Fixes

    • πŸ›  Fix the panic issue caused by the merge join operation in some scenarios #15920
    • πŸ›  Fix the issue that some expressions are repeatedly counted in selectivity calculation #16052
    • πŸ›  Fix the panic issue when loading the statistics information in extreme cases #15710
    • πŸ›  Fix the issue that an error is returned in some cases when equivalent expressions cannot be recognized in SQL query #16015
    • πŸ›  Fix the issue that an error is returned when querying the view of one database from another database #15867
    • πŸ›  Fix the panic issue that occurs when the column is handled using fast analyze #16080
    • πŸ›  Fix the incorrect character set of the current_role print result #16084
    • 🌲 Refine the log of MySQL connection handshake error #15799
    • πŸ›  Fix the panic issue caused by port probing after the audit plugin is loaded #16065
    • πŸ›  Fix the panic issue of the sort operator on left join because the TypeNull class is mistaken as a variable-length type #15739
    • πŸ›  Fix the issue of inaccurate count of monitoring session retry error #16120
    • Fix the issue of wrong results of weekday in the ALLOW_INVALID_DATES mode #16171
    • πŸ›  Fix the issue that Garbage Collection (GC) might not work normally when the cluster has TiFlash nodes #15761
    • πŸ›  Fix the issue that TiDB goes out of memory (OOM) when users set a large partition count when creating hash partitioned table #16219
    • πŸ›  Fix the issue that warnings are mistaken as errors, and make the union statement have the same behavior as the select statement #16138
    • πŸ›  Fix the execution error when TopN is pushed down to mocktikv #16200
    • Increase the initial length of chunk.column.nullBitMap to avoid unnecessary cost of runtime.growslice #16142
  • v3.1.0-rc Changes

    April 02, 2020

    πŸ†• New Features

    • 🐎 Use the binary search to re-implement partition pruning for better performance #15678
    • πŸ‘Œ Support using the RECOVER syntax to recover the truncated table #15460
    • βž• Add AUTO_RANDOM ID cache for retrying statement and recovering table #15393
    • πŸ‘Œ Support restoring the state of the AUTO_RANDOM ID allocator using the recover table statement #15393
    • πŸ‘Œ Support YEAR, MONTH, and TO_DAY functions as the partitioning keys of the Hash partitioned table #15619
    • βž• Add the table ID to the schema-change related tables only when keys need to be locked in the SELECT... FOR UPDATE statement #15708
    • βž• Add the feature of automatically reading data from different roles according to the load balancing policy and add the leader-and-follower system variable to enable this feature #15721
    • πŸ‘Œ Support dynamically updating the TLS certificate every time TiDB establishes a new connection to update expired client certificate without restarting the RPC client side #15163
    • ⬆️ Upgrade PD Client to support loading the latest certificate every time TiDB establishes a new connection #15425
    • πŸ”§ Forcibly use the HTTPS protocol with the configured TLS certificates between a TiDB server and a PD server, or between two TiDB servers when cluster-ssl-* is configured #15430
    • βž• Add the MySQL-compatible --require-secure-transport startup option to force the client to enable TLS authentication during the configuration #15442
    • βž• Add the cluster-verify-cn configuration item. After configuration, the status service can only be used when with the corresponding CN certificate #15137

    πŸ› Bug Fixes

    • 🐎 Use the binary search to re-implement partition pruning for better performance #15678
    • πŸ›  Fix the information schema error caused by frequently updating the TiFlash replica #14884
    • Fix the issue that last_insert_id is incorrectly generated when applying AUTO_RANDOM #15149 * Fix the issue that updating the status of TiFlash replica might cause the DDL operation to get stuck #15161 * Forbid Aggregation pushdown and TopN pushdown when there are predicates that can not be pushed down #15141
    • Forbid the nested view creation #15440
    • πŸ›  Fix the error occurred when executing SELECT CURRENT_ROLE() after SET ROLE ALL #15570
    • Fix the failure to identify the view name when executing the select view_name.col_name from view_name statement #15573
    • πŸ›  Fix the issue that an error might occur when pre-processing DDL statements during the write of binlog information #15444
    • πŸ›  Fix the panic occurred when accessing both views and partitioned tables #15560
    • πŸ›  Fix the error occurred when executing the VALUES function with the update duplicate key statement that contains the bit(n) data type #15487
    • πŸ›  Fix the issue that the specified maximum execution time fails to take effect in some scenarios #15616
    • πŸ›  Fix the issue that fails to check whether the current ReadEngine contains TiKV server when generating the execution plan using Index Scan #15773
  • v3.1.0-beta.2 Changes

    March 09, 2020

    πŸ†• New Features

    • πŸ‘Œ Support adding the AutoRandom keyword in the column attribute to enable TiDB to automatically assign random integers to the primary key, which avoids the write hot spot caused by the AUTO_INCREMENT primary key #14555
    • πŸ‘Œ Support creating or deleting column store replicas through DDL statements #14537
    • βž• Add the feature that the optimizer can independently select different storage engines #14537
    • βž• Add the feature that the SQL hint supports different storage engines #14537
    • Support reading data from followers by using the tidb_replica_read system variable #13464
  • v3.1.0-beta.1 Changes

    January 10, 2020

    πŸš€ (There is no public release note for this version of TiDB Server)

  • v3.0.19 Changes

    September 25, 2020

    πŸ‘Œ Improvements

    • 🐎 Mitigate the impact of failure recovery on QPS performance #19764
    • πŸ‘Œ Support adjusting the concurrency of the union operator #19885

    πŸ› Bug Fixes

    • πŸ›  Fix the query error that occurs when the slow-log file does not exist #20050
    • Add the privilege check for SHOW STATS_META and SHOW STATS_BUCKET #19759
    • Forbid changing the decimal type to the integer type #19681
    • πŸ›  Fix the issue that alter enum/set type does not check constraint #20045
    • πŸ›  Fix the bug that tidb-server does not release table locks after a panic #20021
    • πŸ›  Fix the bug that the OR operator is not handled correctly in the WHERE clause #19901
  • v3.0.18 Changes

    August 21, 2020

    πŸ› Bug Fixes

    • πŸ›  Fix the issue that the wrong handling of the decimal type by the Hash function causes the wrong HashJoin result #19185
    • πŸ›  Fix the issue that the wrong handling of the set and enum types by the Hash function causes the wrong HashJoin result #19175
    • πŸ›  Fix the issue that the check for duplicate keys fails in the pessimistic locking mode #19236
    • πŸ›  Fix the issue that the Apply and Union Scan operators cause the wrong execution result #19297
    • πŸ›  Fix the issue that some cached execution plans are incorrectly executed in transaction #19274
  • v3.0.17 Changes

    August 03, 2020

    πŸ‘Œ Improvements

    • Ease the impact of statistics feedback on the cluster #18770
    • Limit batch split count for one request #18694
    • πŸ‘· Accelerate /tiflash/replica HTTP API when there are many history DDL jobs in the TiDB cluster #18386
    • πŸ‘Œ Improve row count estimation for index equal condition #17609
    • Speed up the execution of kill tidb conn_id #18506

    πŸ› Bug Fixes

    • Return the actual error message instead of an empty set when a query which contains IndexHashJoin or IndexMergeJoin encounters a panic #18498
    • πŸ›  Fix the unknown column error for SQL statements like SELECT a FROM t HAVING t.a #18432
    • Forbid adding a primary key for a table when the table has no primary key or when the table already has an integer primary key #18342
    • Return an empty set when executing EXPLAIN FORMAT="dot" FOR CONNECTION #17157
    • Fix STR_TO_DATE's handling for format token '%r', '%h' #18725