MariaDB 10.6.21 Release Notes
Note: This page describes features in the source repository for MariaDB 10.6. There are currently no official packages or binaries available for download which contain the features. If you want to try out any of the new features described here you will need to get and compile the code yourself.
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.21 is a Stable (GA) release.
For an overview of MariaDB 10.6 see the What is MariaDB 10.6? page.
Thanks, and enjoy MariaDB!
Notable Items
Storage Engines
InnoDB
- Fix assertion failure on cascading foreign key update of table with vcol index in parent (MDEV-29182)
- Fix issue where ON UPDATE SET NULL could not be specified on a NOT NULL column (MDEV-35445)
- New parameter --skip-freed-pages for Innochecksum. Use this parameter to not get freed undo logs reported as existing undo log pages. (MDEV-35394)
- InnoDB deadlock output query length increased to improve visibility of deadlocked statements. (MDEV-32576)
Memory
- Fix possible crash on DELETE from a HEAP table (MDEV-22695)
Spider
- Fix possible crash on bootup in spider_sys_open_table «ext-issue»«MDEV-32822», «ext-issue»«MDEV-34302» (MDEV-34925)
Replication
- Fix incorrect writing of timestamp into binary log, causing discrepancy upon binlog replaying (MDEV-31761)
- mariadb-binlog can now correctly process more than one logfile when --stop-datetime is specified (MDEV-35528)
Optimizer
- Fix failing assertion causing disruption and replication failure (MDEV-24035)
- Conditions with SP local variables are now pushed into derived table. Previous behaviour caused slow performance and table scans instead of using the pushed down condition (MDEV-35910)
- NULL-aware materialization with IN predicate and single column no longer skips building sorted Ordered_key structures (MDEV-34665)
Partitioning
- History is now stored on the same partitions on different Galera nodes when system versioning is enabled (MDEV-35096)
- algorithm = instant can now correctly be used if a table has partitions and one tries to change a column with an index which is not the partitions key. This previously gave error "ERROR 1846 (0A000): ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY" . (MDEV-34813)
Character Sets
- Fix assertion falilure and possible index corruption with unique key and nopad collation without DESC or HASH keys (MDEV-30111)
- Fix possible runtime error caused by XA RECOVER applying a zero offset to a null pointer (MDEV-35549)
- Fix issue where functions in default values in tables with certain character sets could break SHOW CREATE and mariadb-dump (MDEV-29968)
Galera
- Galera updated to 26.4.21
- 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
- Fix sporadic failure of async replication on Galera async replica nodes with parallel replication enabled (MDEV-35465)
- Fix possible failure of wsrep_sst_rsync SST script if user specified aria_log_dir_path different from default data directory (MDEV-35387)
- Fix cluster node hang during shutdown if threadpool is used (MDEV-35710)
- Rows in table mysql.gtid_slave_pos are now correctly deleted on Galera nodes when wsrep_gtid_mode = 1 is used, which previously lead to wrong information about replica delays (MDEV-34924)
- Undefined behavior could occur when attempting to perform INSERT DELAYED on a Galera cluster node. (MDEV-35852)
- Fix issue where DROP TABLE on child and UPDATE of parent table can cause a metadata lock BF-BF conflict when applied concurrently. (MDEV-35018)
- Galera protocol versions are now shown by show status - change available with installation of galera library 26.4.21+ (MDEV-35505)
- Fix possible crash in wsrep_sst_mariabackup script when upgrading node in cluster from 10.11.9 to 10.11.10. (MDEV-35526)
Audit Plugin
- For an authentication with the ed25519 authentication plugin the password of the CREATE USER statement is now masked in the audit log (MDEV-35507)
- MariaDB Audit now detects all DCLs forms for masking a password (MDEV-35522)
General
- Fix trigger created with "CREATE TRIGGER `table1_after_insert` AFTER INSERT" which is adding rows to another table using "FOR EACH ROW insert into table2(`id`, `name`) values (NEW.`id`, NEW.`name`);" that did not work correctly when if bulk inserts are used by the application. Only the first row of the bulk insert would be added to the table (MDEV-34958)
- After changing the table definition for the system table 'mysql.servers', a following execution of CREATE SERVER would previously lead to a server crash.
- NOTE: System tables should never be modified by a user anyhow (MDEV-33783)
- Fix possible crash during index traversal using `tree_search_next`. (MDEV-28130)
- FIx assertion failure where CURRENT_USER was not correctly copied during condition pushdown (MDEV-35090)
- START TRANSACTION, when triggering an implicit commit as a COMMIT or ROLLBACK has not been executed before, now resets optional characteristics added to the last START TRANSACTION command (MDEV-35335)
- The "Failed to write to mysql.slow_log" error no longer shown without a detailed reason for the error (MDEV-20281)
- Can now correctly add a foreign key on a table with a long UNIQUE multi-column index that contains a foreign key as a prefix (MDEV-33658)
- Fix debian-start script failure when using non-standard socket path (MDEV-35907)
- Fix possible hang or crash where zero offset applied to null pointer (MDEV-35864)
- Fixed issue where ST_PointFromWKB ignored SRID parameter and returned 0 (MDEV-32619)
- Fix possible hang during CREATE TABLE…SELECT error handling, especially with innodb_snapshot_isolation enabled (MDEV-35647)
- Fix incorrect locking order of LOCK_log/LOCK_commit_ordered and LOCK_global_system_variables (MDEV-29744)
- Fix possible memory leak on SHUTDOWN (MDEV-35326)
- Fix possible server crash when using INSERT DELAYED on tables with virtual columns. (MDEV-26891)
- Fix possible Spider crash or hang when the first byte of a connection key is changed (MDEV-34849)
- A BEFORE INSERT Trigger previously returned with error ""Field 'xxx' doesn't have a default value", if a NULL value is added for a column defined NOT NULL without explicit value and no DEFAULT specified (MDEV-19761)
- Calling a stored routine that executes a join on three or more tables and referencing not-existent column name in the USING clause could previously result in a crash on its second invocation. (MDEV-24935)
Changelog
For a complete list of changes and bugfixes made in MariaDB 10.6.21, with links to detailed information on each push, see the changelog.
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.