The Fedora Linux 45 beta was released yesterday [[1]]. The Fedora CoreOS `next` stream has been rebased and is currently rolling out with version `45.20260913.1.1`. This is a preview of what is coming to the `testing` and `stable` streams when Fedora Linux 45 is released in the coming months.
For more information about Fedora 45, see the Fedora Project's list of official Changes [[2]] and the Fedora CoreOS analysis of each Change [[3]].
Some notable changes on the Fedora CoreOS side going into this release:
* Ignition can now transpile and accept Butane YAML directly as first-boot userdata [[4]].
* Previously, provisioning with Butane meant installing the `butane` tool, writing YAML, transpiling it to Ignition JSON, and handing the JSON to your cloud provider as userdata. Now you can hand Ignition the Butane YAML directly with no additional transpile step required.
* This is fully backward compatible: existing Ignition JSON configs are tried first and are unaffected. `source: local` and `--files-dir` Butane features still require the standalone `butane` CLI, since they need filesystem context that doesn't exist at boot.
* Fedora CoreOS container images now use many more, smaller layers for better layer reuse across builds ("chunkah") [[5]].
* One side effect already seen on the `next` stream: if you build a derived container image from an FCOS base image and use `rpm-ostree install` inside that build to layer packages, the new layering produces a pure OCI artifact without the `/sysroot` layout `rpm-ostree` expects, and `rpm-ostree` only operates on booted ostree hosts. Use `dnf install` instead when layering packages into a derived container build [[6]].
* RPM repository configs and GPG keys are moving out of `/etc` [[7]].
* Fedora 45 relocates packaged repo configs from `/etc/yum.repos.d` to `/usr/share/dnf5/repos.d`, and GPG keys from `/etc/pki/rpm-gpg` to `/usr/share/pki/rpm-gpg`.
* RPM package signature verification is enforced by default [[8]].
* We tested how this interacts with `rpm-ostree install`ing unsigned packages, both from local files and from a repo with no signing key configured. Short version: nothing is newly broken by this change. Local RPM files handed to `rpm-ostree install` were never signature-checked, before or after this change, due to a pair of pre-existing, unrelated gaps; repo-sourced packages without a valid signature are still correctly blocked.
* podman v6.0 completes the BoltDB→SQLite database migration [[9]].
* As flagged in our F44 announcement, Podman 5.8's automatic BoltDB-to-SQLite migration is now followed by full removal of BoltDB support in 6.0.
Please test out the `next` stream over the coming months and report any issues in our issue tracker [[10]].
Thank you,
Michael Armijo for the CoreOS team
[1] https://fedoramagazine.org/announcing-fedora-linux-45-beta
[2] https://fedoraproject.org/wiki/Releases/45/ChangeSet
[3] https://github.com/coreos/fedora-coreos-tracker/issues/2128
[4] https://fedoraproject.org/wiki/Changes/IgnitionNativeButaneSupport
[5] https://github.com/coreos/fedora-coreos-tracker/issues/2145
[6] https://github.com/coreos/fedora-coreos-tracker/issues/2213
[7] https://fedoraproject.org/wiki/Changes/RelocateRpmRepoConfigsToUsr
[8] https://fedoraproject.org/wiki/Changes/Enforcing_signature_checking_by_defa…
[9] https://fedoraproject.org/wiki/Changes/Podman6
[10] https://github.com/coreos/fedora-coreos-tracker