# MariaDB 11.8.7 Release Notes

{% hint style="danger" %}
**Note:** This page describes features in the source repository for [**MariaDB 11.8**](/docs/release-notes/community-server/11.8/what-is-mariadb-118.md). 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](/docs/server/clients-and-utilities/server-client-software/download/getting-the-mariadb-source-code.md) and [compile](/docs/server/server-management/install-and-upgrade-mariadb/compiling-mariadb-from-source.md) the code yourself.
{% endhint %}

<a href="https://mariadb.com/downloads" class="button primary">Download</a> <a href="/pages/b2IZ1H05m5yVt814lYkv" class="button secondary">Release Notes</a> <a href="/pages/FakSeKuC1JGBFde2S1PI" class="button secondary">Changelog</a> <a href="/pages/CKhA1KWBoO6GnTzVfhnM" class="button secondary">Overview of 11.8</a>

[<sup>*Alternate download from mariadb.org*</sup>](https://downloads.mariadb.org/mariadb/11.8.7/)

**Release date:** ?

MariaDB 11.8.7 is a [***Stable (GA)***](/docs/release-notes/community-server/about/release-criteria.md) release. It is an evolution of [MariaDB 11.7](/docs/release-notes/community-server/old-releases/11.7/what-is-mariadb-117.md) with several entirely new features.

[MariaDB 11.8](/docs/release-notes/community-server/11.8/what-is-mariadb-118.md) is a long-term release, maintained until June 2028.

{% hint style="success" %}
**For an overview of MariaDB 11.8 see the** [**MariaDB 11.8 Changes and Improvements**](/docs/release-notes/community-server/11.8/what-is-mariadb-118.md) **page.**
{% endhint %}

Thanks, and enjoy MariaDB!

## Notable Items

### Storage Engines

#### InnoDB

* Fixed a crash in InnoDB when processing long or encoded database names in Foreign Keys ([MDEV-24356](https://jira.mariadb.org/browse/MDEV-24356))
* Fixed an assertion failure during system tablespace defragmentation caused by incomplete resource latching when an extent became full. ([MDEV-37294](https://jira.mariadb.org/browse/MDEV-37294))
* Fixed an issue where the InnoDB system tablespace failed to shrink due to legacy internal tables. MariaDB now automatically detects and removes these orphaned entries during startup, allowing for successful defragmentation and reduction of the tablespace size. ([MDEV-38412](https://jira.mariadb.org/browse/MDEV-38412))
* On 64-bit systems other than IBM AIX, the minimum and default values of innodb\_buffer\_pool\_size\_max were changed to 8 MiB and 8 TiB, respectively. ([MDEV-38671](https://jira.mariadb.org/browse/MDEV-38671))
* The setting innodb\_log\_file\_mmap=ON did not enable memory-mapped log file parsing. ([MDEV-38730](https://jira.mariadb.org/browse/MDEV-38730))
* CREATE TABLE ... SELECT on STATS table doesn't hang anymore ([MDEV-38822](https://jira.mariadb.org/browse/MDEV-38822))
* InnoDB bootstrap and startup will involve slightly fewer file system operations. ([MDEV-38833](https://jira.mariadb.org/browse/MDEV-38833))
* Fixed a server assertion that occurred when an InnoDB DDL operation (such as ALTER TABLE) encountered a lock wait timeout during internal statistics updates. ([MDEV-38882](https://jira.mariadb.org/browse/MDEV-38882))
* After a successful execution of SET GLOBAL innodb\_buffer\_pool\_size, the buffer pool would be included in future core dumps, contrary to the expectation on Linux and FreeBSD. ([MDEV-38958](https://jira.mariadb.org/browse/MDEV-38958))
* InnoDB will initiate page writes and checkpoints from a single thread also during startup and shutdown, which improves performance. ([MDEV-38968](https://jira.mariadb.org/browse/MDEV-38968))
* improved performance of innodb conversion operations between big/little endian ([MDEV-39027](https://jira.mariadb.org/browse/MDEV-39027))
* The PERFORMANCE\_SCHEMA instrument wait/synch/rwlock/innodb/log\_latch was removed in order to improve throughput by 0.5% or more. ([MDEV-39040](https://jira.mariadb.org/browse/MDEV-39040))
* An UPDATE could fail to return the error ER\_CHECKREAD when innodb\_snapshot\_isolation=ON and the transaction that had last modified the record was committed during the lock acquisition. ([MDEV-39263](https://jira.mariadb.org/browse/MDEV-39263))
* InnoDB: Tighten .cfg file parser string length validation ([MDEV-39278](https://jira.mariadb.org/browse/MDEV-39278))
* InnoDB would fail to start up on data files from MariaDB Server 10.x or earlier when innodb\_force\_recovery=6 is specified. ([MDEV-39303](https://jira.mariadb.org/browse/MDEV-39303))
* Fixed a critical assertion failure in InnoDB that occurred during consecutive ALTER IGNORE TABLE operations when using the COPY algorithm. The fix prevents a race condition where the background purge thread could "pin" a table object while it was being renamed or dropped, leading to a server crash. ([MDEV-36436](https://jira.mariadb.org/browse/MDEV-36436))

#### Aria

* Wrong duplicate key value printed in ER\_DUP\_ENTRY ([MDEV-23507](https://jira.mariadb.org/browse/MDEV-23507))

#### Connect

* Invalid SRCDEF value could crash a CONNECT table ([MDEV-38892](https://jira.mariadb.org/browse/MDEV-38892))
* CONNECT OEM tables don't check subtype length ([MDEV-39281](https://jira.mariadb.org/browse/MDEV-39281))
* CONNECT REST support on Windows doesn't escape the url ([MDEV-39289](https://jira.mariadb.org/browse/MDEV-39289))

#### Memory

* When accessing a MEMORY table whose data is lost to restarting a *read-only* server *with replication connection(s) configured* for the first time, the automatically-generated TRUNCATE query in the Binary Log is now annotated with a comment and accompanied by a warning in the Error Log. ([MDEV-38600](https://jira.mariadb.org/browse/MDEV-38600))

#### Mroonga

* A invalid Mroonga INDEX comment can result in a hang of the server. This has been corrected. ([MDEV-39479](https://jira.mariadb.org/browse/MDEV-39479))

#### Spider

* Wrong result or protocol assertion failure upon update using user variable on spider table ([MDEV-38732](https://jira.mariadb.org/browse/MDEV-38732))

### Authentication and Privilege System

* For users without PROCESS privilege, SHOW PROCESSLIST and INFORMATION\_SCHEMA.PROCESSLIST will now show events running under the same user context. ([MDEV-34482](https://jira.mariadb.org/browse/MDEV-34482))
* (Any) table-level privilege is now required for executing LOAD INDEX INTO CACHE and CACHE INDEX commands. Previously, privilege check was missing. ([MDEV-37256](https://jira.mariadb.org/browse/MDEV-37256))
* In case if the view mysql.user was created (e.g. in 10.6) with a server with an unexpected character\_set\_client or collation\_connection, e.g. utf8mb3 and utf8mb3\_general\_ci, mysql\_upgrade does not fix it to the expected latin1 and latin1\_swedish\_ci. ([MDEV-38698](https://jira.mariadb.org/browse/MDEV-38698))
* crash in information\_schema.table\_constraints when --skip-grant-tables ([MDEV-38811](https://jira.mariadb.org/browse/MDEV-38811))
* DROP PARTITION, CONVERT OUT require both ALTER and DROP privileges ([MDEV-39028](https://jira.mariadb.org/browse/MDEV-39028))
* By inserting a crafted large JSON value into the mysql.global\_priv table and triggering FLUSH PRIVILEGES, the server can crash ([MDEV-39266](https://jira.mariadb.org/browse/MDEV-39266))
* SHOW CREATE ROUTINE does not apply to roles ([MDEV-39288](https://jira.mariadb.org/browse/MDEV-39288))
* FILE privilege isn't checked for derived table ([MDEV-39493](https://jira.mariadb.org/browse/MDEV-39493))

### Backup

* mariabackup prepare fails with data-at-rest encryption and "-u root" option ([MDEV-34570](https://jira.mariadb.org/browse/MDEV-34570))
* Fixed mariabackup to report my\_close() failures and prevent false success messages when disk space is exhausted. ([MDEV-38562](https://jira.mariadb.org/browse/MDEV-38562))

### Character Sets

* Fixed incorrectly formatted session tracking info in OK packet, after changing to database with UTF16/UTF32 default charset ([MDEV-38954](https://jira.mariadb.org/browse/MDEV-38954))
* Default expressions for table columns previously allowed an incompatible mix of collations with the functions IF, NVL2, IFNULL. Now ER\_CANT\_AGGREGATE\_2COLLATIONS is returned. ([MDEV-39002](https://jira.mariadb.org/browse/MDEV-39002))

### Data Definition - Alter Table

* Fixes the issue occurred when ALTER TABLE contained duplicate DROP FOREIGN KEY operations (e.g., "DROP FOREIGN KEY f1, DROP FOREIGN KEY f1"). ([MDEV-19194](https://jira.mariadb.org/browse/MDEV-19194))
* Fix InnoDB index corruption when renaming key names with case-only differences. ([MDEV-34951](https://jira.mariadb.org/browse/MDEV-34951))
* PAGE\_COMPRESSED ALTER TABLE operations inconsistent with innodb\_file\_per\_table setting ([MDEV-37886](https://jira.mariadb.org/browse/MDEV-37886))
* ALTER TABLE ... IGNORE could trigger the assertion trx->undo\_no == 1 in InnoDB's undo log handling when a duplicate key error occurred during the copy phase. ([MDEV-38993](https://jira.mariadb.org/browse/MDEV-38993))

### Data Definition - Temporary

* An error during the execution of CREATE TEMPORARY TABLE…SELECT no longer results in a rollback of the entire transaction, but of the failing statement. ([MDEV-38769](https://jira.mariadb.org/browse/MDEV-38769))
* Fixes the optimization of ALTER IGNORE TABLE...ALGORITHM=COPY (MDEV-36436) causes the assertion on InnoDB temporary table, partition table and also during partial rollback. ([MDEV-38928](https://jira.mariadb.org/browse/MDEV-38928))

### Data Manipulation - Update

* Fix crash in `UPDATE ... FOR PARTITION OF`. ([MDEV-39356](https://jira.mariadb.org/browse/MDEV-39356))

### Data types

* Invalid formats to to\_char under some circumstances could crash the server. ([MDEV-28136](https://jira.mariadb.org/browse/MDEV-28136))
* 0 changed to 0.0 caused by DISTINCT and UNION ALL ([MDEV-30255](https://jira.mariadb.org/browse/MDEV-30255))
* Fix crash when comparing `ROW` types containing stored routines ([MDEV-36792](https://jira.mariadb.org/browse/MDEV-36792))
* Change the "-0" results in many SELECT scenarios to just return "0". ([MDEV-38670](https://jira.mariadb.org/browse/MDEV-38670))
* Behaviour of IF() with boolean JSON\_EXTRACT as expression is wrong ([MDEV-38702](https://jira.mariadb.org/browse/MDEV-38702))
* Is was previously possible to insert 0 or "0" into an ENUM where the ENUM defination didn't include these values. Now an Error WARN\_DATA\_TRUNCATED is returned in sql\_mode=STRICT\_ALL\_TABLES. ([MDEV-39043](https://jira.mariadb.org/browse/MDEV-39043))

### Encryption

* Crash recovery may fail after a crash during an instant ALTER TABLE…PAGE\_COMPRESSED=1. Fix: make the operation rebuild the table. ([MDEV-38079](https://jira.mariadb.org/browse/MDEV-38079))

### Galera

* When a mariadb server operates as a donor node in a galera cluster and uses mariabackup SST method, it will spawn mariabackup process to prepare the backup file and sending it to the joiner node. In earlier versions, this spawned mariabackup process inherited the max open file limits set for the parent mariadb server process. This has been changed so that the mariabackup process now honors the open\_files\_limit variable value configured in \[mariabackup] group in the mariadb configuration file and mariabackup process can have different open file limits than the mariadb server, ([MDEV-21935](https://jira.mariadb.org/browse/MDEV-21935))
* If user has limited write set size using wsrep\_max\_ws\_rows or wsrep\_max\_ws\_size for Galera then multi-table update that updates transactional and non-transactional table is not allowed. Furthermore, limiting write set size is not allowed if there is active Galera transaction. ([MDEV-28750](https://jira.mariadb.org/browse/MDEV-28750))
* SIGSEGV in sp\_process\_definer on second execution of trigger using a prepared statement. ([MDEV-30612](https://jira.mariadb.org/browse/MDEV-30612))
* Galera snapshot transfer with the default wsrep\_sst\_method=rsync could create corrupted backups when any InnoDB tables contain FULLTEXT INDEX. ([MDEV-32115](https://jira.mariadb.org/browse/MDEV-32115))
* wsrep\_slave\_FK\_checks configuration option was deprecated and from no on has no effect. Slave foreign key checks are always on as otherwise leads to massive data inconsistency on all replicas which subsequently results in master node abort. ([MDEV-38787](https://jira.mariadb.org/browse/MDEV-38787))
* Regression on MDL conflict handling ([MDEV-38895](https://jira.mariadb.org/browse/MDEV-38895))
* Galera node could fail to restart if node was not in an cluster too long and mysqldump SST method was used. ([MDEV-38917](https://jira.mariadb.org/browse/MDEV-38917))
* If wsrep\_restart\_slave is used Galera node that is a slave to MariaDB master may hang during shutdown. ([MDEV-39011](https://jira.mariadb.org/browse/MDEV-39011))
* Restored galera\_new\_cluster script functionality to take optional service name. ([MDEV-39262](https://jira.mariadb.org/browse/MDEV-39262))

### GIS

* Empty string is erroneously allowed as a GEOMETRY column value ([MDEV-15479](https://jira.mariadb.org/browse/MDEV-15479))
* ST\_AsGeoJSON returns incorrect value for empty geometry ([MDEV-34079](https://jira.mariadb.org/browse/MDEV-34079))
* ST\_PointOnSurface returns NULL with Polygon in some case ([MDEV-35766](https://jira.mariadb.org/browse/MDEV-35766))
* ST\_CROSSES returns 0 instead of NULL ([MDEV-36058](https://jira.mariadb.org/browse/MDEV-36058))
* Crash or incorrect result when st\_geometryfromtext, st\_geometryfromwkb, st\_geomfromgeojson were getting non-constant NULL in the second or third argument. ([MDEV-39319](https://jira.mariadb.org/browse/MDEV-39319))

### JSON

* ANALYZE / EXPLAIN FORMAT=JSON and similar functions output now includes sizes that are IEC (MiB, KiB) matching their value more accurately. ([MDEV-18318](https://jira.mariadb.org/browse/MDEV-18318))
* In SELECT statements where a HAVING claused used JSON\_KEYS the server could crash. This has been corrected. ([MDEV-33984](https://jira.mariadb.org/browse/MDEV-33984))
* A json\_array\_intersect after encountering a empty intersection would return incorrectly return NULL for every subsequent evaluation. This now returns the correct results. ([MDEV-36808](https://jira.mariadb.org/browse/MDEV-36808))
* "Warning: Memory not freed: 32" after server shutdown when SELECT COLUMN\_JSON() has been used ([MDEV-36929](https://jira.mariadb.org/browse/MDEV-36929))
* Corrected a server crash that could occur when strings where appended in a JSON\_NORMALIZE SQL function. ([MDEV-37640](https://jira.mariadb.org/browse/MDEV-37640))
* JSON\_VALUE should not allow wildcard in the path since it is not supposed to return multiple values as per json standards. ([MDEV-38835](https://jira.mariadb.org/browse/MDEV-38835))
* Correct JSON\_EXTRACT to return the correct results when its input is from a derived table. It previously incorrectly returned NULL. ([MDEV-38873](https://jira.mariadb.org/browse/MDEV-38873))
* JSON search functions, JSON\_EXISTS, JSON\_EXTRACT, JSON\_VALUE, JSON\_QUERY, JSON\_CONTAINS, JSON\_CONTAINS\_PATH, JSON\_ARRAY\_APPEND, JSON\_ARRAY\_INSERT, JSON\_LENGTH, JSON\_INSERT, JSON\_REMOVE, JSON\_KEYS, could result in a overwrite of memory resulting in a crash. ([MDEV-39213](https://jira.mariadb.org/browse/MDEV-39213))

### mariabackup

* mbstream insufficient path validation ([MDEV-39408](https://jira.mariadb.org/browse/MDEV-39408))

### Optimizer

* Incorrect Calculation while using Avg Function ([MDEV-23278](https://jira.mariadb.org/browse/MDEV-23278))
* Crash when pushing condition with always false IS NULL into derived ([MDEV-29360](https://jira.mariadb.org/browse/MDEV-29360))
* Optimizer trace does not escape double quotes, produces invalid JSON ([MDEV-30354](https://jira.mariadb.org/browse/MDEV-30354))
* Queries with IN predicates operating on NULL values could sometimes return wrong results. ([MDEV-32868](https://jira.mariadb.org/browse/MDEV-32868))
* Incorrect query result may caused by Right Join ([MDEV-33707](https://jira.mariadb.org/browse/MDEV-33707))
* Double free or corruption, ASAN heap-use-after-free in st\_join\_table::cleanup ([MDEV-38474](https://jira.mariadb.org/browse/MDEV-38474))
* The query returns an incorrect value when using LPAD and REPLACE ([MDEV-39111](https://jira.mariadb.org/browse/MDEV-39111))
* Wrong Results in Identical Queries Involving Grouping and Bitwise NOT (\~) ([MDEV-39131](https://jira.mariadb.org/browse/MDEV-39131))
* Incorrect result with LEFT JOIN and QUOTE ([MDEV-39235](https://jira.mariadb.org/browse/MDEV-39235))

### OTHER

* Incorrect HAVING clause evaluation on grouped derived tables. ([MDEV-38070](https://jira.mariadb.org/browse/MDEV-38070))

### Packaging

* No longer necessary RPM conflict between between MariaDB-common and mysql-common removed. ([MDEV-38771](https://jira.mariadb.org/browse/MDEV-38771))
* Correct Debian installation of client side authentication plugins ([MDEV-39041](https://jira.mariadb.org/browse/MDEV-39041))
* Added ProtectControlGroups=true to MariaDB's systemd service definations ([MDEV-39057](https://jira.mariadb.org/browse/MDEV-39057))
* The package install of Mroonga used the incorrect path to its initialisation. ([MDEV-39128](https://jira.mariadb.org/browse/MDEV-39128))

### Parser

* Keywords are parsed as identifiers when followed by a dot ([MDEV-17677](https://jira.mariadb.org/browse/MDEV-17677))
* MariaDB crashes when parsing fuzzer generated PARTITION ([MDEV-36362](https://jira.mariadb.org/browse/MDEV-36362))
* CHANGE MASTER TO master\_heartbeat\_period does not accept numbers with `+` sign ([MDEV-38454](https://jira.mariadb.org/browse/MDEV-38454))

### Partitioning

* Assertion \`0' failed in ha\_partition::handle\_unordered\_next upon HANDLER READ from partitioned table ([MDEV-20195](https://jira.mariadb.org/browse/MDEV-20195))
* Fixed a server crash in the InnoDB purge thread caused by missing indexed virtual column data in the undo log during UPDATE operations. ([MDEV-39081](https://jira.mariadb.org/browse/MDEV-39081))

### Platform Debian

* The Debian helper script previous tried to CHECK TABLE on all Aria/MyiSAM tables. The discovery and execution though a combination of bash and SQL escaping that resulted in incorrect table names being checked in a variety of situtions. Because Aria has crash recovery the Debian's auto-check table on startup functionality was removed. ([MDEV-34902](https://jira.mariadb.org/browse/MDEV-34902))

### Plugins

* plugin variables disappear from session\_track\_system\_variables list ([MDEV-39207](https://jira.mariadb.org/browse/MDEV-39207))

### Protocol

* mysql\_change\_user() with long passwords throws an error ([MDEV-38550](https://jira.mariadb.org/browse/MDEV-38550))

### Query Cache

* Server hangs or crashes upon FLUSH QUERY CACHE ([MDEV-25365](https://jira.mariadb.org/browse/MDEV-25365))

### Replication

* SHOW BINLOG EVENTS showed incorrect/inverted values for foreign\_key\_checks, check\_constraint\_checks, sql\_auto\_is\_null, and unique\_checks flags. ([MDEV-29804](https://jira.mariadb.org/browse/MDEV-29804))
* Replication would break (or diverge) with STATEMENT binlog format when check\_constraint\_checks was modified from the configured startup value because the variable was not written to the binary log with the affected event. ([MDEV-32447](https://jira.mariadb.org/browse/MDEV-32447))
* Parallel replication hang and stall due to incorrectly handled row lock conflict, missing deadlock kill ([MDEV-37133](https://jira.mariadb.org/browse/MDEV-37133))
* CHANGE MASTER TO is implicitly changing the value of 'Using\_Gtid' from 'No' to 'No' ([MDEV-37842](https://jira.mariadb.org/browse/MDEV-37842))
* Master/Relay Log Info files ignore trailing garbage and overflows in numeric lines ([MDEV-38010](https://jira.mariadb.org/browse/MDEV-38010))
* Master & Relay Log info files read 2^31 and above incorrectly ([MDEV-38020](https://jira.mariadb.org/browse/MDEV-38020))
* Fixed an issue where a parallel replica configured to skip ER\_CONNECTION\_KILLED (i.e. --slave-skip-errors=1927) can hang or crash because it honored this configuration, but should not (this error code is internally repurposed for replication worker threads and cannot be ignored). ([MDEV-38624](https://jira.mariadb.org/browse/MDEV-38624))
* Replica updates table to wrong values, further replication failures ([MDEV-38731](https://jira.mariadb.org/browse/MDEV-38731))
* Assertion \`marked\_for\_read()' fails on slave upon RBR with unique blobs and binlog\_row\_image=MINIMAL ([MDEV-38734](https://jira.mariadb.org/browse/MDEV-38734))
* \[ERROR] Slave worker thread retried transaction 10 time(s) in vain, giving up. ([MDEV-38776](https://jira.mariadb.org/browse/MDEV-38776))
* Fix Delayed Replication delays on metadata received at start, even if already up-to-date. ([MDEV-38825](https://jira.mariadb.org/browse/MDEV-38825))
* Corrupted Gtid\_log\_event can cause a slave or mariadb-binlog crash ([MDEV-39404](https://jira.mariadb.org/browse/MDEV-39404))

### Scripts & Clients

* The REPAIR TABLE was reporting "stage done" in progress reporting to the client before the server had processed the REPAIR TABLE. This status message is now send to the client at the correct completed time. ([MDEV-38922](https://jira.mariadb.org/browse/MDEV-38922))

### Sequences

* Server crashes upon update on a view if the view includes NEXTVAL() for a sequence ([MDEV-38815](https://jira.mariadb.org/browse/MDEV-38815))

### Server

* Fixed a server crash that could occur during query optimization when a stored procedure queries a view containing CONCAT or GROUP\_CONCAT functions. ([MDEV-36678](https://jira.mariadb.org/browse/MDEV-36678))
* SHOW CREATE SERVER does not require FEDERATED ADMIN ([MDEV-38601](https://jira.mariadb.org/browse/MDEV-38601))
* The query returns incorrect results when using LPAD ([MDEV-39112](https://jira.mariadb.org/browse/MDEV-39112))
* use iterative cleanup for merged units to avoid stack overflow ([MDEV-39209](https://jira.mariadb.org/browse/MDEV-39209))
* Wrong duplicate detection for plugin session vars in session\_track\_system\_variables ([MDEV-39217](https://jira.mariadb.org/browse/MDEV-39217))
* Fixed critical crashes in InnoDB purge threads when processing tables with indexed virtual columns. Resolved race conditions where purge workers incorrectly reused cached TABLE\* objects across different tables in the same batch, and added retry logic to handle concurrent DDL operations that could invalidate table handles during purge processing. ([MDEV-39261](https://jira.mariadb.org/browse/MDEV-39261))
* The error message ER\_CHECKREAD (1020) was revised to suggest that InnoDB has rolled back the transaction: "try restarting transaction" ([MDEV-39264](https://jira.mariadb.org/browse/MDEV-39264))
* main.group\_by fails with incorrectly ordered rows ([MDEV-39333](https://jira.mariadb.org/browse/MDEV-39333))
* mysqld daemon should check if any process uses the socket file before removing ([MDEV-5479](https://jira.mariadb.org/browse/MDEV-5479))
* SQL statements fail with error "Local temporary space limit reached" when using MariaDB Cluster (galera), `max_tmp_session_space_usage` and a transaction that uses temporary file of a size between `binlog-cache-size` (default 32K) and 64K followed by a change user command. Can be avoided by setting `max_tmp_session_space_usage=0` ([MDEV-37808](https://jira.mariadb.org/browse/MDEV-37808))

### Stored routines

* Fix missing memory root protection after Stored Procedure metadata change. ([MDEV-37243](https://jira.mariadb.org/browse/MDEV-37243))
* Fix crash when stored procedure evaluates DEFAULT parameter on second and subsequent execution. ([MDEV-37491](https://jira.mariadb.org/browse/MDEV-37491))

### Triggers

* For INSERT.. ON DUPLICATE KEY UPDATE, AFTER UPDATE trigger is now always executed in case of duplicate key, even if update did not result in any data changes. This matches the existing behavior of UPDATE command. ([MDEV-33083](https://jira.mariadb.org/browse/MDEV-33083))
* ASAN heap-use-after-free upon using a view through a trigger in ORACLE mode ([MDEV-38987](https://jira.mariadb.org/browse/MDEV-38987))

### Upgrades

* mariadb-upgrade note "Auto\_increment will be checked on each open until CHECK TABLE FOR UPGRADE is executed" is wrong ([MDEV-34210](https://jira.mariadb.org/browse/MDEV-34210))

### Vector search

* CREATE TABLE t SELECT vec\_fromtext(...) now correctly creates the column as a VECTOR TYPE. Contribution thanks to Abhishek Bansal. ([MDEV-35211](https://jira.mariadb.org/browse/MDEV-35211))
* vector index sizes are not in information\_schema.TABLES nor SHOW TABLE STATUS ([MDEV-35821](https://jira.mariadb.org/browse/MDEV-35821))

### Views

* Some views are broken in Oracle mode after upgrade to Q1 2026 releases ([MDEV-38799](https://jira.mariadb.org/browse/MDEV-38799))

### wsrep

* wsrep unsafe handling of parameters ([MDEV-39413](https://jira.mariadb.org/browse/MDEV-39413))

### XML Functions

* ExtractValue/UpdateXML can crash due to not handling `<!` and `<?` correctly ([MDEV-39210](https://jira.mariadb.org/browse/MDEV-39210))

### Security

Fixes for the following security vulnerabilities:

| CVE ID (with cve.org link)                                        | CVSS base score (v3.1) |
| ----------------------------------------------------------------- | ---------------------- |
| [CVE-2026-44173](https://www.cve.org/CVERecord?id=CVE-2026-44173) | 5.0                    |
| [CVE-2026-44172](https://www.cve.org/CVERecord?id=CVE-2026-44172) | 5.0                    |
| [CVE-2026-44171](https://www.cve.org/CVERecord?id=CVE-2026-44171) | 6.3                    |
| [CVE-2026-44170](https://www.cve.org/CVERecord?id=CVE-2026-44170) | 5.0                    |
| [CVE-2026-44169](https://www.cve.org/CVERecord?id=CVE-2026-44169) | 4.3                    |
| [CVE-2026-44168](https://www.cve.org/CVERecord?id=CVE-2026-44168) | 8.0                    |

## Changelog

For a complete list of changes made in MariaDB 11.8.7, with links to detailed information on each push, see the [changelog](/docs/release-notes/community-server/changelogs/11.8/11.8.7.md).

***

{% hint style="info" %}
Be notified of new MariaDB Server releases automatically by [subscribing](https://lists.mariadb.org/postorius/lists/announce.lists.mariadb.org/) 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](/docs/general-resources/distributions-including-mariadb.md) page.
{% endhint %}

<sub>*This page is licensed: CC BY-SA / Gnu FDL*</sub>

{% @marketo/form formid="4316" formId="4316" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mariadb.com/docs/release-notes/community-server/11.8/11.8.7.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
