MariaDB 10.11.12 Release Notes
Download Release Notes Changelog Overview of 10.11
Alternate download from mariadb.org
Release date: 6 May 2025
MariaDB 10.11 is a stable long term series of MariaDB, maintained until February 2028. It is an evolution of MariaDB 10.10 with several entirely new features.
MariaDB 10.11.12 is a Stable (GA) release.
For an overview of MariaDB 10.11 see the What is MariaDB 10.11? page.
Thanks, and enjoy MariaDB!
Notable Items
Storage Engines
InnoDB
- Race condition between log_t::resize_start() and log_t::resize_abort() (MDEV-36082)
- Race conditions between ALTER TABLE or OPTIMIZE TABLE and the purge of transaction history were fixed. (MDEV-36122)
- Server crashes when resizing default innodb buffer pool after setting innodb-buffer-pool-chunk-size to 1M (MDEV-34677)
- ASAN errors in dict_sys_t::load_table / get_foreign_key_info after failing to load a table (MDEV-33167)
- Incorrect undo logging for indexes on virtual columns whose index ID does not fit in 32 bits (MDEV-36613)
- Memory leak after failed CREATE TABLE…SELECT; crash on CREATE TABLE…SELECT that reads from multiple tables (MDEV-36504)
- CREATE INDEX fails to heal a FOREIGN KEY constraint (MDEV-35962)
- Doublewrite recovery of innodb_checksum_algorithm=full_crc32 page_compressed pages does not work (MDEV-36180)
- decreasing innodb_buffer_pool_size at runtime does not release memory (MDEV-32339)
- innodb_snapshot_isolation=1 gives error for not committed row changes (MDEV-36639)
- main.mdl_sync fails under valgrind (test for Bug#42643) (MDEV-36684)
- The deprecated parameter innodb_purge_rseg_truncate_frequency is not being recognized (MDEV-36378)
- LSN allocation is a bottleneck (MDEV-21923)
- reorganise innodb buffer pool (and remove buffer pool chunks) (MDEV-29445)
- dict_stats_fetch_from_ps() unnecessarily holds exclusive dict_sys.latch (MDEV-35436)
- FLUSH TABLES will no longer cause InnoDB persistent statistics to be reloaded. RENAME TABLE will. This change of logic improves the performance in general, and avoids a case where statistics for relatively rarely modified tables are never updated. (MDEV-35000)
- The Linux memory pressure interface, which could previously not be disabled and could cause performance anomalies, was rewritten and is disabled by default. (MDEV-34863)
- Stall and crash when page cleaner fails to generate free pages during Async flush (MDEV-36226)
- Performance regression in INSERT…SELECT due to unnecessarily making InnoDB log durable. (MDEV-35813)
RocksDB
- Assertion `!level_and_file.second->being_compacted' failed in LevelCompactionBuilder::SetupInitialFiles (MDEV-16523)
- Assertion `ikey_.type == kTypeValue' failed in rocksdb::CompactionIterator::NextFromInput (MDEV-15164)
Spider
- MDEV-32157 intended to fix spider wrapper so that it is case insensitive, among other things. However that fix was incomplete, as the udf spider_direct_sql may still require case sensitivity. MDEV-35807 fixes this. (MDEV-35807)
- The untested ha_spider::index_first_internal constructs broken queries (MDEV-36324)
- Unexpected error 1264 'Out of Range Value for Column' when inserting into ... select ... from a spider table (MDEV-35874)
- Tests calling the udf spider_copy_tables fail with --view-protocol (MDEV-36335)
Connect
- Connect crashes server because of duplicate 'free()' in GetUser (MDEV-36248)
Partitioning
- A multi-table UPDATE ... ORDER BY ... LIMIT statement could update the wrong rows when the ORDER BY clause was resolved by using temporary and filesort. (MDEV-35955)
- corruption when query cache cannot allocate block (MDEV-34075)
Versioned Tables
- Assertion InnoDB searching row in wrong partition for multiple system versioned DELETE with same timestamp and same multistatement transaction (MDEV-36115)
Optimizer
- A query using a subquery in form:
WHERE col IN (SELECT ... LEFT JOIN tbl ON tbl.column=reference_outside_subquery)
could cause a crash in the optimizer. The essential part is that ON expression has only two kinds of references: 1.to inner side of the outer join and 2. to outside the subquery. (MDEV-32084) - When executing SELECT MIN using loose index scan, if at least one of the WHERE condition is "f IS NULL", a memory violation may happen resulting in unexpected behaviour (MDEV-36220)
- find_order_in_list mismatch when order item needs fixing() (MDEV-36607)
- If the join_condition is specified via USING (column_list), the query plan depends on the sequence of tables in the query (MDEV-36592)
- Cost estimates for materialized derived tables are poor (MDEV-35958)
- Large N-way OR causes a lot of index_merge variants to be created and discarded (MDEV-34620)
- Wrong result in loose index scan (MDEV-36118)
- group by handler missing constant fields when selecting from a view (MDEV-36307)
Data Definition - Alter Table
- Incorrect error handling on DDL with FULLTEXT INDEX (MDEV-36061)
- ALTER TABLE…SEQUENCE does not work correctly with InnoDB (MDEV-36038)
- The server could crash when an UPDATE is about to commit concurrently with a CREATE INDEX that includes VIRTUAL columns (MDEV-36281)
- ALTER TABLE…DROP COLUMN after a failed ALTER TABLE…DROP COLUMN could lead to a server crash (MDEV-36236)
Backup
- mariadb-backup --backup crash during innodb_undo_log_truncate=ON, innodb_encrypt_log=ON (MDEV-36152)
- MariaDB Backup returns with an error like "Error on file ./test/t1#P#p513.MYD open during `test`.`t1` table copy for partitioned MyISAM tables when running out of file handles (MDEV-36437)
- make mariadb-backup to force an innodb checkpoint (MDEV-30000)
GIS
- Server aborts while deleting the record in spatial index (MDEV-35420)
Upgrades
- Upgrades fail on Windows (MDEV-36128)
OTHER
- Field pointer may be uninitialized in fill_record (MDEV-36181)
- Wrong results from tables with a single record and an aggregate (MDEV-35238)
Replication
- A primary server could crash when a semi-sync connection is stopped, if the primary previously disabled semi-sync replication while the connection was already up (and `rpl_semi_sync_master_wait_no_slave=0`). (MDEV-36359)
- Semi-sync Replica Can't Kill Dump Thread When Using SSL (MDEV-36663)
- CREATE-or-REPLACE-SELECT with ROW binlog format may not log DROP TABLE events, potentially causing replication issues. (MDEV-35499)
- Mysqlbinlog --stop-position does not warn if EOF not reached with --read-from-remote-server (MDEV-35694)
- For transactions committing in one-phase using rollback-capable engines, if binlogging fails during commit, the overall transaction would still commit, when it should roll-back. (MDEV-35506)
Galera
- Galera updated to 26.4.22
- With wsrep_ignore_apply_errors = 0, the node crashes due to assertion thd->is_error() failed in Sql_cmd_dml::prepare(), shown in the logs (MDEV-35946)
- In some cases, if there are MDL locks (for example, when LOCK TABLE is executed), a node could get stuck in the system thread due to incorrect handling of metadata locks (MDL) in server code when a transaction was BF aborted. (MDEV-35941)
- Regression after the fix for MDEV-31413 - sometimes the server crashes with an assertion in wsrep::transaction::before_rollback(), for example when using OPTIMIZE TABLE on an ARIA table with wsrep_osu_method=RSU. (MDEV-32631)
- SST failure occurs when gtid_strict_mode is enabled under high load, such as OLTP load is active on the primary node. A typical symptom of this error is the presence of the diagnostic "[ERROR] mariadbd: Error writing file 'binlog'", in the debug version it is also possible to crash on assertion in the wsrep::transaction::before_rollback() function with the message "Assertion `state() == s_executing || state() == s_preparing || state() == s_prepared || state() == s_must_abort || state() == s_aborting || state() == s_cert_failed || state() == s_must_replay' failed". (MDEV-34891)
- In Galera, creating sequence with a small cache leads to signal 6 error: [ERROR] WSREP: FSM: no such a transition REPLICATING -> COMMITTED. (MDEV-33850)
- Under high load wsrep internal thread may terminate due to memory pressure conditions, but this is not a crash, however in debug version user may encounter assertion in wsrep_to_isolation_begin() function with following message: "int wsrep_to_isolation_begin(THD*, const char*, const char*, const TABLE_LIST*, const Alter_info*, const key_array*, const HA_CREATE_INFO*): Assertion `(0)' failed." (MDEV-36116)
- Assertion `commit_trx' failed in innobase_commit() (ha_innodb.cc). An INSERT with sql_log_bin=0 is still replicated in Galera (per MDEV-7205), despite binary logging being disabled. This results in a partial binlog bypass, requiring a two-phase commit (2PC). During 2PC, the INSERT is first prepared (entering the PREPARED state in InnoDB), and on commit, the new assertion from MDEV-24035 fails, causing a crash with "Assertion 'commit_trx' failed" in logs. (MDEV-35658)
- A Galera node might hang if foreign key (FK) and unique key (UK) checks are disabled on multiple appliers executing INSERTs into the same table, because InnoDB might treat these operations as bulk inserts, leading one applier to acquire a table-level lock. If another applier with a lower sequence number then waits for this lock, a deadlock can occur within Galera. Specifically, the lock holder waits for the earlier applier to commit, while the earlier applier is blocked by the lock. (MDEV-36360)
- When a sequence is used and inserts run in parallel on multiple Galera nodes, a transaction may be aborted after passing certification. If it then attempts to roll back, the binlog statement cache—which includes reserved sequence values—may be written prematurely. This causes a crash with the diagnostic "WSREP: FSM: no such a transition REPLICATING -> COMMITTED" in the logs, as the transaction is supposed to replay and only write to the binlog during the final commit. (MDEV-33589)
- A Galera node may hang due to improper mutex handling: a thread held lock_sys.wait_mutex while triggering a streaming replication rollback, which also tried to acquire THD::LOCK_thd_kill, leading to incorrect mutex usage. In debug versions, this leads to diagnostics like "safe_mutex: Found wrong usage of mutex 'wait_mutex' and 'LOCK_thd_data'", but in both debug and release versions, there is some probability that the node may hang. (MDEV-36509)
- After a corrupted table on one node triggers the cluster to vote to evict a node that failed a transaction, the current master can't commit any more and hangs. To avoid this crash in the future, the user should also update the galera library to version 26.4.21+. (MDEV-34998)
- Creating partitioned tables is disallowed when wsrep_osu_method=TOI and wsrep_strict_ddl=ON, preventing alteration or deletion of partitioned tables. (MDEV-27861)
- Attempting to create a CONNECT engine table results in "non-InnoDB sequences in Galera cluster" error message in logs due to an incorrect engine check. (MDEV-35748)
- Build fails with cmake 4.0.0 due to wsrep (MDEV-36422)
- Upgrade MariaDB from 10.11 to 11.4 may cause Galera cluster to fail to start due to an issue with the socket.ssl_cipher setting in wsrep_provider_options. To avoid this bug, we advise using version 11.4 with galera library 26.4.21 or later. (MDEV-34738)
Data Manipulation - Update
- Stack looping and SIGSEGV in Item_args::walk_args on UPDATE (MDEV-31647)
Server
- Server crash in find_field_in_tables, Assertion `name' failed in find_field_in_table_ref (MDEV-25012)
- Server crash when inserting from derived table containing insert target table (MDEV-32086)
- mysqldump does not preserve case of table names in generated sql (MDEV-14432)
- Incorrect result for BETWEEN over unique blob prefix (MDEV-36235)
- MariaDB effectively running as root CAP_DAC_OVERRIDE (MDEV-36229)
- Build fails with cmake 4.0 (MDEV-36506)
- Incorrect query result for comparisons of binary_column NOT LIKE binary_column (MDEV-36211)
Plugin - Audit
- Long server_audit_file_path causes buffer overflow (MDEV-36245)
Sequences
- Check when doing ALTER TABLE table_name sequence=1 that table can be a sequence (MDEV-36032)
Configuration
- Bad value for the variable "Buffer pool size" (MDEV-21203)
- Get option group suffix from $MARIADB_GROUP_SUFFIX in addition to $MYSQL_GROUP_SUFFIX (MDEV-21375)
- my_getopt compares option names case sensitively (MDEV-27126)
Locking
- Segfault on concurrent ALTER and SELECT for partitioned table (MDEV-31122)
Data types
- ST_PointFromWKB ignores SRID argument and always creates the POINT with 0 for it's SRID (MDEV-32619)
Packaging
- Error while installing MariaDB on Windows Server 2022 due to antivirus interference. (MDEV-35983)
- Systemd: Restart on OOM (MDEV-36009)
- RHEL 8 (and compatible) + Ubuntu 20.04 cannot start systemd servce (EXIT_CAPABILTIES/218) (MDEV-36591)
Scripts & Clients
- mariadb-dump used wrong quoting character (MDEV-36268)
- Confusing documentation and help output for --ssl-verify-server-cert (MDEV-28908)
JSON
- JSON_UNQUOTE doesn't work with emojis (MDEV-35614)
Authentication and Privilege System
- User without any privileges to a sequence can read from it and modify it via column default (MDEV-36413)
- User has unauthorized access to a sequence through a view with security invoker (MDEV-36380)
Prepared Statements
- mysql_stmt_errno() returns 0 after an error in mysql_stmt_execute() (MDEV-35953)
Plugin - userstat
- USER_STATISTICS.BUSY_TIME is in microseconds (MDEV-36586)
Binary Protocol
- When a CREATE TABLE .. SELECT errors while inserting data, a user would expect that all changes are rolled back and the table would not exist after executing the query; however, the error was accidentally ignored in the code, and the table would still exist. (MDEV-35207)
Security
- Fixes for the following security vulnerabilities:
Changelog
For a complete list of changes made in MariaDB 10.11.12, 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.