arrow-left

All pages
gitbookPowered by GitBook
1 of 4

Loading...

Loading...

Loading...

Loading...

MariaDB 12.0 Changes & Improvements

An overview of changes, improvements, and what's new in MariaDB Community Server 12.0

circle-info

The most recent release of MariaDB 12.0 is:

hashtag
MariaDB 12.0.2 Stable (GA) Download Now

MariaDB 12.0 is a . It is an evolution of with several entirely new features.

hashtag
New Features

hashtag
Security

  • Support for passphrase protected keys ()

    • variable

  • New statement for performing actions as another user ()

hashtag
Data types

  • Comparison (stored_func(),1)=ROW(1,1) erroneously called stored_func() twice per row. It led to a performance degradation, as well as to a double execution of the possible stored function side effects. ()

hashtag
Stored Routines

  • Add support for the pre-defined weak SYS_REFCURSOR ()

    • system variable limits the number of opened at the same time

hashtag
Server

  • Add the FM format to , which suppresses following padding ()

  • and now support ()

hashtag
Optimizer

  • optimization can now be applied for reverse-ordered scans ()

  • optimization can now applied for reverse-ordered scans ()

  • Loose Index Scan ("Use index for group-by") optimization can now use indexes with DESC key parts ()

hashtag
Optimizer hints

  • Add support for ()

hashtag
GIS

New functions. These functions improve compatibility with MySQL 8.

  • ()

  • ()

  • ()

hashtag
Trigger

  • Add support for TRIGGERS that fire on multiple events ()

hashtag
Replication

  • Server displays if it was started with the option ()

  • has been added as a system variable (previously it was just an option). It determines whether to show the user and password in (SHOW SLAVE HOSTS) on the primary.

  • system variable added (previously it was just an option), which permits not skipping events having our server id.

hashtag
Galera

  • In , needless foreign key checks during Incremental State Transfers are now avoided ()

hashtag
Audit Plugin

  • The now logs HOST:PORT of incoming connections instead of just the host ()

  • Added tls_version field for connection audit plugins ()

hashtag
Configuration

  • Get option group suffix from $MARIADB_GROUP_SUFFIX in addition to $MYSQL_GROUP_SUFFIX ()

hashtag
mariadb Client

  • Can set an alternative directory path for searching scripts invoked via the source command, with the mariadb client option ()

hashtag
Variables

For a list of all new variables, see .

hashtag
Removed

  • , deprecated in

  • , deprecated in

  • , deprecated in .

hashtag
List of All MariaDB 12.0 Releases

Date
Release
Status
Release Notes
Changelog

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

Release Notes - MariaDB 12.0 Rolling Releases

Release notes for MariaDB Community Server 12.0 Rolling Release series

Implement SHA2 support for file_key_management.so plugin (TDE) (MDEV-34712arrow-up-right)
find_order_in_list mismatch when order item needs fixing() (MDEV-36607arrow-up-right)
  • If the join_condition is specified via USING (column_list), the query plan depends on the sequence of tables in the query (MDEV-36592arrow-up-right)

  • Add support for subquery optimizer hints (MDEV-34888arrow-up-right)

  • Add support for join order hints (MDEV-34870arrow-up-right)

    • JOIN_FIXED_ORDER similar to existing STRAIGHT_JOIN hint

    • JOIN_ORDER to apply the specified table order

    • JOIN_PREFIX to hint what tables should be first in the join

    • JOIN_SUFFIX to hint what tables should be last in the join

  • Add support for the hint (MDEV-34860arrow-up-right)

  • (MDEV-34158arrow-up-right)
  • (MDEV-34159arrow-up-right)

  • (MDEV-34160arrow-up-right)

  • (MDEV-34277arrow-up-right)

  • (MDEV-34276arrow-up-right)

  • (MDEV-34278arrow-up-right)

  • Ensure that creation and usage of temporary tables in replication is predictable (MDEV-36099arrow-up-right)

    • system variable.

    RC

    26 March 2025

    Preview

    7 Aug 2025

    MariaDB 12.0.2

    GA

    Release Notes

    Changelog

    Alternate download from mariadb.orgarrow-up-right
    rolling release
    MariaDB 11.8
    MDEV-14091arrow-up-right
    MDEV-20299arrow-up-right
    MDEV-36322arrow-up-right
    MDEV-20034arrow-up-right
    MDEV-36216arrow-up-right
    MDEV-22491arrow-up-right
    MDEV-36094arrow-up-right
    MDEV-34413arrow-up-right
    MDEV-32732arrow-up-right
    MDEV-35504arrow-up-right
    MDEV-34137arrow-up-right
    MDEV-34138arrow-up-right
    MDEV-34141arrow-up-right
    MDEV-10164arrow-up-right
    MDEV-27669arrow-up-right
    Galera
    MDEV-34822arrow-up-right
    MDEV-1282arrow-up-right
    MDEV-33834arrow-up-right
    MDEV-21375arrow-up-right
    MDEV-23818arrow-up-right
    MariaDB 10.5.0
    MariaDB 10.5.3
    MariaDB 5.5
    spinner

    5 Jun 2025

    MariaDB 12.0.1
    Release Notes
    Changelog
    MariaDB 12.0.0

    MariaDB 12.0.2 Release Notes

    MariaDB 12.0.2 is a Stable (GA) release of MariaDB Community Server 12.0, released on 2025-08-07

    Download Release Notes Changelog Overview of 12.0

    Alternate download from mariadb.orgarrow-up-right

    Release date: 7 Aug 2025

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

    MariaDB 12.0 is a rolling release. One is expected to upgrade to MariaDB 12.1.2, there will be no 12.0.3.

    Thanks, and enjoy MariaDB!

    circle-check

    For an overview of MariaDB 12.0 see the page.

    Thanks, and enjoy MariaDB!

    hashtag
    Notable Items

    hashtag
    Storage Engines

    hashtag
    InnoDB

    • After SET GLOBAL innodb_buffer_pool_size was aborted while attempting to shrink the buffer pool, executing SET GLOBAL innodb_adaptive_hash_index=ON could lead to corruption of the adaptive hash index. ()

    • Fatal InnoDB error: Unknown error Temp file write failure ()

    • When innodb_buffer_pool_size is being shrunk while there are no data pages cached, InnoDB could hang or crash. ()

    hashtag
    Aria

    • Assertion when adding FK to MyISAM/Aria table with a vector index ()

    hashtag
    Data Definition - Alter Table

    • Adding (with ALTER TABLE) a UNIQUE constraint that is USING HASH to a table with foreign keys could've caused the table to become corrupted. ()

    • DROP DEFAULT makes SHOW CREATE non-idempotent ()

    hashtag
    Partitioning

    • Server crashes in do_mark_index_columns instead of ER_DUP_ENTRY on partitioned table ()

    • A replica would crash while replicating UPDATE and DELETE DML statements that target a table which previously had a partition that was converted to a separate table via ALTER TABLE .. CONVERT PARTITION .. TO TABLE. For example, if the command looked like ALTER TABLE t1 CONVERT PARTITION p1 TO TABLE t_new; the replica would crash when trying to update/deleterows in table t1 after running the command. ()

    hashtag
    Data Definition - Create Table

    • CREATE OR REPLACE with self-referencing CHECK hangs forever, cannot be killed ()

    hashtag
    Server

    • Segfault on INTERSECT ALL with UNION in Oracle mode ()

    • In certain cases privileges on sequences were too restrictive, for example, SELECT on a table might've erroneously required INSERT privilege on a sequences ()

    hashtag
    mariabackup

    • This commit fixes a bug where Aria tables are used in (master->slave1->slave2) and a backup is taken on slave2. In this case it is possible that the replication position in the backup, stored in mysql.gtid_slave_pos, will be wrong. This will lead to replication errors if one is trying to use the backup as a new slave. ()

    • 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. ()

    hashtag
    Optimizer

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

    • Crash in add_keyuses_for_splitting() when joining with a derived table ()

    • Split Materialized code: last_refills is never set in 11.0+ ()

    hashtag
    JSON

    • Starting from 10.11.12, Incorrect handling of UTF-8 characters (and other character sets requiring more than a single byte representation) in the minimum/maximum positions of a table during the execution of ANALYZE TABLE tbl PERSISTENT FOR ALL resulted in an endless loop consuming more memory and prevented the server from terminating. ()

    hashtag
    Galera

    • updated to 26.4.23

    • galera_3nodes.inconsistency_shutdown test occasionally hangs ()

    • Galera-26.4.23 corrects an incompatibility with OpenZFS >= 2.3.0 enabling the use of galera on this filesystem.

    hashtag
    Replication

    • semi sync makes the master unresponsive when a replica is stopped ()

    • parallel slave ALTER-SEQUNCE attempted to binlog out-of-order ()

    • mysqldump --dump-slave always starts stopped slave ()

    hashtag
    Stored routines

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

    hashtag
    Authentication and Privilege System

    • ALTER TABLE require ALTER privilege on sequence from DEFAULT value expression ()

    hashtag
    Locking

    • Deadlock does not rollback transaction fully ()

    hashtag
    Data Manipulation - Insert

    • UNIQUE constraint that was USING HASH and UNIQUE constrant WITHOUT OVERLAPS could be violated under heavy load in READ COMMITTED transaction isolation mode. ()

    hashtag
    Character Sets

    • Changing the server character set in my.cnf could cause debian-start script to fail with "Illegal mix of collations" ().

    hashtag
    Plugin - AWS key management

    • aws_key_management compilation was previously broken, is now fixed. plugin can be compiled again. As before, -DNOT_FOR_DISTRIBUTION=ON is necessary to build it. ()

    hashtag
    Packaging

    • mariadb systemd mult-instance service was changed to not attempt changes to the permissions on its pam helper server. This prevented unconstructive behaviour and errors in the systemd journal when starting the mariadb@.service. ()

    hashtag
    Sequences

    • Remove the error codes added to 10.11 by the MDEV-36032 patch ()

    hashtag
    XA

    • DML committed within XA transaction block after deadlock error and implicit rollback ()

    hashtag
    General

    • Add option to not collect statistics for long char/varchars ()

    • Packages for RHEL8 no longer depend on liburing. The RHEL8 kernel had insufficient kernel support so linking was an unneeded dependency. libaio was sufficient ()

    • SLES 15 SP6 and SLES 15 SP7 are new packages in this release. Because of incompatibilities of packages between SLES service pack versions there are now separate packages for 15sp6 and 15sp7. An upgradeable repo file should include "sles/$releasever/$basearch" rather than the "sles15-amd64" or "sles/15/x86_64" path that may exist currently. (, )

    hashtag
    Changelog

    For a complete list of changes made in MariaDB 12.0.1, with links to detailed information on each push, see the .


    circle-info

    Be notified of new MariaDB Server releases automatically by 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 page.

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

    After a successful shrinking of innodb_buffer_pool_size, there will be no message about it in the server error log.
    • After a failed shrinking of innodb_buffer_pool_size, the adaptive hash index will not be re-enabled if innodb_adaptive_hash_index was ON when SET GLOBAL innodb_buffer_pool_size=... started to execute. ()

  • AUTO_INCREMENT leads to non-serializable on results ()

  • Vector index was corrupted if one statement was rolled back (e.g. insert violating a unique constraint) in the middle of a larger transaction. ()

  • The new parameter innodb_linux_aio controls which Linux implementation to use for innodb_use_native_aio=ON. ()

    • innodb_linux_aio=auto is equivalent to innodb_linux_aio=io_uring when it is available, and falling back to innodb_linux_aio=aio when not.

    • Previously, only one implementation (libaio or io_uring) was available. Currently, if io_uring is disabled in the environment, we will fall back to the older libaio interface.

  • Don't generate index_merge plans, if a column is present in both Secondary Key and Primary Key indexes and either of the indexes include it with DESC order (as the scan itself is not a ROR scan). ()
  • Incorrect handling of null values on join conditions. ()

  • Optimize Rows_log_event Reporting of Process Info ()
  • Seconds_Behind_Master Spike at Log Rotation on Parallel Replication ()

  • Fedora 42 is a new release version and x86_64 and aarch64 packages are available ()

  • Red Hat Enterprise Linux 10 packages are available for x86_64, aarch64, ppc64le, and s390x hardware platforms ()

  • Centos Stream 9 previously missed building a MariaDB-provider-lzo package and this has been corrected ()

  • This is the last release of the interim Ubuntu 24.10 which ended its standard support in July 2025 ()

  • Ubuntu 25.04 (Plucky Puffin) packages are available for amd64 and arm64 ()

  • Debian 13 (Trixie) packages are available for amd64, arm64, ppc64le and i386 ()

  • Changes and Improvements in MariaDB 12.0
    MDEV-36863arrow-up-right
    MDEV-36017arrow-up-right
    MDEV-37263arrow-up-right
    MDEV-37022arrow-up-right
    MDEV-36852arrow-up-right
    MDEV-29001arrow-up-right
    MDEV-36817arrow-up-right
    MDEV-36906arrow-up-right
    MDEV-29155arrow-up-right
    MDEV-25158arrow-up-right
    MDEV-36870arrow-up-right
    MDEV-36143arrow-up-right
    MDEV-36860arrow-up-right
    MDEV-24588arrow-up-right
    MDEV-30711arrow-up-right
    MDEV-36323arrow-up-right
    MDEV-36765arrow-up-right
    Galera
    MDEV-36968arrow-up-right
    MDEV-36934arrow-up-right
    MDEV-35570arrow-up-right
    MDEV-7611arrow-up-right
    MDEV-26115arrow-up-right
    MDEV-36280arrow-up-right
    MDEV-36959arrow-up-right
    MDEV-37199arrow-up-right
    MDEV-36815arrow-up-right
    MDEV-30831arrow-up-right
    MDEV-36738arrow-up-right
    MDEV-36856arrow-up-right
    MDEV-37141arrow-up-right
    MDEV-36536arrow-up-right
    MDBF-1042arrow-up-right
    MDBF-1067arrow-up-right
    MDEV-36945arrow-up-right
    changelog
    subscribingarrow-up-right
    spinner
    MDEV-36868arrow-up-right
    MDEV-36330arrow-up-right
    MDEV-37068arrow-up-right
    MDEV-36234arrow-up-right
    MDEV-36410arrow-up-right
    MDEV-37057arrow-up-right
    MDEV-36839arrow-up-right
    MDEV-36840arrow-up-right
    MDBF-1060arrow-up-right
    MDBF-995arrow-up-right
    MDBF-1038arrow-up-right
    MDBF-1090arrow-up-right
    MDBF-849arrow-up-right
    MDBF-848arrow-up-right
    Distributions which Include MariaDB

    MariaDB 12.0.1 Release Notes

    MariaDB 12.0.1 is a Release Candidate (RC) release of MariaDB Community Server 12.0, released on 2025-06-05

    circle-info

    The most recent release of MariaDB 12.0 is:

    hashtag
    MariaDB 12.0.2 Stable (GA) Download Now

    Release date: 5 Jun 2025

    triangle-exclamation

    Do not use non-stable (non-GA) releases in production!

    is a . It is an evolution of with several entirely new features.

    MariaDB 12.0.1 is a release.

    circle-check

    For an overview of MariaDB 12.0 see the page.

    Thanks, and enjoy MariaDB!

    hashtag
    Notable Items

    hashtag
    Security

    • Support for passphrase protected keys ()

    • New SET SESSION AUTHORIZATION ()

    • Implement SHA2 support for file_key_management.so plugin (TDE) ()

    hashtag
    Data types

    • Comparison ROW(stored_func(),1)=ROW(1,1) erroneously called stored_func() twice per row. It led to a performance degradation, as well as to a double execution of the possible stored function side effects. ()

    hashtag
    Stored Routines

    • Add support for the pre-defined weak SYS_REFCURSOR ()

    hashtag
    Server

    • TO_CHAR FM format not recognized in SQL_MODE=Oracle ()

    • Support mariadb-check and CHECK TABLE with SEQUENCE ()

    hashtag
    Optimizer

    • find_order_in_list mismatch when order item needs fixing() ()

    • If the join_condition is specified via USING (column_list), the query plan depends on the sequence of tables in the query ()

    • Add support for optimizer hints ()

    hashtag
    GIS

    New GIS functions. These functions improve compatibility with MySQL 8.

    • ()

    • ()

    • ()

    hashtag
    Trigger

    • Add support for TRIGGERS that fire on multiple events ()

    hashtag
    Replication

    • Server now displays if it was started with option ()

    hashtag
    Galera

    • Skip FK checks in Galera during applying in IST ()

    hashtag
    Audit Plugin

    • Log HOST:PORT of incoming connection instead of just the host ()

    • Add tls_version field for connection audit plugins ()

    hashtag
    Configuration

    • Get option group suffix from $MARIADB_GROUP_SUFFIX in addition to $MYSQL_GROUP_SUFFIX ()

    hashtag
    Clients and Scripts

    • Can set an alternative directory path for searching scripts invoked via the source command, with the --script-dir mariadb client option ()

    hashtag
    Changelog

    For a complete list of changes made in MariaDB 12.0.1, with links to detailed information on each push, see the .

    hashtag
    Contributors

    For a full list of contributors to MariaDB 12.0.1, see the .


    circle-info

    Be notified of new MariaDB Server releases automatically by 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 page.

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

    QB_NAME()
  • NO_RANGE_OPTIMIZATION()

  • NO_ICP()

  • MRR(), NO_MRR()

  • BKA(), NO_BKA()

  • BNL(), NO_BNL()

  • Add support for subquery optimizer hints (MDEV-34888arrow-up-right)

    • SEMIJOIN()

    • SUBQUERY()

  • Add support for join order hints (MDEV-34870arrow-up-right)

    • JOIN_FIXED_ORDER similar to existing STRAIGHT_JOIN hint

    • JOIN_ORDER to apply the specified table order

    • JOIN_PREFIX to hint what tables should be first in the join

    • JOIN_SUFFIX to hint what tables should be last in the join

  • Add support for the MAX_EXECUTION_TIME hint (MDEV-34860arrow-up-right)

  • (MDEV-34158arrow-up-right)
  • (MDEV-34159arrow-up-right)

  • (MDEV-34160arrow-up-right)

  • (MDEV-34277arrow-up-right)

  • (MDEV-34276arrow-up-right)

  • (MDEV-34278arrow-up-right)

  • Alternate download from mariadb.orgarrow-up-right
    Download
    Release Notes
    Changelog
    Overview of 12.0
    Alternate download from mariadb.orgarrow-up-right
    MariaDB 12.0
    rolling release
    MariaDB 11.8
    Release Candidate (RC)
    Changes and Improvements in MariaDB 12.0
    MDEV-14091arrow-up-right
    MDEV-20299arrow-up-right
    MDEV-34712arrow-up-right
    MDEV-36322arrow-up-right
    MDEV-20034arrow-up-right
    MDEV-36216arrow-up-right
    MDEV-22491arrow-up-right
    MDEV-36607arrow-up-right
    MDEV-36592arrow-up-right
    MDEV-35504arrow-up-right
    MDEV-34137arrow-up-right
    MDEV-34138arrow-up-right
    MDEV-34141arrow-up-right
    MDEV-10164arrow-up-right
    MDEV-27669arrow-up-right
    MDEV-34822arrow-up-right
    MDEV-1282arrow-up-right
    MDEV-33834arrow-up-right
    MDEV-21375arrow-up-right
    MDEV-23818arrow-up-right
    changelogarrow-up-right
    MariaDB Foundation release announcementarrow-up-right
    subscribingarrow-up-right
    spinner
    Distributions which Include MariaDB
    ssl_passphrase system
    SET SESSION AUTHORIZATION
    ROW
    max_open_cursors
    cursors
    TO_CHAR
    mariadb-check
    CHECK TABLE
    SEQUENCE tables
    Rowid Filtering
    Index Condition Pushdown
    optimizer hints
    QB_NAME
    NO_RANGE_OPTIMIZATION
    GIS
    ST_Validate
    MBRCoveredBy
    ST_Simplify
    skip-slave-start
    show_slave_auth_info
    SHOW REPLICA HOSTS
    replicate_same_server_id
    Audit Plugin
    --script-dir
    System Variables Added in MariaDB 12.0
    big_tables
    large_page_size
    storage_engine
    NO_ICP
    MRR, NO_MRR
    BKA, NO_BKA
    BNL, NO_BNL
    SEMIJOIN
    SUBQUERY
    MAX_EXECUTION_TIME
    ST_GeoHash
    ST_LatFromGeoHash
    ST_LongFromGeoHash
    ST_PointFromGeoHash
    ST_IsValid
    ST_Collect
    create_tmp_table_binlog_formats
    analyze_max_length
    ST_Validate
    MBRCoveredBy
    ST_Simplify
    skip-slave-start
    ST_GeoHash
    ST_LatFromGeoHash
    ST_LongFromGeoHash
    ST_PointFromGeoHash
    ST_IsValid
    ST_Collect