MariaDB 10.6.18 Release Notes
The most recent release of MariaDB 10.6 is:
MariaDB 10.6.20 Stable (GA) Download Now
Alternate download from mariadb.org
Download 10.6.18 Release Notes Changelog Overview of 10.6
Release date: 16 May 2024
MariaDB 10.6 is a current long-term series of MariaDB, maintained until July 2026. It is an evolution of MariaDB 10.5 with several entirely new features.
MariaDB 10.6.18 is a Stable (GA) release.
For an overview of MariaDB 10.6 see the What is MariaDB 10.6? page.
Thanks, and enjoy MariaDB!
Contents
Notable Items
From this version, the mariadb-dump tool adds a new sandbox command to the top of every dump file. This command cannot be interpreted by MariaDB command line client versions that do not have the sandbox command, or by MySQL command line clients, and an error will be generated in these clients. Other methods of importing the dump will work not have this issue.
Storage Engines
InnoDB
- Fix InnoDB holding shared dict_sys.latch while waiting for FOREIGN KEY child table lock on DDL (MDEV-32899)
- Fix adaptive hash index corruption after ALTER TABLE…DISCARD TABLESPACE (MDEV-33400)
- Fix fatal InnoDB error or assertion
`!is_v'
failure upon multi-update with indexed virtual column (MDEV-31154) - Fix fatal error InnoDB: Clustered record field for column x not found (MDEV-33558)
- Fix InnoDB hang when temporarily running out of buffer pool (MDEV-33613)
- Fix alter operation hang when encryption thread works on the same tablespace (MDEV-33770)
- Fix MariaDB segfault on rowid filter query involving generated column (MDEV-33795)
- Fix discard/import tablespace, restart, index corruption (MDEV-33512)
- Fix server hang on DROP INDEX or RENAME INDEX (MDEV-33993)
- Fix mariabackup --backup hang (MDEV-33669)
- Fix server hang caused by InnoDB change buffer (MDEV-33543)
- Fix assertion failures upon adding a too long key to table with COMPRESSED row format (MDEV-31161)
- IMPORT TABLESPACE no longer fails with column count or index count mismatch (MDEV-30655)
- Fix alter table corruption while applying the modification log (MDEV-19044)
- Fix inconsistent behaviors of UPDATE under RU & RC isolation level (MDEV-26643)
- Fix weird SELECT view when a record is modified to the same value by two transactions (MDEV-26642)
- Fix inconsistent read and write, which use the same predicate (WHERE clause) (MDEV-29565)
- Fix inconsistent SELECT view when modifying a record added by another transaction (MDEV-26671)
- Fix weird read view after ROLLBACK of other transactions (MDEV-33802)
- Read only server no longer throws error when running a create temporary table as select statement (MDEV-33889)
- Change buffer index no longer fails to delete the records (MDEV-32489)
- Fix InnoDB include OS error information when failing to write to iblogfile0 (MDEV-33397)
- Fix phantom rows caused by UPDATE of PRIMARY KEY (MDEV-32898)
- New system variable, innodb_snapshot_isolation
- In-place migration from MySQL 5.7 no longer causes invalid AUTO_INCREMENT values (MDEV-33277)
- Fix InnoDB log corruption before upgrading it on startup (MDEV-32445)
- Table no longer gets rebuilt with ALTER TABLE ADD COLUMN (MDEV-33214)
Aria
- Fixed that internal temporary tables did not wait for freed disk space, and related issues (MDEV-33813)
Federated
- Fix wrong result on 2nd execution of prepared statement for query with derived table (MDEV-31361)
Spider
- Improve Spider performance by pushing down TIMESTAMPDIFF function (MDEV-28992) and CASE statement (MDEV-28993) to data nodes
- Fix server crash when deleting partitions from a table with spider engine (MDEV-33731)
- SPIDER plugin initialization no longer fails at 'create table if not exists mysql.spider_tables ... with 'Specified key was too long; max key length is 1000 bytes', Warning: Memory not freed: 10720 (MDEV-33242)
- Fix spider plugin init failure with no_zero_date sql_mode (MDEV-33494)
- Fix sql plugin init failure with traditional sql_mode (MDEV-33584)
- Fix parsing failure on valid left join select by translating the on expression to () (MDEV-33679)
- Fix Spider: ERROR 12710 (HY000): Invalid information from remote table when using MariaDB 10.5 local and MariaDB 10.6 remote (MDEV-33777)
- Fix bug where Spider variables were not available if Spider was loaded upon server startup (MDEV-33441)
Backup
- mariadb-backup now preserves innodb_encrypt_tables (MDEV-33334)
- Fix mariabackup problem on older mariadb (opendir(NULL)) caused by MDEV-30968 (MDEV-31251)
- Fix mariabackup --backup FATAL ERROR: ... Can't open datafile cool_down/t3 (MDEV-33011)
- mariadb-backup --backup now includes retry logic for undo tablespaces (MDEV-33980)
- Fix crash recovery in mariabackup --prepare due to insufficient innodb_log_file_size (MDEV-33540)
- Fix crash in mariadb-backup --prepare --export after
--prepare
(MDEV-33023) - mariadb-backup now considers O/S user when
--user
option is omitted (MDEV-32893)
Character Sets, Data Types
- Fixed improper application of ORDER BY COLLATE to non-character columns (MDEV-33318)
- Default charset now works with PHP MySQLi extension (MDEV-32975)
- Fixed Bad SEPARATOR value in GROUP_CONCAT on character set conversion (MDEV-33772)
- Fixed out of range error in AVG(YEAR(datetime)) due to a wrong data type (MDEV-33496)
- Fixed GREATEST() and LEAST() problems with NULLs (MDEV-21034)
JSON
- View created via JSON_ARRAYAGG now returns correct json object (MDEV-30646)
- JSON_TYPE now detects the type of String Values and correctly returns Date/DateTime values (MDEV-19487)
- JSON_REMOVE no longer returns NULL on valid arguments (MDEV-22141)
- JSON_EXTRACT no longer returns multiple values for same path (MDEV-32287)
Encryption, TLS, SSL
- WolfSSL's math is unnecessarily slow (MDEV-33482)
Optimization & Tuning
- Server crashes in JOIN_CACHE::write_record_data upon EXPLAIN with subqueries and constant tables (MDEV-21102)
- Wrong result with cross Join given join order (MDEV-30975)
- Wrong warnings on 2-nd execution of PS for query with GROUP_CONCAT (MDEV-31276)
- Wrong result with semi-join and splittable derived table (MDEV-23878)
- Optimizer choosing incorrect index in 10.6, 10.5 but not in 10.4 (MDEV-33306)
- optimizer_adjust_secondary_key_costs server option changed from having a numeric value to a set value with new options to affect the optimizer. The old numeric values still work.
- Aggregation functions fail to leverage uniqueness property (MDEV-30660)
- Partitioning is broken on big endian architectures (MDEV-33623)
Plugins
- The audit plugin now reports the user and host in all cases (MDEV-33393)
Replication
- --gtid-ignore-duplicate can double-apply event in case of parallel replication retry (MDEV-33475)
- Deadlock kill of XA PREPARE can break replication / rpl.rpl_parallel_multi_domain_xa sporadic failure (MDEV-34042)
- mysql_manager_submit Segfault at Startup Still Possible During Recovery (MDEV-33799)
- Server crash in Rows_log_event::update_sequence upon replaying binary log (MDEV-31779)
- Slave crashed:reload_acl_and_cache during shutdown (MDEV-30260)
- When binlog_annotate_row_events on , event of binlog file is truncated (MDEV-9179)
- Add more warnings to be able to better diagnose network issues (MDEV-33582)
- Improve times and states in show processlist for replication (MDEV-33620)
- Adapt parallel slave's round-robin scheduling to XA events (MDEV-33668)
- release row locks for non-modified rows at XA PREPARE (MDEV-33454)
- Semi-sync Wait Point AFTER_COMMIT Slow on Workloads with Heavy Concurrency (MDEV-33551)
Galera
- Galera updated to 26.4.18
- NOTE: Includes increasing the GCS protocol version, which prevents downgrades of individual nodes in the cluster as soon as all nodes nodes have been updated
- Disallow bulk insert operation during partition update statement (MDEV-33979)
SQL, Data Definition, and Data Manipulation
- Transportable Tablespaces no longer leave AUTO_INCREMENT in a mismatched state (MDEV-18288)
- Fix wrong row targeted with "insert ... on duplicate" and "replace", leading to data corruption (MDEV-30046)
- Fix incorrect DEFAULT expression evaluated in UPDATE (MDEV-33790)
- Fix server crash when UPDATE statement with duplicate key is run after setting a low thread_stack (MDEV-33622)
- Fix incorrect handling of UPDATE in PS mode when a table's column declared as NOT NULL (MDEV-33549)
- Fix crash in EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 (a INT DEFAULT ?)' USING DEFAULT (MDEV-15703)
- Fix wrong result on 2nd execution of PS to select from view using derived (MDEV-31277)
- Fix wrong warnings on 2nd execution of PS for query with GROUP_CONCAT (MDEV-31276)
- TIMESTAMP value of '1970-01-01 00:00:00' can no longer be indirectly inserted in strict mode (MDEV-34088)
- Fix out of range error in AVG(YEAR(datetime)) due to a wrong data type (MDEV-33496)
- Fix zero datetime reinterpreting as '1970-01-01 00:00:00' on field_datetime=field_timestamp (MDEV-34069)
- unix_timestamp(coalesce(timestamp_column)) no longer returns NULL on '1970-01-01 00:00:00.000001' (MDEV-34061)
- Fix crash using UDF in WHERE clause of VIEW (MDEV-24507)
- Fix update for portion changes autoincrement key in period table (MDEV-25370)
- Fix SIGABRT resulting from CREATE TABLE with generated column and RLIKE (MDEV-21058)
Platforms & Packaging
- MariaDB-client community can't be installed in red hat ubi9 (MDEV-32791)
General
Scripts & Clients
- It's now possible to disable system commands with the mariadb --sandbox option. (MDEV-21778)
- mariadb-dump now exports the data with sandbox mode enable, so that the mariadb client will not execute potentially dangerous cli commands.(MDEV-33727)
- mariadb-dump commands such as
mariadb-dump --dump-slave=2 --master-data=2
now record both positions (MDEV-4827) - Loading time zones now works with alter_algorithm INPLACE (MDEV-33044)
Server
- Moving from MariaDB 10.5 to 10.6 mysql_upgrade is not updating some system tables (MDEV-33726)
- Original IP not shown in network related error messages when proxy_protocol is in use (MDEV-33506)
- Server incorrectly describes known variables as UNKNOWN if invalid values are specified at startup (MDEV-33469)
- update case insensitive (large) unique key with insensitive change of value - duplicate key (MDEV-29345)
- MariaDB will abort server startup if it finds an invalid parameter, but won't check for other invalid params (MDEV-26923)
- Slowdown when running nested statement with many partitions (MDEV-33502)
Security
- Fixes for the following security vulnerabilities:
Changelog
For a complete list of changes and bugfixes made in MariaDB 10.6.18, with links to detailed information on each push, see the changelog.
Contributors
For a full list of contributors to MariaDB 10.6.18, see the MariaDB Foundation release announcement.
Be notified of new MariaDB Server releases automatically by subscribing to the MariaDB Foundation community announce 'at' lists.mariadb.org announcement list (this is a low traffic, announce-only list). MariaDB plc customers will be notified for all new releases, security issues and critical bug fixes for all MariaDB plc products thanks to the Notification Services.
MariaDB may already be included in your favorite OS distribution. More
information can be found on the
Distributions which Include MariaDB
page.