F45 Change Proposal: MariaDB 12.3 (self-contained)

Switch distribution default version of MariaDB from 11.8 to 12.3

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Wiki
Announced

:link: Summary

MariaDB packages in Fedora use a versioned layout (e.g. mariadb11.8, mariadb12.3), where each version provides versioned sub-packages. One version at a time is designated the “distribution default” and additionally provides unversioned package names (e.g. mariadb-server, mariadb-devel). This change switches the distribution default from MariaDB 11.8 to MariaDB 12.3 in Fedora 45.

:link: Owner

:link: Detailed Description

A macro in the MariaDB SPECfiles controls which version provides the unversioned names. Flipping this macro in both mariadb11.8 and mariadb12.3 SPECfiles simultaneously switches the distribution default. Two “distribution default” packages cannot coexist due to file-level Conflicts, so the change must be coordinated.

Comparable switches were done for MySQL in Fedora 43 (8.0 → 8.4) and for MariaDB in Fedora 44 (10.11 → 11.8), both without issues.

:link: Feedback

:link: Benefit to Fedora

MariaDB 12.3 is the latest LTS version of MariaDB, released on May 29, 2026. It is maintained until June 2029. The previous default, MariaDB 11.8, reaches community end-of-life in June 2028 — before Fedora 45 itself reaches end-of-life.

Switching to MariaDB 12.3 ensures that Fedora ships a version with full upstream support throughout its lifecycle.

:link: Scope

  • Proposal owners:

    • Switch the macro in both mariadb11.8 and mariadb12.3 SPECfiles
    • Audit all packages that depend on mariadb-devel, libmariadb-devel, or mariadb-server and verify they build and work correctly against MariaDB 12.3
    • File bugs and/or PRs for any packages that need fixes
  • Other developers:

    • Cooperate on fixes if their package needs adjustment for MariaDB 12.3 compatibility
  • Release engineering: N/A (not a System Wide Change)

  • Policies and guidelines: N/A

  • Trademark approval: N/A

  • Alignment with the Fedora Strategy: Fedora leads in the Linux distribution development

:link: Upgrade/compatibility impact

Users upgrading from Fedora 44 (which has MariaDB 11.8 as default) to Fedora 45 will have their MariaDB installation upgraded to 12.3.

Database administrators should follow the standard MariaDB major version upgrade procedure:

  1. Back up all databases before upgrading
  2. Run dnf update
  3. Run mariadb-upgrade after starting the new server

MariaDB 11.8 remains available in Fedora 45 as mariadb11.8-server for users who need more time to migrate.

Note: innodb_snapshot_isolation now defaults to ON in MariaDB 12.3, which changes the semantics of REPEATABLE READ transactions. Applications that depend on the previous behavior should test before upgrading. See MariaDB 12.3 Changes & Improvements | Release Notes | MariaDB Documentation

Note: MariaDB 12.3 adds reserved words CONVERSION, ST_COLLECT, and TO_DATE. SQL using these as unquoted identifiers will need quoting.

Note: When upgrading a replica to 12.3, the master_use_gtid setting is reset to DEFAULT (MDEV-39788). Re-apply it after upgrading.

:link: How To Test

Fresh install:

  • dnf install mariadb-server → installs mariadb12.3-server
  • dnf install mariadb11.8-server → installs mariadb11.8-server
  • dnf install mariadb12.3-server → installs mariadb12.3-server
  • Verify the server starts, accepts connections, and runs basic queries

Upgrade scenario:

  • Running dnf update from a Fedora 44 installation with MariaDB 11.8 results in mariadb12.3-server
  • After upgrade, run mariadb-upgrade and verify data integrity

Staying on 11.8 (manual steps):

  1. Disable the service: systemctl disable --now mariadb
  2. Run dnf update (installs 12.3)
  3. Swap back: dnf swap mariadb-server mariadb11.8-server --allowerasing
  4. Restore service: systemctl enable --now mariadb

Conflict test:

  • Installing both mariadb11.8-server and mariadb12.3-server must fail gracefully with a conflict message about mariadb-server-any

:link: User Experience

Users get access to MariaDB 12.3’s features and enhancements. The installation and management experience remains identical.

:link: Dependencies

Only a single package in Fedora and RPMFusion needs rebuild:

amarok - BuildRequires: mariadb-embedded-devel

All other packages depending on MariaDB are built against the client library provided by the mariadb-connector-c package.

:link: Contingency Plan

  • Contingency mechanism: revert the macro change in both SPECfiles to restore MariaDB 11.8 as the default
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? No

:link: Documentation

:link: Release Notes

MariaDB 12.3 is the latest long-term support release, maintained until June 2029. It consolidates all features from the rolling releases 12.0, 12.1, and 12.2 on top of the previous LTS (11.8).

Major changes since MariaDB 11.8: MariaDB 12.3 Changes & Improvements | Release Notes | MariaDB Documentation

Last edited by @amoloney 2026-07-13T16:33:21Z

Last edited by @amoloney 2026-07-13T16:33:21Z

How do you feel about the proposal as written?

  • Strongly in favor
  • In favor, with reservations
  • Neutral
  • Opposed, but could be convinced
  • Strongly opposed
0 voters

If you are in favor but have reservations, or are opposed but something could change your mind, please explain in a reply.

We want everyone to be heard, but many posts repeating the same thing actually makes that harder. If you have something new to say, please say it. If, instead, you find someone has already covered what you’d like to express, please simply give that post a :heart: instead of reiterating. You can even do this by email, by replying with the heart emoji or just “+1”. This will make long topics easier to follow.

Please note that this is an advisory “straw poll” meant to gauge sentiment. It isn’t a vote or a scientific survey. See About the Change Proposals category for more about the Change Process and moderation policy.

This change proposal has now been submitted to FESCo with ticket [#3653](Making sure you're not a bot!) for voting.

To find out more, please visit our [Changes Policy](Making sure you're not a bot!) documentation.

Unless I’m mistaken, Fedora 45 will reach end-of-life late in 2027, well before June 2028.

But I still support this change! :slight_smile:

You’re right!

Fedora 45 EOL is expected around the end of 2027 calendar year.
Re-verified, fixed.

Thanks for the heads-up :slight_smile: