Wiki - https://fedoraproject.org/wiki/Changes/MariaDB_12.3
Discussion Thread -
https://discussion.fedoraproject.org/t/f45-change-proposal-mariadb-12-3-self-contained/196621

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.

== Summary ==
MariaDB packages in Fedora use a versioned layout (e.g.
<code>mariadb11.8</code>, <code>mariadb12.3</code>), 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. <code>mariadb-server</code>,
<code>mariadb-devel</code>). This change switches the distribution
default from MariaDB 11.8 to MariaDB 12.3 in Fedora 45.

== Owner ==
* Name: [[User:mschorm|Michal Schorm]]
* Email: [email protected]


== Detailed Description ==
A macro in the MariaDB SPECfiles controls which version provides the
unversioned names. Flipping this macro in both
<code>mariadb11.8</code> and <code>mariadb12.3</code> SPECfiles
simultaneously switches the distribution default. Two "distribution
default" packages cannot coexist due to file-level
<code>Conflicts</code>, 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.

== Feedback ==
&nbsp;

== 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.

== Scope ==
* Proposal owners:
** Switch the macro in both <code>mariadb11.8</code> and
<code>mariadb12.3</code> SPECfiles
** Audit all packages that depend on <code>mariadb-devel</code>,
<code>libmariadb-devel</code>, or <code>mariadb-server</code> 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

== 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:
# Back up all databases before upgrading
# Run <code>dnf update</code>
# Run <code>mariadb-upgrade</code> after starting the new server

https://mariadb.com/docs/server/server-management/install-and-upgrade-mariadb/upgrading/mariadb-community-server-upgrade-paths/upgrading-from-mariadb-11-8-to-mariadb-12-3

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


'''Note:''' <code>innodb_snapshot_isolation</code> 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 
https://mariadb.com/docs/release-notes/community-server/12.3/mariadb-12.3-changes-and-improvements

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

'''Note:''' When upgrading a replica to 12.3, the
<code>master_use_gtid</code> setting
is reset to DEFAULT ([https://jira.mariadb.org/browse/MDEV-39788
MDEV-39788]). Re-apply it after upgrading.

== How To Test ==
'''Fresh install:'''
* <code>dnf install mariadb-server</code> → installs
<code>mariadb12.3-server</code>
* <code>dnf install mariadb11.8-server</code> → installs
<code>mariadb11.8-server</code>
* <code>dnf install mariadb12.3-server</code> → installs
<code>mariadb12.3-server</code>
* Verify the server starts, accepts connections, and runs basic queries

'''Upgrade scenario:'''
* Running <code>dnf update</code> from a Fedora 44 installation with
MariaDB 11.8 results in <code>mariadb12.3-server</code>
* After upgrade, run <code>mariadb-upgrade</code> and verify data integrity

'''Staying on 11.8 (manual steps):'''
# Disable the service: <code>systemctl disable --now mariadb</code>
# Run <code>dnf update</code> (installs 12.3)
# Swap back: <code>dnf swap mariadb-server mariadb11.8-server
--allowerasing</code>
# Restore service: <code>systemctl enable --now mariadb</code>

'''Conflict test:'''
* Installing both <code>mariadb11.8-server</code> and
<code>mariadb12.3-server</code> must fail gracefully with a conflict
message about <code>mariadb-server-any</code>

== User Experience ==
Users get access to MariaDB 12.3's features and enhancements. The
installation and management experience remains identical.

== Dependencies ==
Only a single package in Fedora and RPMFusion needs rebuild:

<code>amarok</code> -
[https://src.fedoraproject.org/rpms/amarok/blob/rawhide/f/amarok.spec#_99
BuildRequires: mariadb-embedded-devel]

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

== 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'''

== Documentation ==
* MariaDB 12.3 Changes & Improvements:
https://mariadb.com/docs/release-notes/community-server/12.3/mariadb-12.3-changes-and-improvements

* MariaDB 12.3 Release Announcement:
https://mariadb.org/mariadb-server-12-3-lts-released/

* Upgrading from 11.8 to 12.3:
https://mariadb.com/docs/server/server-management/install-and-upgrade-mariadb/upgrading/mariadb-community-server-upgrade-paths/upgrading-from-mariadb-11-8-to-mariadb-12-3

== 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:
https://mariadb.com/docs/release-notes/community-server/12.3/mariadb-12.3-changes-and-improvements


-- 
Aoife Moloney

Fedora Operations Architect

Fedora Project

Matrix: @amoloney:fedora.im

IRC: amoloney

-- 
_______________________________________________
devel-announce mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://forge.fedoraproject.org/infra/tickets/issues/new
-- 
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://forge.fedoraproject.org/infra/tickets/issues/new

Reply via email to