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.
1. Component versions (measured)
Section titled “1. Component versions (measured)”Same host, same commands, one run per virtual machine (F43 from a Server DVD automated install; F44 and F45 from existing lab machines):
uname -rfor 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| Component | Fedora 43 | Fedora 44 | Fedora 45 |
|---|---|---|---|
| kernel | 6.17.1-300.fc43 | 6.19.10-300.fc44 | 7.2.0-61.fc45 |
| systemd | 258 | 259.5 | 261.2 |
| glibc | 2.42 | 2.43 | 2.44 |
| python3 | 3.14.0 | 3.14.3 | 3.15.0~rc1 |
| openssl | 3.5.1 | 3.5.5 | 4.0.1 |
| dnf5 | 5.2.17.0 | 5.4.1.0 | 5.4.6.0 |
| rpm | 6.0.0 | 6.0.1 | 6.1.0 |
| podman | not installed | 5.8.1 | 6.1.0 |
| kmscon | not installed | not installed | 10.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.

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.
| Behaviour | Fedora 44 | Fedora 45 | Details |
|---|---|---|---|
unsigned RPM via rpm -i | installs (rpm 6.0.1) | refused (does not verify: no signature) | Signature enforcement |
| repository configuration | /etc/yum.repos.d | /usr/share/dnf5/repos.d | Repository configuration moves to /usr |
| GPG keys | /etc/pki/rpm-gpg | /usr/share/pki/rpm-gpg | same page |
| console | in-kernel fbcon | kmscon installed (kmsconvt@ enabled) | kmscon console |
| secret service | gnome-keyring | oo7 (owns org.freedesktop.secrets) | oo7 in F45 |
podman generate systemd | works | prints a deprecation notice, use Quadlet | Podman 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:
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: 4VERSION_ID=44 -> /usr: 0 /etc: 4VERSION_ID=45 -> /usr: 4 /etc: 0That 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.
3. Release timeline
Section titled “3. Release timeline”| Release | GA | Note |
|---|---|---|
| Fedora 45 | 2026-11 | current; supported to about four weeks after F47 ships |
| Fedora 44 | 2026-04 | still inside its support window |
| Fedora 43 | 2025-10 | counting down |
| Fedora 42 | 2025-04 | EOL |
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/bashecho "== $(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 '-')"doneecho "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.
Related pages
Section titled “Related pages”- Fedora releases and EOL table — official state
- Fedora release cadence and support window — the N+2 rule and upgrade windows
- Upgrading to Fedora 45 — the steps from 44
- Signature enforcement — the behaviour change most likely to block you
- Repository configuration moves to /usr — the path change
- Cheat sheet — the F45 form of everyday commands