AlmaLinux 9.9 Beta "Chartreuse Bobcat" Lands with GCC 16 and a Kernel That Beats RHEL
AlmaLinux OS Foundation just posted the 9.9 Beta, codenamed "Chartreuse Bobcat," and it's carrying something RHEL 9.9 hasn't picked up yet. Announced today by Eduard Abdullin, the Foundation's Release and Automation Engineer, this build bundles the GCC Toolset 16 and ships a Linux kernel fix the community submitted upstream before Red Hat did.
There's a second detail worth noting. This isn't the only beta the Foundation is running. AlmaLinux 10.3 Beta ("Chartreuse") dropped on September 10, just days earlier, so both current major versions are in testing at the same time.
The Toolchain Is the Headline
The big one is GCC Toolset 16. It ships with gcc 16.2.1 and binutils 2.46, and it runs right alongside the existing GCC Toolset 15. You opt into version 16 explicitly, so your system's default compiler stays put. If you'd rather not think about it, nothing changes.
On top of that, LLVM-Toolset moves to 22.1.8 and Rust-Toolset to 1.97.1. GCC 16.1 first landed upstream on April 30, 2026, so this is one of the first EL9 downstream builds to carry the 16 series at all. Not bad for a downstream.
The Foundation calls out three broad themes for 9.9: compiler toolsets, new module streams, and improved security. The module streams are where you'll likely notice something. Node.js 26 is a new stream, and it's a solid choice. v26 first shipped May 5, 2026 and sits in "Current" status right now at v26.9.0. That means it's actively supported and on the path to Active LTS. PHP 8.4 joins it, bringing the current feature line over from 8.3.
Keep in mind that both streams slot into the existing app-stream model, so you don't get torn between two ways of doing things. It's a clean bump.
The Two Changes Worth Testing Before Production
Not cheap to call this a freebie. Two things in the 9.9 beta deserve a close look before you point them at anything real.
fapolicyd jumps from 1.4.5 to 2.0.1. That's a major version bump, not a routine point update, and it matters. The daemon sits in the execution path of every binary on a hardened host, so a major version change can quietly alter which binaries are allowed to run. The Foundation is effectively asking the community to test whether your existing rules and trust database carry over cleanly, and to report back on the beta forum. This is the piece they "would most like to see tested" before it reaches production.
Then there's authselect. In 9.8 it started merging local and remote groups by default, and that change showed up in nsswitch.conf. The 9.9 beta rolls that back: merging is now opt-in via the with-group-merging feature. If you were relying on the merged behavior introduced last release, you'd need to enable the feature explicitly after upgrading or you could see group resolution change out from under you. It's a reasonable correction, if a little reactive.
The security surface gets the usual treatment: SSSD 2.9.9, SELinux-policy 38.1.86, crypto-policies, Keylime 7.14.3, and clevis 23 all move forward. The Foundation frames the lot as keeping "your system safe and reliable," which is a fair description for a beta meant to be kicked around rather than trusted blindly.
The Kernel That RHEL Hasn't Shipped
Here's where the story gets interesting for people who pick AlmaLinux specifically over RHEL. The 9.9 beta carries an earlier backport of an upstream Linux kernel fix that RHEL 9.9 hasn't adopted yet.
The commit is d919a1e79bac, titled "proc: fix a dentry lock race between release_task and lookup," and it addresses excessive CPU consumption by systemd and ps during task cleanup. AlmaLinux originally submitted the fix to CentOS Stream 9 via MR !7769, but upstream postponed its inclusion. The Engineering Steering Committee (ALESCo) then voted to ship it in AlmaLinux 9.8 ahead of RHEL, and the 9.9 kernel still carries it.
That's a meaningful divergence. It's a concrete example of the community-led model doing something: pulling a fix upstream RHEL left behind. Whether you value that depends on how much you trust ALESCo's judgment over Red Hat's timing. For a lot of us, it's exactly why the distro exists.
Distributed kernel for 9.9 is 5.14.0-741.el9, and the x86_64 beta release is labeled 9.9-beta-1. Everything below is beta, so treat the upgrade instructions as if they were suggestions.
What Else Is In The Box
Beyond the headline items, the changelog is long enough to make your eyes glaze. Performance and debugging tools move too: GDB 17.2, Valgrind 3.27.1, SystemTap 5.5, elfutils 0.195, Bpftrace 0.26.1, BCC 0.36.1, and rsyslog 8.2604.0. Containers and virtualization get refreshed as well, podman 5.8.5, buildah 1.43.2, crun 1.29.1, QEMU-KVM 10.1.0, bootc 1.16.9, and ostree 2026.4.
systemd, glibc, Samba, Mesa, cockpit, and a handful of clustering pieces (Pacemaker, 389-ds-base) all bump along with it. .NET 11 preview arrives too, alongside Intel QPL, oci-delta, and the usual slate of AlmaLinux-branded packages that replace their redhat-* counterparts. Head here to the full changelog if you're auditing a specific component, because the list runs long and the interesting part for you depends on what you actually run.
Where To Get It
Beta ISOs are available for all supported architectures, x86_64, aarch64, ppc64le, and s390x. You've got three x86_64 images: boot, minimal, and a full DVD.
If you're upgrading an existing 9.x system, the process is a two-command affair. Install the beta release, repos, and GPG key packages, run dnf clean all, then dnf upgrade -y. The updated almalinux-release package repoints the URLs to beta mirrors, so the plain upgrade pulls the rest.
Verify your downloads before installing. Pull the public key, verify the CHECKSUM file, and compare the SHA256 of whatever ISO you grab. The key fingerprint is BF18 AC28 7617 8908 D6E7 1267 D36C B86C B86B 3716.
Just one more reminder: this is a beta. The upgrade instructions are fine on test hardware. Leave production machines alone unless you're the kind of operator who enjoys waking up to breakage.
