Skip to content
Search Fedora

    Browse this documentation

    Fedora version matrix: F44 versus F45, measured

    A version matrix is usually written by copying the release notes. This one does the opposite: run rpm -q on the same lab machines and put the readings side by side. Every number below comes from real F43, F44 and F45 output.

    Three major version jumps and two behaviour breaks from F43 to F45: repository location moves from /etc to /usr, and unsigned packages go from installable to refused

    Same host, same commands, one run per virtual machine (F43 from a Server DVD automated install; F44 and F45 from existing lab machines):

    Terminal window
    uname -r
    for p in systemd glibc python3 openssl dnf5 rpm podman kmscon; do
    printf "%-10s " "$p"; rpm -q --qf '%{VERSION}-%{RELEASE}\n' "$p" 2>/dev/null || echo "-"
    done
    ComponentFedora 43Fedora 44Fedora 45
    kernel6.17.1-300.fc436.19.10-300.fc447.2.0-61.fc45
    systemd258259.5261.2
    glibc2.422.432.44
    python33.14.03.14.33.15.0~rc1
    openssl3.5.13.5.54.0.1
    dnf55.2.17.05.4.1.05.4.6.0
    rpm6.0.06.0.16.1.0
    podmannot installed5.8.16.1.0
    kmsconnot installednot installed10.0.3
    repository config/etc (4 files)/etc (4)/usr (4)

    Three major jumps are worth remembering separately: kernel 6 → 7, OpenSSL 3 → 4, Podman 5 → 6. What they share is that post-upgrade failures tend to come from ABI and default behaviour, not from configuration.

    The last row is not a version but a location: F43 and F44 both keep repository configuration in /etc/yum.repos.d; only F45 moved it to /usr/share/dnf5/repos.d. Three machines make that unambiguous, faster than any release note.

    Measured on F45: cat /etc/fedora-release reports Fedora release 45 (Forty Five); rpm -q gives systemd 261.2, glibc 2.44, openssl 4.0.1, dnf5 5.4.6.0 and rpm 6.1.0

    2. Behaviour matrix (not version numbers — what actually happens)

    Section titled “2. Behaviour matrix (not version numbers — what actually happens)”

    Version numbers are only a hint; behaviour is what trips people. All three below were verified on the lab machines; details live on the linked pages.

    BehaviourFedora 44Fedora 45Details
    unsigned RPM via rpm -iinstalls (rpm 6.0.1)refused (does not verify: no signature)Signature enforcement
    repository configuration/etc/yum.repos.d/usr/share/dnf5/repos.dRepository configuration moves to /usr
    GPG keys/etc/pki/rpm-gpg/usr/share/pki/rpm-gpgsame page
    consolein-kernel fbconkmscon installed (kmsconvt@ enabled)kmscon console
    secret servicegnome-keyringoo7 (owns org.freedesktop.secrets)oo7 in F45
    podman generate systemdworksprints a deprecation notice, use QuadletPodman 6
    dnf updateinfo --summary—invalid argument (Unknown argument)Cheat sheet

    3. Repository location: one command shows the generational difference

    Section titled “3. Repository location: one command shows the generational difference”

    Beyond version numbers, location changes are what break scripts. The same command on three machines:

    Terminal window
    echo "$(grep VERSION_ID /etc/os-release) -> /usr: $(ls /usr/share/dnf5/repos.d/*.repo 2>/dev/null | wc -l) /etc: $(ls /etc/yum.repos.d/*.repo 2>/dev/null | wc -l)"
    VERSION_ID=43 -> /usr: 0 /etc: 4
    VERSION_ID=44 -> /usr: 0 /etc: 4
    VERSION_ID=45 -> /usr: 4 /etc: 0

    That third column flipping is the F45 boundary. Any script that counts repositories by reading /etc/yum.repos.d/*.repo goes from 4 to 0 on that line — the repositories did not disappear, they moved.

    ReleaseGANote
    Fedora 452026-11current; supported to about four weeks after F47 ships
    Fedora 442026-04still inside its support window
    Fedora 432025-10counting down
    Fedora 422025-04EOL

    The support rule and the countdown arithmetic are in release cadence and support window; current official state per release is in releases and EOL table.

    4. Building the same table for your own machine

    Section titled “4. Building the same table for your own machine”

    Save this as a script and run it before and after upgrading to get your own comparison:

    #!/bin/bash
    echo "== $(grep VERSION_ID /etc/os-release)"
    echo "kernel: $(uname -r)"
    for p in systemd glibc python3 openssl dnf5 rpm podman kmscon oo7-daemon; do
    printf "%-12s %s\n" "$p" "$(rpm -q --qf '%{VERSION}-%{RELEASE}' "$p" 2>/dev/null || echo '-')"
    done
    echo "repos: $(ls /usr/share/dnf5/repos.d/*.repo 2>/dev/null | wc -l) in /usr, $(ls /etc/yum.repos.d/*.repo 2>/dev/null | wc -l) in /etc"

    Keep one copy before and one after; the diff is exactly “what this upgrade changed”. More direct than reading release notes.