> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/release-notes/community-server/10.11/10.11.20.md).

# MariaDB 10.11.20 Release Notes

MariaDB 10.11.20 is a Stable (GA) release of MariaDB Community Server 10.11, released on TBD

{% hint style="danger" %}
**Note:** This page describes features in the source repository for [**MariaDB 10.11**](/docs/release-notes/community-server/10.11/what-is-mariadb-1011.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/community" class="button primary">Download</a> <a href="/docs/release-notes/community-server/10.11/10.11.20.md" class="button secondary">Release Notes</a> <a href="/docs/release-notes/community-server/changelogs/10.11/10.11.20.md" class="button secondary">Changelog</a> <a href="/docs/release-notes/community-server/10.11/what-is-mariadb-1011.md" class="button secondary">Overview of 10.11</a>

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

**Release date:** TBD

[MariaDB 10.11](/docs/release-notes/community-server/10.11/what-is-mariadb-1011.md) is a stable long term series of MariaDB, [maintained until](https://mariadb.org/about/#maintenance-policy) February 2028. It is an evolution of [MariaDB 10.10](/docs/release-notes/community-server/old-releases/10.10/what-is-mariadb-1010.md) with several entirely new features.

MariaDB 10.11.20 is a ***Stable (GA)*** release.

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

Thanks, and enjoy MariaDB!

## Notable Items

### Storage Engines

#### InnoDB Storage Engine

* Prevent purge from freeing addressable BLOBs ([MDEV-38056](https://jira.mariadb.org/browse/MDEV-38056))
* Fixed memory leak message when using large pages ([MDEV-38918](https://jira.mariadb.org/browse/MDEV-38918))
* i\_s\_dict\_fill\_sys\_tables() aborts when reading INNODB\_SYS\_TABLES after innodb\_force\_recovery ([MDEV-38942](https://jira.mariadb.org/browse/MDEV-38942))
* Index corruption on UPDATE when using versioned InnoDB table (on UPDATE) ([MDEV-39306](https://jira.mariadb.org/browse/MDEV-39306))
* Fixed stale encryption metadata on compressed-only pages by clearing it, and fixed an assertion failure during extent reservation ([MDEV-39795](https://jira.mariadb.org/browse/MDEV-39795))
* InnoDB could fail to recover after being killed in a DDL operation ([MDEV-40728](https://jira.mariadb.org/browse/MDEV-40728))
* When executing crash recovery in multiple batches, InnoDB may fail to extend a file and crash on a subsequent write to it ([MDEV-40756](https://jira.mariadb.org/browse/MDEV-40756))
* Redundant calls to convert implicit record locks to explicit ones when table S-lock is held ([MDEV-40805](https://jira.mariadb.org/browse/MDEV-40805))
* Large memory allocations use MAP\_NORESERVE where available (Linux and Illumos) to ensure that large memory mappings (e.g. 8TiB on default innodb\_buffer\_pool\_size\_max) do not result in memory actually being reserved (which it is by default on Illumos). --large-page memory behaviour isn't changed ([MDEV-40921](https://jira.mariadb.org/browse/MDEV-40921))
* InnoDB could crash if the parameter innodb\_buffer\_pool\_size\_auto\_min was set and it failed to shrink the buffer pool in response to a Linux memory pressure event ([MDEV-40950](https://jira.mariadb.org/browse/MDEV-40950))
* InnoDB acquires metadata locks for transactions recovered after a crash, so that DDL is blocked until no conflicting recovered transaction remains ([MDEV-41207](https://jira.mariadb.org/browse/MDEV-41207))
* Crash recovery could overwrite a renamed old table with the contents of a newly created table using the old name ([MDEV-41318](https://jira.mariadb.org/browse/MDEV-41318))
* Prevent optimistic cursor restoration to wrongly succeed on a block that was invalidated, withdrawn by a buffer pool shrink and then zero-initialized by a buffer pool growth ([MDEV-41398](https://jira.mariadb.org/browse/MDEV-41398))
* InnoDB could fail to start up if crash recovery involves multiple RENAME operations ([MDEV-41548](https://jira.mariadb.org/browse/MDEV-41548))
* Fixed client error message sent when adding an undo log page fails due to file space running out ([MDEV-41616](https://jira.mariadb.org/browse/MDEV-41616))
* An InnoDB page reorganize operation could corrupt things further in case it encountered corruption ([MDEV-41661](https://jira.mariadb.org/browse/MDEV-41661))
* Fixed a crash when a statement was rolled back after a cascaded ON UPDATE/DELETE SET NULL. It happened when the foreign key column was the base of an indexed virtual column that shared an index with other virtual columns ([MDEV-41666](https://jira.mariadb.org/browse/MDEV-41666))
* Fixed a heap buffer overflow in InnoDB UPDATE on tables with several indexed virtual columns ([MDEV-41667](https://jira.mariadb.org/browse/MDEV-41667))
* Fixed a gap in InnoDB MVCC handling that caused the read view returning wrong data after DDL execution, instead of the ER\_TABLE\_DEF\_CHANGED error, when table definition was reloaded ([MDEV-41694](https://jira.mariadb.org/browse/MDEV-41694))

#### Connect Storage Engine

* Prevent buffer overflow when WHERE clause is too big to fit in Connect engine's work area ([MDEV-41193](https://jira.mariadb.org/browse/MDEV-41193))
* A table in the Connect engine table of type XML, with a large user provided OPTION\_LIST, would result in memory write beyond the end of the stack when inserting into that table ([MDEV-41405](https://jira.mariadb.org/browse/MDEV-41405))
* some CONNECT jfile/bfile udfs ignore FILE and secure\_file\_priv ([MDEV-41608](https://jira.mariadb.org/browse/MDEV-41608))
* CONNECT jfile\_convert crashes on invalid file ([MDEV-41613](https://jira.mariadb.org/browse/MDEV-41613))
* CONNECT REST can bypass FILE protection ([MDEV-41641](https://jira.mariadb.org/browse/MDEV-41641))
* CONNECT CSV discovery header overflows colname\[]/len\[]/typ\[]/prc\[] ([MDEV-41944](https://jira.mariadb.org/browse/MDEV-41944))
* CONNECT: table option value used as printf format string, crash in ha\_connect::GetRealString ([MDEV-41946](https://jira.mariadb.org/browse/MDEV-41946))

#### Federated Storage Engine

* federated use-after-free with temp tables and savepoints ([MDEV-38859](https://jira.mariadb.org/browse/MDEV-38859))
* Use of uninitialized table\_will\_be\_deleted in federated engine ([MDEV-40854](https://jira.mariadb.org/browse/MDEV-40854))

#### Memory Storage Engine

* MEMORY BTREE index: DELETE by key prefix skips a row after a previous lookup (regression from MDEV-40186) ([MDEV-41738](https://jira.mariadb.org/browse/MDEV-41738))

### Authentication and Privilege System

* Non-atomic CREATE OR REPLACE USER breaks replication ([MDEV-37214](https://jira.mariadb.org/browse/MDEV-37214))
* CONNECT: Privilege validation gap ([MDEV-39615](https://jira.mariadb.org/browse/MDEV-39615))
* I\_S.metadata\_lock\_info shows schema/table that user has no privileges on ([MDEV-40374](https://jira.mariadb.org/browse/MDEV-40374))
* MariaDB matches a client certificate against a REQUIRE ISSUER/REQUIRE SUBJECT value exactly, but SSL libraries render a / or + inside a certificate field differently: OpenSSL 3.0+ escapes it with a backslash, OpenSSL 1.1/WolfSSL don't. So a working grant could silently stop matching after an SSL library change. The new old\_mode value X509\_LENIENT\_COMPARE restores it: on a failed exact match, it also accepts the value with that escaping added or removed. It's primarily meant to be a migration aid, rather than permanent setting — while enabled, a literal backslash before / or + in a certificate field can no longer be told apart from an escaped separator, making REQUIRE less precise ([MDEV-41008](https://jira.mariadb.org/browse/MDEV-41008))
* HANDLER READ missing column privilege check ([MDEV-41099](https://jira.mariadb.org/browse/MDEV-41099))
* CONVERT TABLE ... TO PARTITION does not check privileges on the table it moves in ([MDEV-41432](https://jira.mariadb.org/browse/MDEV-41432))
* definer check in CREATE PROCEDURE is too lax ([MDEV-41626](https://jira.mariadb.org/browse/MDEV-41626))
* sequence permissions aren't checked in LOAD DATA ([MDEV-41648](https://jira.mariadb.org/browse/MDEV-41648))
* Unauthenticated handshake converts an unbounded CLIENT\_CONNECT\_WITH\_DB database name ([MDEV-42025](https://jira.mariadb.org/browse/MDEV-42025))

### Backup

* mariadb-backup --backup crashes on database and table names that expand to nearly 255 bytes in the file system ([MDEV-40862](https://jira.mariadb.org/browse/MDEV-40862))
* Crash recovery or applying a backup that involves InnoDB data file creation might fail in rare cases ([MDEV-41152](https://jira.mariadb.org/browse/MDEV-41152))
* mariadb-backup --backup --innodb-log-checkpoint-now could copy too much log, starting from the previous checkpoint ([MDEV-41166](https://jira.mariadb.org/browse/MDEV-41166))

### Character Sets

* Memory corruption & crash in check\_key\_in\_list upon using JSON\_KEYS after modifying character set name/collation ([MDEV-39049](https://jira.mariadb.org/browse/MDEV-39049))
* OOB write with RPAD() crash and multi-byte charsets and uservar ([MDEV-41496](https://jira.mariadb.org/browse/MDEV-41496))

### Data Definition

#### Alter Table

* ALTER TABLE ... AUTO\_INCREMENT = NN; should return a Warning if it can not use the provided value ([MDEV-33660](https://jira.mariadb.org/browse/MDEV-33660))
* An ALTER TABLE on a system-versioned table that contains virtual columns and a fulltext index could crash ([MDEV-40985](https://jira.mariadb.org/browse/MDEV-40985))
* A snapshot that was created before ALTER TABLE…IMPORTED TABLESPACE would fail to report ER\_TABLE\_DEF\_CHANGED ([MDEV-41669](https://jira.mariadb.org/browse/MDEV-41669))
* ALTER TABLE and OPTIMIZE TABLE would grow InnoDB files unnecessarily ([MDEV-41813](https://jira.mariadb.org/browse/MDEV-41813))

#### Create Table

* Compressed column always gets default value added ([MDEV-40417](https://jira.mariadb.org/browse/MDEV-40417))
* CREATE TABLE AS SELECT did not replicate correctly in Galera ([MDEV-40929](https://jira.mariadb.org/browse/MDEV-40929))

#### Temporary

* Fixed bug where dropping a temporary table would occasionally cause the server to crash ([MDEV-37521](https://jira.mariadb.org/browse/MDEV-37521))

### Data Manipulation

#### Insert

* INSERT crashes on deeply nested GeometryCollection ([MDEV-41622](https://jira.mariadb.org/browse/MDEV-41622))

#### Update

* Index corruption on UPDATE of table with long unique hash collision and indexed virtual blob ([MDEV-41617](https://jira.mariadb.org/browse/MDEV-41617))

### Data types

* SUM(b'1100') and SUM(DISTINCT b'1100') return different numeric results for the same BIT literal (e.g. 12 vs 9) ([MDEV-39194](https://jira.mariadb.org/browse/MDEV-39194))
* Fixed JSON\_TABLE so JSON numbers loaded into BIT columns keep their correct values ([MDEV-39969](https://jira.mariadb.org/browse/MDEV-39969))
* CONCAT silently returns the wrong string, dropping its first argument's value, when that argument is JSON\_TYPE() or GET\_FORMAT() ([MDEV-40673](https://jira.mariadb.org/browse/MDEV-40673))

### Encryption

* innodb\_encryption\_threads=0 hangs indefinitely when rotation IOPS is zero ([MDEV-41055](https://jira.mariadb.org/browse/MDEV-41055))

### Full-text Search

* Server crashes in Item\_func\_match::init\_search on 2nd execution of PS ([MDEV-32383](https://jira.mariadb.org/browse/MDEV-32383))
* Wildcard term returns no rows when combined with a phrase in boolean search ([MDEV-41022](https://jira.mariadb.org/browse/MDEV-41022))
* Unbounded Recursion in InnoDB FTS Boolean-Mode causes Stack-Overflow fts\_ast\_visit ([MDEV-41281](https://jira.mariadb.org/browse/MDEV-41281))
* Recursion in InnoDB FTS AST causes stack-overflow (fts\_ast\_free\_node/fts\_ast\_free\_list) ([MDEV-41282](https://jira.mariadb.org/browse/MDEV-41282))
* Fixed a crash (and possible loss of full-text index entries) in OPTIMIZE TABLE on an InnoDB FULLTEXT index when it held words that differ only by the collation ([MDEV-41360](https://jira.mariadb.org/browse/MDEV-41360))
* Fixed a server crash (assertion result != FTS\_INVALID) that could occur on DELETE IGNORE or UPDATE IGNORE when a foreign key cascade reached a table with a FULLTEXT index and one row's operation failed ([MDEV-41665](https://jira.mariadb.org/browse/MDEV-41665))

### Galera

* In case Galera replica node fails error message in error log could be incorrect or unexpected ([MDEV-34839](https://jira.mariadb.org/browse/MDEV-34839))
* The rsync SST method of Galera worked incorrectly if innodb\_log\_group\_home\_dir or aria\_log\_dir\_path were not the same as datadir at the SST donor node; this release has a fix for the rsync SST script to support varying data directory locations ([MDEV-36677](https://jira.mariadb.org/browse/MDEV-36677))
* A potential deadlock happening when MariaDB sequence operation is replicated as part of Galera streaming replication has been fixed ([MDEV-38869](https://jira.mariadb.org/browse/MDEV-38869))
* If Galera provider evs parameters are incorrectly configured it could cause cluster to detect unresponsive nodes even when they are not. These evs parameters define what it means for a node to be "delayed." See <https://mariadb.com/docs/galera-cluster/galera-management/configuration/configuring-auto-eviction> for more information ([MDEV-38920](https://jira.mariadb.org/browse/MDEV-38920))
* After full cluster restart, depending on startup method used, it could happen that the GTID domain ID configured for the cluster by 'wsrep\_gtid\_domain\_id' was not used in the bootstrapped cluster. Instead, domain part was reset to be '0'. This problem has been fixed in this release, and wsrep\_gtid\_domain\_id is now honored with all methods used for cluster startup ([MDEV-38981](https://jira.mariadb.org/browse/MDEV-38981))
* If Galera SST takes longer than expected connection between donor and joiner could be closed and node taken down ([MDEV-40281](https://jira.mariadb.org/browse/MDEV-40281))
* Galera rsync SST syncs all the filesystems ([MDEV-40727](https://jira.mariadb.org/browse/MDEV-40727))
* Foreign key constraint definitions containing columns of type UUID, INET4 or INET6, could cause undetected conflicts or dependencies for replication parallel applying, leading potentially to node crash or stalling. This issue is fixed in the release, and the fix contains replication protocol upgrade ([MDEV-41012](https://jira.mariadb.org/browse/MDEV-41012))
* If foreign key column used CHAR-type and multi-byte character set Galera replication did not replicate it correctly causing hang or crash ([MDEV-41028](https://jira.mariadb.org/browse/MDEV-41028))
* Galera replication could fail with Unknown error and crash for FK key exceeding 3500 bytes. After protocol change replicated wsrep key that exceed 3500 bytes is truncated to maximum length of 3500 bytes. During rolling-upgrade servers will use old behaviour until all nodes are upgraded to new protocol version ([MDEV-41073](https://jira.mariadb.org/browse/MDEV-41073))
* Galera node using GTIDs could crash if multiple DDLs are executed concurrently ([MDEV-41075](https://jira.mariadb.org/browse/MDEV-41075))
* The shipped wsrep\_notify helper reparses configured credentials through eval and splits password arguments ([MDEV-41230](https://jira.mariadb.org/browse/MDEV-41230))
* The client connection's execution state in cluster was lost after the session has called mysql\_change\_user command. This has been fixed in current version ([MDEV-41385](https://jira.mariadb.org/browse/MDEV-41385))
* DDL replication in Galera Cluster could end up in lock conflict with InnoDB purge thread, and attempt to abort the purge thread have caused symptoms of server memory usage growth and finally cluster hanging and a crash. This has been fixed by allowing the purge operation to complete before DDL execution ([MDEV-41450](https://jira.mariadb.org/browse/MDEV-41450))
* Galera SST using rsync and mariabackup ignored db\_ignore\_dirs parameter ([MDEV-41490](https://jira.mariadb.org/browse/MDEV-41490))
* SHOW CREATE \[FUNCTION|PROCEDURE] and SHOW \[FUNCTION|PROCEDURE] CODE did not correctly wait when wsrep\_sync\_wait variable so required ([MDEV-41505](https://jira.mariadb.org/browse/MDEV-41505))

### JSON

* Validation during json normalization has bee made inline for increased performance ([MDEV-40174](https://jira.mariadb.org/browse/MDEV-40174))
* Server crash on EXPLAIN EXTENDED or CREATE VIEW of a deeply nested JSON\_TABLE ([MDEV-40847](https://jira.mariadb.org/browse/MDEV-40847))
* more mysql\_json plugin OOB reads ([MDEV-41473](https://jira.mariadb.org/browse/MDEV-41473))

### mariabackup

* mbstream insufficient path validation in REMOVE and RENAME chunks ([MDEV-41467](https://jira.mariadb.org/browse/MDEV-41467))

### Optimizer

* INTERVAL function pushed into derived table returns incorrect results ([MDEV-36295](https://jira.mariadb.org/browse/MDEV-36295))
* Fix ROLLUP query results with empty result set. Patch by Jaeheon Shim ([MDEV-40698](https://jira.mariadb.org/browse/MDEV-40698))
* Crash when using all 32 parts of a maximum length index ([MDEV-41179](https://jira.mariadb.org/browse/MDEV-41179))
* Wrapped selects with outer ORDER BY/LIMIT parsed incorrectly ([MDEV-41225](https://jira.mariadb.org/browse/MDEV-41225))
* DECODE\_HISTOGRAM crashes when decoding JSON\_HB ([MDEV-41603](https://jira.mariadb.org/browse/MDEV-41603))
* OOB read on loose index scan of MIN/MAX with IS \[NOT] NULL ([MDEV-41841](https://jira.mariadb.org/browse/MDEV-41841))

#### CTE

* repeated CTE references keep reparsing exponentially on time and memory ([MDEV-41808](https://jira.mariadb.org/browse/MDEV-41808))

### Packaging

* RPM %pre scriptlet unconditionally resets a pre-existing mysql user's home directory to /nonexistent ([MDEV-41253](https://jira.mariadb.org/browse/MDEV-41253))

### Parser

* Allow ROW\_NUMBER as unquoted column name ([MDEV-41566](https://jira.mariadb.org/browse/MDEV-41566))

### Partitioning

* Exchange partition fails with compound expressions ([MDEV-38757](https://jira.mariadb.org/browse/MDEV-38757))
* concurrent INSERT … SELECT on a partitioned InnoDB table can leave the table-level AUTO\_INCREMENT counter behind MAX(pk), so later inserts are handed ids that already exist and fail with ER\_DUP\_ENTRY on the PRIMARY KEY ([MDEV-40995](https://jira.mariadb.org/browse/MDEV-40995))
* Failed ADD PARTITION with a #mysql50# partition name removes the table ([MDEV-41480](https://jira.mariadb.org/browse/MDEV-41480))
* Changing INTERVAL of SYSTEM\_TIME partitioning does not move history to the new partitions ([MDEV-41543](https://jira.mariadb.org/browse/MDEV-41543))
* Unchecked get\_clone() in ALTER of partitioned table crashes on out-of-memory ([MDEV-41545](https://jira.mariadb.org/browse/MDEV-41545))

### Performance Schema

* MariaDB crash while running a SELECT on table performance\_schema.status\_by\_thread ([MDEV-39566](https://jira.mariadb.org/browse/MDEV-39566))
* "performance\_schema" is compared case-sensitively in the engine, case-insensitively elsewhere ([MDEV-41801](https://jira.mariadb.org/browse/MDEV-41801))

### Platforms

#### Debian

* Symbolic links inside /var/log/mysql and /var/lib/mysql are no longer followed when fixing ownership; /var/log/mysql and /var/lib/mysql themselves are still followed if they are symbolic links; only the top level of /var/log/mysql is fixed, not its subdirectories; a fresh RPM install no longer removes group and other permissions from the mysql system database directory ([MDEV-41140](https://jira.mariadb.org/browse/MDEV-41140))

#### Windows

* Removed unnecessary steps in Windows service startup, that could cause service to start like a normal console program. Added even log messages to help analyze failed service startup ([MDEV-41080](https://jira.mariadb.org/browse/MDEV-41080))
* mariadbd --help output is flushed before exit to resolve an issue when used in scripting that where there is incomplete results of the output pipe of this command ([MDEV-41800](https://jira.mariadb.org/browse/MDEV-41800))

### Plugins

* Check that plugin name is pure ASCII ([MDEV-39245](https://jira.mariadb.org/browse/MDEV-39245))

#### pam Plugin

* auth\_pam\_tool leaves zombie processes ([MDEV-41430](https://jira.mariadb.org/browse/MDEV-41430))

### Prepared Statements

* BULK insert wrong values when command contain inner select ([MDEV-23864](https://jira.mariadb.org/browse/MDEV-23864))
* Double free on repeated execution of prepared aggregate function against empty table in Query\_arena::free\_items() ([MDEV-38004](https://jira.mariadb.org/browse/MDEV-38004))

### Protocol

* multiple proxy protocol headers are now disallowed, connections will fail with an error ([MDEV-40878](https://jira.mariadb.org/browse/MDEV-40878))
* When using proxy protocol, and SSL, some host related error messages (ER\_HOST\_NOT\_PRIVILEGED, ER\_HOST\_BLOCKED) sent during connection would be unreadable ([MDEV-40967](https://jira.mariadb.org/browse/MDEV-40967))
* COM\_FIELD\_LIST Integer Underflow Leading to Heap Over-read ([MDEV-41504](https://jira.mariadb.org/browse/MDEV-41504))
* Truncated or incomplete PROXY protocol headers (version 1 and version 2) are now rejected, instead of being parsed with uninitialized data ([MDEV-41508](https://jira.mariadb.org/browse/MDEV-41508))
* validation of proxy protocol v1 header is tightened, according to the specification ([MDEV-41691](https://jira.mariadb.org/browse/MDEV-41691))

### Replication

* Unexpected ERROR: Found out of order GTID after replaying binlog read from remote ([MDEV-29803](https://jira.mariadb.org/browse/MDEV-29803))
* Invalid access, use-after-free, on rli->description\_event\_for\_exec ([MDEV-35691](https://jira.mariadb.org/browse/MDEV-35691))
* Heap Out-of-Bounds Read in `parse_signedness()` ([MDEV-40745](https://jira.mariadb.org/browse/MDEV-40745))
* Add Missing Binlog Log Event Validation ([MDEV-41732](https://jira.mariadb.org/browse/MDEV-41732))
* mariadb-binlog --raw takes the output file name from Rotate events without checking it ([MDEV-41803](https://jira.mariadb.org/browse/MDEV-41803))

### Server

* Shutdown hangs if event scheduler is started during shutdown ([MDEV-25176](https://jira.mariadb.org/browse/MDEV-25176))
* Fix MSAN error caused by STR\_TO\_DATE() reading past the end of the string when used with the %., %@ and %# format specifiers ([MDEV-40616](https://jira.mariadb.org/browse/MDEV-40616))
* CREATE DATABASE COMMENT overflows db.opt comment buffer ([MDEV-41157](https://jira.mariadb.org/browse/MDEV-41157))
* LOAD\_FILE checks for is\_secure\_file\_path() one path but opens another ([MDEV-41431](https://jira.mariadb.org/browse/MDEV-41431))
* Stored generated BLOB column is wrong on REPLACE into versioned table ([MDEV-41621](https://jira.mariadb.org/browse/MDEV-41621))
* deeply nested ROWs crash ([MDEV-41804](https://jira.mariadb.org/browse/MDEV-41804))

### Stored routines

* Nested BEGINs (4600+) cause a segmentation fault ([MDEV-37167](https://jira.mariadb.org/browse/MDEV-37167))

### Temporal Types

* The DATE\_FORMAT SQL function when a negative result returned had an incorrect result when used in a VIEW or the cursor protocol; Fixed thanks to Rion Bora ([MDEV-34215](https://jira.mariadb.org/browse/MDEV-34215))

### Triggers

* AFTER UPDATE trigger reads wrong NEW value of BLOB/TEXT virtual column in system-versioned table ([MDEV-41493](https://jira.mariadb.org/browse/MDEV-41493))

### XA

* Unescaped XID bytes in SESSION\_TRACK\_TRANSACTION\_CHARACTERISTICS ([MDEV-41520](https://jira.mariadb.org/browse/MDEV-41520))

### XML

* Server crashes in my\_xml\_value/my\_xml\_parse with xml that lacks closing ]]> ([MDEV-41407](https://jira.mariadb.org/browse/MDEV-41407))

### XML Functions

* Deeply recursive queries would crash earlier if there is not enough stack space instead of erroring out. Now, it will throw an error ([MDEV-33843](https://jira.mariadb.org/browse/MDEV-33843))

## Changelog

For a complete list of changes made in MariaDB 10.11.20, with links to detailed information on each push, see the [changelog](/docs/release-notes/community-server/changelogs/10.11/10.11.20.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" %}
