MariaDB 11.8.4 Release Notes

Download Release Notes Changelog Overview of 11.8

Alternate download from mariadb.org

Release date: 6 Nov 2025

MariaDB 11.8.4 is a Stable (GA) release. It is an evolution of MariaDB 11.7 with several entirely new features.

MariaDB 11.8 is a long-term release.

Thanks, and enjoy MariaDB!

Notable Items

Storage Engines

InnoDB

  • The InnoDB purge subsystem will no longer reset transaction identifiers in freshly inserted records, because it did severely hurt performance in some workloads. (MDEV-16168)

  • InnoDB could crash after a DROP TABLE, TRUNCATE TABLE, OPTIMIZE TABLE or a table-rebuilding ALTER TABLE if innodb_adaptive_hash_index entries existed in the table. (MDEV-26599)

  • InnoDB could crash if the definition of the InnoDB persistent statistics tables were incorrect. (MDEV-31740)

  • Workloads that are bound by innodb_log_file_size would write out unnecessarily many data pages in an attempt to advance the log checkpoint. (MDEV-35155)

  • ALTER TABLE could fail to update InnoDB persistent statistics. (MDEV-35163)

  • Some lock elision code that was detrimental to performance was removed. (MDEV-36190)

  • MariaDB upgrade fails when using innodb_encrypt_tables=ON and innodb_checksum_algorithm=crc32, which is not the default. innodb_checksum_algorithm=crc32 is used only if explicitly specified or if the table has been created which MariaDB 10.4 or a prior version (MDEV-36556)

  • innochecksum misinterprets doublewrite buffer pages (MDEV-37138)

  • The performance of ANALYZE FORMAT=JSON as well as the counter innodb_buffer_pool_read_requests was improved. (MDEV-37152)

  • Crash recovery after bulk load data reports corruption (MDEV-37192)

  • When a page needs to be read into the InnoDB buffer pool, concurrent access to the page will avoid some hash table lookup and busy waiting. (MDEV-37244)

  • InnoDB could crash during the crash recovery of a corrupted database. (MDEV-37412)

  • There was a very small chance of InnoDB crashing or misbehaving after an attempt to reduce innodb_buffer_pool_size. (MDEV-37447)

  • The performance of innodb_adaptive_hash_index=ON was improved further. We introduce the parameter innodb_adaptive_hash_index_cells that can be configured with SET GLOBAL. The specified value will be effectively multiplied by innodb_adaptive_hash_index_parts, because each partition will contain its own hash table. (MDEV-37482)

  • The forced use of THD accessor functions hurts InnoDB performance (MDEV-37619)

  • CHECK TABLE…EXTENDED could flag bogus corruption on a column prefix index. (MDEV-37659)

  • During workload after crash recovery, an incorrect (too large) innodb_buffer_pool_pages_dirty could be reported. (MDEV-37677)

  • In rare cases, shutdown might hang (MDEV-37728)

  • Lock checks for secondary indexes were unnecessarily accessing some history and could access freed BLOB pages that correspond to column prefixes. (MDEV-37753)

Aria

  • Recovery of Aria transactional tables did not work in big-endian machines like s390x and Sparc.(MDEV-34914)

  • Failure to detect corruption during backups of Aria table (MDEV-37520)

Connect

  • BsonGet_String and JsonGet_String with a NULL argument resulted in an empty string warning. This now has an "Argument is NULL" warning. (MDEV-37633)

Federated

  • FederatedX error 10000 on multi-table UPDATE/DELETE (MDEV-29874)

MyISAM

RocksDB

  • Corrected python3 compatibility of myrocks_hotbackup thanks to contributor i18n.site (MDEV-36010)

Spider

  • Server may crash in spider bg mode if multiple queries are sent by spider bg threads consecutively (MDEV-36325)

  • Spider: XA COMMIT ONE PHASE fails with "This xid does not exist" (MDEV-37829)

  • InnoDB could potentially crash if there is any lock conflict on an internal FTS_%_CONFIG table of a FULLTEXT INDEX while one of the INFORMATION_SCHEMA views INNODB_TRX, INNODB_LOCKS, or INNODB_LOCK_WAITS are being accessed. (MDEV-36545)

  • The minimum value of the parameter innodb_ft_min_token_size was increased to 1, similar to the parameter ft_min_word_len. (MDEV-37423)

Optimizer

  • Prevent MariaDB server crash when a query includes a derived table containing unnamed column. (MDEV-24588)

  • Crash when considering Split-Materialized plan (MDEV-29638)

  • Wrong result when split optimization is used for grouping with order by and limit (MDEV-31887)

  • Correlated derived table query merges can cause crashes, especially with prepared statements. (MDEV-32294)

  • Crash if subquery is a UNION of SELECT rand() and uncorrelated SELECT (MDEV-32403)

  • UPDATE/DELETE of single table queries would now show r_table_time_ms, and r_other_time_ms during ANALYZE FORMAT=JSON (MDEV-33309)

  • Explain format=json with a DML statement containing a derived table and some manner of execution abortion, a timeout or kill will lead to an assertion or crash. (MDEV-36034)

  • Query does not recognize advantage of using primary key index (MDEV-36761)

  • Item_func_nextval::val_int() crash on INSERT...SELECT with subqueries (MDEV-37345)

  • IS TRUE incorrectly converts outer join to inner (MDEV-37653)

  • TPROC-H, no stats: Query4 much slower in 11.4 than in 10.11 (MDEV-37723)

  • Wrong result with Loose Scan on QUICK_GROUP_MIN_MAX_SELECT WITH TIES (MDEV-37901)

  • disable_index_merge_plans causes SELECT data loss when more than 100 ORs (MDEV-37913)

Sequences

  • Fixed crashing bug when inserting into a tables with several nextval(sequence) default values. (MDEV-37172)

Galera

  • Setting wsrep_slave_threads causes thread hang when wsrep is not enabled (MDEV-30418)

  • MariaDB Cluster server crash during insert when replication filters are used (MDEV-36134)

  • Inconsistency detected - create sequence (MDEV-37366)

  • InnoDB partition table disallow local GTIDs in galera (MDEV-37373)

  • The galera_new_cluster script was installed into the scriptdir in the 2025 Q3 releases. It previously was in the bin dir. The difference is only noticeable on bintar releases. (MDEV-37497)

  • Galera replication does not preserve the character set and collation associated with views, etc. (MDEV-37857)

  • MDL conflict between CREATE TRIGGER and INSERT (MDEV-37965)

  • Under selinux, the galera SST port checking resulted in excessive AVC notices. This has been simplified under selinux. (MDEV-37899)

Plugins

  • Change several Plugin Maturity Levels (MDEV-37858)

Plugin - Audit

  • Wrong query_ids are logged by the server_audit plugin for inserts by triggers when multi-insert statements are used (MDEV-37434)

  • Fix server_audit rwlock Performance Schema instrumentation (MDEV-37555)

Plugin - Hashicorp Key Management

  • Hashicorp Plugin: enable key version caching by default (MDEV-30849)

Plugin - userstat

  • The number of concurrent connections reported by userstats, when enabled, is updated. (MDEV-23283)

JSON

  • Corrected the creation of views on JSON_TABLEs to require no special privileges. (MDEV-27898)

  • JSON_ARRAY_INTERSECT function crashes the server when called with empty json arrays (MDEV-33149)

  • View containing JSON_TABLE does not return JSON (MDEV-34081)

  • Wrong result json_table (MDEV-36319)

  • json_array_intersect previously crashed when there was an unused table reference in the SQL query. (MDEV-36809)

  • Correct return value of JSON_VALUE which in the previous release, incorrectly converted a valid empty string return value to a NULL. This has been reverted to correct behaviour. (MDEV-37428)

  • mysqli silently trims each json_arrayagg result to modulo 64KB (MDEV-37835)

Parser

  • very long query cannot be killed quickly (MDEV-37938)

Server

  • LIMIT ROWS EXAMINED prematurely triggers during optimization (MDEV-22241)

  • Exchange partition with virtual columns fails (MDEV-34033)

  • ALTER TABLE allows adding unique hash key with duplicate values (MDEV-37296)

  • LOCATE(X,Y,NULL) is not NULL (MDEV-37740)

  • Introduce @@new_mode variable (MDEV-37784)

Locking

  • DDL in procedure propagates no locking to tables locked by DML (MDEV-16686)

Partitioning

  • Errors or assertion failure upon REPAIR on partitioned Aria table with misplaced rows (MDEV-33190)

Platform RedHat

  • On Fedora, RHEL, and derivatives, depend on the mysql-selinux-1.0.14 package that provides the correct selinux rules for the /usr/sbin/mariadbd that is installed. (MDEV-24941)

Platform Windows

  • On Windows, when MSI package is installed, with ADDLOCAL parameter passed to msiexec.exe, and Visual C++ Redistributable package is not installed on the target machine, installation may fail during "create database" step. (MDEV-36938)

Stored routines

  • Crash when calling stored function in FOR loop argument (MDEV-26115)

  • Fix crash by correctly updating SP instruction state after instruction re-parsing , preventing dangling reference. (MDEV-37489)

GIS

  • Several bugs in SPATIAL INDEX page splitting logic could crash InnoDB if the PRIMARY KEY or the SPATIAL data is variable-length. (MDEV-27675)

  • Wrong results for self-touching shapes. (MDEV-31499)

Optimizer - CTE

  • Server crash on cleanup of non-fully-constructed-due-to-an-error CTE (MDEV-32308)

Packaging

  • A tmpfiles file will now create /run/mysqld path on Debian/Ubuntu packaged distributions. (MDEV-15502)

  • server cannot load client plugins on Debian (MDEV-34744)

  • Previous systemd warnings in recent systemd versions about uninitialised environment variables have been corrected. (MDEV-35904)

  • The PrivateDevices=false directive in the systemd service has been removed as it was an old kernel incompatibility that this directived worked around. With this, the MariaDB is restricted further. Those using InnoDB on raw devices will need to add an override for this. See https://mariadb.com/docs/server/server-management/starting-and-stopping-mariadb/systemd#useful-systemd-options (MDEV-36721)

Backup

  • Parallel slave worker crashes During Backup at retrying (MDEV-37453)

Scripts & Clients

  • mariadb-dump -T did not encode table names like the server did for frm files, so some tables can be created in the server, but not dumped with mariadb-dump -T, for example, a table con on Windows. (MDEV-37483)

  • Using mytop with DBD-MariaDB and host=localhost specified resulted in an unexpected error because the driver did not expect a port 3306. Contribution thanks to Jean Weisbuch. (MDEV-37852)

Authentication and Privilege System

Versioned Tables

  • REPLACE on a precise-versioned table returns duplicate key error (ER_DUP_ENTRY) (MDEV-15990)

Prepared Statements

  • Parameterized PS converts error to warning, causes replication problems (MDEV-34046)

Admin statements

  • Assertion failure in online_alter_log_row or server hang upon replicating REPAIR on mysql.gtid_slave_pos (MDEV-34134)

Data Definition - Create Table

  • Innodb did not handle case-sensitivity on Windows correctly prior to this fix in its data dictionary, converting all names to lowercase. This resulted in inconsistency, if data directory was in case-sensitive NTFS directory, as well as in situations when data directory was copied from Windows to Unix systems. This is fixed in this patch. (MDEV-34953)

mariabackup

  • Fixed bug in maria-backup where maria-backup would crash during the 'maria_recovery' part. This could happen if server was doing repair or creating indexes while the backup was running. (MDEV-36860)

Replication

  • Fix --master-retry-count=0 not infinite as described (MDEV-36002)

  • Ensure that Annotate_rows is always written direct after GTID information, before any table_map events. Before this patch the event could be written in a random position in the binary log. This change make the place of the Annotate_rows event predictable. When mixing transactional and not transactional tables in the same transaction, the Annotate rows event was not always written in the case of a rollback. This is now fixed. (MDEV-37356)

  • ALTER TABLE ... ENGINE=MRG_MyISAM is now properly logged as an DDL. This ensure that the changed MERGE table cannot be used by a slave thread until after the ALTER command has been executed. (MDEV-37903)

Configuration

  • Galera galera_new_cluster scipt and its systemd interactions was rewritten to avoid selinux errors. This will require the mysql-selinux-1.0.14+ version that is a dependency of the server in RPM+selinux distributions. (MDEV-37726)

Changelog

For a complete list of changes made in MariaDB 11.8.4, 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.

This page is licensed: CC BY-SA / Gnu FDL

Last updated

Was this helpful?