For the complete documentation index, see llms.txt. This page is also available as Markdown.

MariaDB 12.3.1 Changelog

MariaDB 12.3.1 is a Release Candidate (RC) release of MariaDB Community Server 12.3, released on 2026-02-12

The most recent release of MariaDB Community Server 12.3 is: 12.3.2 Stable (GA)

Download Community Server 12.3.2

Alternate download from mariadb.org

Download Release Notes Changelog Overview of 12.3

Release date: 12 Feb 2026

For the highlights of this release, see the release notes.

The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.

  • Changes from the MariaDB 12.3 Preview are also included in this changelog

  • Includes all fixes from MariaDB 12.2.2

  • Revision #21a0714a11 2026-02-09 23:56:35 +0100

    • MDEV-38359 disable slow log tests in --cursor until MDEV-38612

  • Revision #311ec6bbc0 2025-10-30 20:24:17 +0200

    • MDEV-19683 Add support for Oracle TO_DATE()

  • Revision #8a7ae1c8dc 2026-01-31 00:34:53 +0200

    • Disable flag -Wno-format-truncate in BUILD scripts

  • Revision #782b103925 2026-01-13 19:47:07 +0200

    • Add detection of partial matches for strnncoll

  • Revision #bd74c8cf7c 2025-11-05 16:50:48 +0400

    • MDEV-37261 Basic XML data type.

  • Revision #f5460983d3 2026-02-06 11:22:33 -0700

    • MDEV-38726 Assertion table->default_field != dfield_ptr failed in bool parse_vcol_defs(THD *, MEM_ROOT *, TABLE *, bool *, vcol_init_mode)

  • Revision #32980c6b94 2026-01-22 16:33:24 +0400

    • MDEV-38359 Assertion !thd->free_list failed in bool MYSQL_QUERY_LOG::write(THD *, time_t, const char *, size_t, ulonglong, ulonglong, bool, const char *, size_t)

  • Revision #6e9f727758 2026-01-22 16:13:33 +0400

    • MDEV-38597 Server crashes with a subselect in parameter

  • Revision #6c69a43391 2026-01-19 13:02:34 +0400

    • MDEV-38370 SIGSEGV in sp_instr_set_ps_placeholder::get_expr_query | sp_lex_instr::get_query, UBSAN member access within null pointer of type const sp_assignment_lex

  • Revision #edb2e5467a 2025-09-03 13:56:17 +0400

    • MDEV-33830 Support for cursors on prepared statements

  • Revision #607d72577a 2025-12-04 13:31:47 +0400

    • MDEV-38249 Refactoring: Change Item_save_in_value() not to return SQL NULL

  • Revision #e352b11a3c 2026-02-05 12:26:01 +0100

    • MDEV-36787 Error 153: No savepoint with that name upon ROLLBACK TO SAVEPOINT, assertion failure

  • Merge Revision #4456eb1a5e 2026-02-07 22:10:39 +0100 - Merge branch '12.2' into 12.3

  • Revision #a865a7c23b 2026-02-05 16:20:31 +0100

    • MDEV-38744 remove galera dependency from server packages

  • Revision #524399f828 2026-02-05 16:21:06 +0100

    • bump the VERSION

  • Revision #cf7a5a16f7 2026-02-06 14:14:39 +0100

    • update rpm/deb cnf files to 12.3

  • Revision #f83d196a04 2026-02-07 16:27:28 +0100

    • compiler warning: unused variable

  • Revision #4c04c656e6 2026-02-07 18:15:43 +0100

    • MDEV-38613 set_var_collation_client::update() Segfault in Buildbot amd64-msan-clang-20

  • Revision #0cc1eb46ea 2026-01-28 21:33:25 -0700

    • MDEV-37530 fixes

  • Revision #4c18d337e5 2025-12-01 19:11:49 -0700

    • MDEV-28302 configurable defaults for CHANGE MASTER

  • Revision #89bd6b0033 2025-11-30 18:36:45 -0700

    • MDEV-37530 Refactor Master & Relay Log info to iterable tuples

  • Revision #8857312503 2025-10-09 16:00:54 +0200

    • fix printing of per-partition engine options

  • Revision #e054d8b874 2025-10-07 21:57:05 +0200

    • MDEV-37815 connect_string in partitioning is broken

  • Revision #79ad188d46 2025-10-05 23:49:57 +0200

    • MDEV-37815 table engine attributes in partitioning is broken

  • Revision #74baec1b8a 2025-10-05 14:11:29 +0200

    • cleanup: partition_element_iterator

  • Revision #e35039e77a 2025-10-02 14:26:12 +0200

    • cleanup: remove HTON_CAN_READ_CONNECT_STRING_IN_PARTITION

  • Revision #e979c098ed 2025-10-06 18:33:50 +0200

    • MDEV-37815 field and index engine attributes in partitioning are broken

  • Revision #cfe822c667 2025-10-01 17:58:15 +0200

    • parsing of table/index/field attributes: auto-alias all boolean values

  • Revision #de68699e56 2026-01-11 22:58:35 +0100

    • MDEV-38523 Freeing unallocated data THD::set_db when path-resolved routine in trigger

  • Revision #be67aff19b 2026-01-15 21:38:31 +0100

    • Don't implicitly search in CURRENT_SCHEMA

  • Revision #13c5cab5cf 2026-01-09 20:55:58 +0100

    • change Sql_path::from_text() to take a String, not LEX_CSTRING

  • Revision #875c128751 2025-12-02 10:47:23 +0100

    • more tests for duplicate values in path

  • Revision #df23b05a9a 2025-12-01 21:33:48 +0100

    • reserve PATH_SYM in the same way as NAMES_SYM

  • Revision #8b1ccf6e82 2025-12-01 10:11:39 +0100

    • fix name resolution of name1.name2()

  • Revision #fcffb8e51d 2025-11-30 08:21:33 +0100

    • disallow SET PATH DEFAULT in stored routines and triggers

  • Revision #6979824a1c 2025-11-30 08:02:56 +0100

    • clarify the test for triggers with different paths

  • Revision #22591551fb 2025-11-29 19:08:45 +0100

    • fix --path to work

  • Revision #3b14490e58 2025-11-28 21:51:02 +0100

    • bug: current_schema is not current_schema

  • Revision #69f401bdb6 2025-11-27 00:29:35 +0100

    • allocate Sql_path in one memory chunk, not one per schema

  • Revision #7325f948e8 2025-12-23 19:43:34 +0100

    • old view doesn't store the path, need the same fallback as for triggers

  • Revision #5b0818ee63 2026-02-03 21:38:14 +0100

    • cleanup

  • Revision #1fa182723d 2025-09-24 19:53:58 +0200

    • do NOT prefer itself in seemingly recursive calls, follow the path

  • Revision #7772bf07d8 2025-11-21 23:34:13 +0100

    • remove LEX::make_sp_name_sql_path()

  • Revision #85b713b2a3 2025-11-21 22:46:04 +0100

    • free Sql_path in the destructor, perform cleanup in cleanup()

  • Revision #afc8a33496 2025-11-21 14:29:01 +0100

    • mysql.proc.path DEFAULT CURRENT_SCHEMA NOT NULL

  • Revision #823e625233 2025-11-21 13:52:08 +0100

    • disallow SET PATH in sf or trg while parsing

  • Revision #35a1defeda 2025-11-21 13:03:33 +0100

    • consistency in error message naming

  • Revision #a1c1dba498 2025-11-21 12:34:56 +0100

    • use standard SET PATH syntax in tests

  • Revision #96b8f636a9 2025-11-15 11:44:50 +0100

    • relax assert to account for recursive RETURNS TEXT functions

  • Revision #6e086ce2a3 2025-11-14 13:04:55 +0100

    • remove Sql_path_stack and Sql_path_push

  • Revision #11210a2c05 2025-09-25 21:40:08 +0200

    • PATH is not a chistic, it's like sql_mode, remembered implicitly per routine

  • Revision #d1fd168d9c 2026-02-03 19:01:29 +0100

    • remove unused arguments

  • Revision #8260be6408 2025-11-14 23:30:39 +0100

    • don't backtick-quote CURRENT_SCHEMA

  • Revision #f1ce18d3eb 2025-09-21 22:40:14 +0200

    • fix error message for assoc arrays

  • Revision #0cac216e4f 2025-09-21 22:06:24 +0200

    • merge ErrConvMDQName into ErrConvDQName

  • Revision #9fbd5ce3c5 2025-09-21 12:49:33 +0200

    • improve test readability

  • Revision #ca78df2492 2025-09-20 14:24:30 +0200

    • add new column mysql.proc.path at the end of the table

  • Revision #19fd3c79b0 2024-09-25 08:22:05 +0800

    • MDEV-34391 SET PATH statement

  • Revision #75b2aadb9e 2025-10-15 19:22:18 +0200

    • cleanup: remove #ifdef MYSQL_VERSION_ID

  • Revision #4bfbdbc682 2026-01-09 22:58:52 +0100

    • ubsan error, memcpy(dst, NULL, 0)

  • Revision #b307f50dd3 2026-02-06 14:43:48 +0100

    • sporadic failure in galera.MDEV-35511

  • Revision #b01a279f04 2026-02-05 18:04:12 +0100

    • MDEV-32570 fix binglog offset in the test

  • Revision #564d9e0d6e 2026-02-05 18:13:51 +0100

    • make the test clearer

  • Revision #4a5b813344 2026-02-05 21:25:26 +0100

    • MDEV-38019 fix galera.galera_bf_abort_get_lock

  • Revision #651820403f 2026-02-05 19:35:40 +0530

    • Fix grammar in README

  • Revision #bd1e74aa0b 2026-02-05 11:55:12 +1100

    • MDEV-9826 More hash algorithms for PARTITION BY [LINEAR] KEY

  • Revision #fa36b269f1 2026-02-02 11:55:19 -0700

    • MDEV-38716: Server crashes in TABLE::evaluate_update_default_function

  • Revision #356b225f59 2026-02-04 17:42:52 +0200

    • Tried to fix randomly failing test tmp_space_usage

  • Revision #55d4028c8e 2026-02-04 16:23:33 +0200

    • Fixed failure in buildbot for events_stress

  • Revision #5d26d515fc 2026-02-04 14:41:59 +0200

    • MDEV-38683 SIGSEGV (dbg), SIGABRT or ER_EMPTY_QUERY when using ROWS EXAMINED with log_output=TABLE

  • Revision #92a49263e1 2026-02-03 15:59:47 -0700

    • MDEV-36290: Mask non-deterministic test output

  • Revision #6ef289416e 2026-02-02 15:09:57 -0700

    • MDEV-36290: Update binlog_row_event_fragment_threshold type to uint

  • Revision #3c5f7d0141 2026-02-02 14:57:31 -0700

    • MDEV-38435: Re-record engines/funcs tests

  • Revision #325dd5e6a3 2026-02-03 11:09:56 +1100

    • MDEV-38694 Spider: do not override disabling pre-calls when select_lex has aggregate functions

  • Revision #c52c158d32 2026-01-13 15:59:44 +1100

    • MDEV-38522 Reset m_pi_scan_method in ha_partition::reset

  • Revision #496aecf925 2025-11-21 14:49:39 +1100

    • MDEV-37330 Allow unordered index scan for tables partitioned by range when a priority queue is not needed

  • Revision #a9f384b7c5 2025-11-21 11:28:46 +1100

    • MDEV-37330 Indicate in ANALYZE FORMAT=JSON index scan method used for partitioned tables

  • Revision #549628d9cc 2025-12-09 02:40:52 +1200

    • MDEV-38272 Sig11 in LEX::resolve_references_to_cte at sql/sql_cte.cc

  • Revision #d3ec1eb08c 2025-12-06 07:03:22 +1200

    • MDEV-38258 No error thrown when CTE columns updated in updates set clause

  • Revision #d1505c6541 2025-10-01 22:05:50 +0300

    • MDEV-37072: Implement IS JSON predicate

  • Revision #55481e0f6a 2026-01-29 22:06:35 +0530

    • MDEV-16335 Include deadlock information in SHOW WARNINGS

  • Revision #fb41baad6c 2026-01-29 12:51:07 +0100

    • Binlog-in-engine: Disable test binlog_in_engine.rpl_gtid_index for Valgrind

  • Revision #02766c3cd5 2026-01-29 12:50:53 +0100

    • Binlog-in-engine: Fix sporadic test failure of binlog_in_engine.purge_locking

  • Revision #3341bc1f8b 2026-01-29 12:50:34 +0100

    • Binlog-in-engine: Fix uninitialized function parameters

  • Revision #5bcc115d77 2025-09-04 11:25:22 +0300

    • MDEV-36055 Allow left join reordering

  • Revision #d17f4f8632 2026-01-13 10:50:55 -0700

    • MDEV-38435: Update test results

  • Revision #56c8bdfd77 2025-12-27 14:13:49 +0200

    • MDEV-38435 Add Gtid_binlog_pos to SHOW MASTER STATUS

  • Revision #cbbb3e51d2 2026-01-23 12:55:58 -0700

    • MDEV-38641: Failure of Replication of System Versioning Tables

  • Revision #de15b1160d 2025-12-17 13:45:25 -0700

    • MDEV-38117: Replication stops with ERROR when Primary Key is not defined in Multi Master

  • Revision #337dd07a98 2026-01-27 10:35:34 -0700

    • MDEV-36290: Fix optional_metadata_len type mismatch

  • Revision #805978df6b 2025-11-12 01:55:58 +0200

    • MDEV-37674: Replace std::string with LEX_CSTRING in Optional_metadata_fields

  • Revision #be237b3b0e 2025-05-10 14:07:28 +0300

    • MDEV-36290: Improved support of replication between tables of different structure

  • Revision #fb5ee4cc27 2025-12-15 18:48:38 +0100

    • MDEV-32570 update tests

  • Revision #2e7fea8535 2026-01-27 12:53:24 -0700

    • MDEV-32570: Update perf_schema PFS_MAX_STAGE_CLASS

  • Revision #bb814dc0dc 2025-05-15 13:31:25 -0600

    • MDEV-32570 (test): Add tests

  • Revision #5fda8988a6 2025-05-15 13:29:25 -0600

    • MDEV-32570 (client): Fragment ROW replication events larger than slave_max_allowed_packet

  • Revision #1eff7ddd81 2025-05-15 13:24:06 -0600

    • MDEV-32570 (server): Fragment ROW replication events larger than slave_max_allowed_packet

  • Revision #8de56b4f25 2025-05-15 10:48:35 -0600

    • MDEV-32570 Prep: Split Rows_log_event::write_data_body()

  • Revision #3693449920 2025-05-15 10:19:14 -0600

    • MDEV-32570 Prep: Split read_log_event into non-checksum version

  • Revision #c580d17f29 2025-05-15 10:07:18 -0600

    • MDEV-32570 Prep: Refactor functions to handle >32-bit lengths

  • Revision #346c7afe9b 2025-08-25 21:27:55 -0700

    • Promote getting GitHub stars in server log and client prompt

  • Revision #7ea9e14ed2 2026-01-25 22:13:14 +0100

    • Fix bad merge that broke Galera

  • Revision #634341ef8e 2026-01-24 17:20:56 +0200

    • MDEV-37785 Assertion !mysql_bin_log.is_open() failed in ... ALTER TABLE

  • Revision #e680c21ce5 2026-01-24 17:13:52 +0200

    • Fixed compilation failures in InnoDB with gcc 7.5.0

  • Revision #8cb64d1c90 2026-01-22 20:04:14 +0530

    • MDEV-38631 Remove unused FTS debug directives and dead code

  • Revision #22c8a7b865 2026-01-18 20:23:42 +0100

    • Make the warning message during mariadb-backup SST more useful

  • Revision #68042221e6 2026-01-05 14:27:06 +0100

    • MDEV-38465: Savepoint in trigger causes transactional inconsistency

  • Revision #7081f2a58e 2024-02-25 17:41:50 +0100

    • Binlog-in-engine: New binlog implementation integrated in InnoDB

  • Revision #d228f237f2 2025-11-09 12:22:31 +0100

    • Fix that InnoDB rolls back entire trx in failed CREATE TEMPORARY

  • Revision #71bf8695bb 2025-12-26 23:41:50 +0100

    • MDEV-38429: Atomic DDL can binlog DDL during ddl log crash recovery without "ddl" mark on the GTID

  • Revision #b9d60bf486 2025-12-26 23:33:52 +0100

    • MDEV-38429: Atomic DDL can binlog DDL during ddl log crash recovery without "ddl" mark on the GTID

  • Revision #4528b8a585 2026-01-22 17:32:48 +0530

    • MDEV-38629 Deprecate innodb_ft_enable_diag_print variable

  • Revision #ce6be40b79 2026-01-19 16:13:34 +0100

    • MDEV-37997 vcpkg's FIND_PACKAGE throws error for zlib dependent packages

  • Revision #1e07daa401 2026-01-19 10:32:29 +0200

    • MDEV-38546: Automatically label incoming pull requests

  • Revision #f100bf3ec8 2026-01-19 12:44:06 +0100

    • MDEV-36737 postfix - fix compilation and packaging on Windows

  • Revision #ab82a78234 2026-01-16 10:52:14 +0200

    • MDEV-38546 stage2: Automatically label new unlabeled pull requests with foundation/corporation/external contribution

  • Revision #d553df5c15 2026-01-13 11:42:38 +0200

    • MDEV-38499: cmake and compile warnings on MacOSX when compiling mariadb from a git tree

  • Revision #6641ba618e 2026-01-15 14:32:01 +0200

    • MDEV-38546: Automatically label new unlabeled pull requests with foundation/corporation/external contribution

  • Revision #6fcd279f5d 2026-01-15 13:49:45 +0200

    • [PATCH] MDEV-38546: Automatically label new unlabeled pull requests with foundation/corporation/external contribution

  • Revision #0513a4a974 2025-11-04 22:29:47 +0200

    • MDEV-38019 Send ok packet to client earlier

  • Merge Revision #366de0ae3b 2026-01-08 21:40:52 +0100 - Merge branch '12.2' into 12.3

  • Revision #6efa1cf2c5 2025-12-17 15:32:53 +0200

    • MDEV-38363 Remove pull_request_template.md

  • Revision #e19be4919f 2025-12-26 18:07:52 +0530

    • MDEV-38312: Server crashes when setting innodb_default_encryption_key_id after enabling hashicorp and test_sql_service plugins

  • Revision #5ed3668890 2025-12-13 21:38:43 -0800

    • Deb: Format files with debputy reformat --style black

  • Revision #068a095750 2025-09-02 12:32:29 -0700

    • MDEV-36737: Research and Estimation for Adapting VIDEX to MariaDB

  • Revision #4a01157492 2025-12-18 17:13:27 +0200

    • Fixed mtr test that fails with valgrind build and max_session_mem_used

  • Revision #84fa008d25 2025-12-19 18:19:41 +0200

    • MDEV-38254 replicated temporary tables must not be accessed by start_new_trans

  • Revision #7f3145e068 2025-11-27 19:45:16 +0200

    • MDEV-38212 MDEV-37686 Breaks Parallel Replication

  • Revision #8782227eb1 2025-12-04 19:26:40 +0200

    • Revert "MDEV-37686 rpl.create_or_replace_mix2 fails in MDEV-35915 branch"

  • Revision #3a08a8e3d2 2025-12-16 19:46:33 -0800

    • Display the exact amount of data updated by mariadb-secure-installation

  • Revision #69ee922c1c 2025-06-04 14:46:31 +0300

    • Improve output from mariadb-secure-installation to be more honest

  • Revision #d936d36d4f 2025-10-24 11:28:03 +0530

    • MDEV-30847: HashiCorp Plugin: Provide cache flush for key rotation

  • Revision #5879c85f50 2024-03-10 16:56:13 +0000

    • Fix misc spelling in MariaDB Server repository

  • Revision #e85bc65918 2025-10-28 14:43:33 +1200

    • MDEV-37220 Allow UPDATE/DELETE to read from a CTE

  • Revision #797f50d107 2025-09-26 13:52:35 +0300

    • Removed not used members in class POSITION

  • Revision #1e8dddbdbb 2025-10-06 15:11:00 +0300

    • Fixed failing mysqldump test when there is no internet connection

  • Revision #f4318f3f3b 2025-11-18 17:39:34 +0530

    • MDEV-38120: Move Json_string and Json_saved_parser_state into sql_json_lib.h

  • Revision #809e6f4195 2025-11-22 22:08:38 +0100

    • 12.3 branch

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

spinner

Last updated

Was this helpful?