The Fedora Project is pleased to announce that the latest version of the Fedora operating system, Fedora Linux 39, is now generally available. From the expected low-level usability and performance tweaks, Fedora Linux 39 adds a new immutable variant, expands Fedora’s presence on public cloud providers and brings an expanded set of developer languages and tools. As always, you should make sure your system is fully up-to-date before upgrading from a previous release.

Azure images

Azure users will notice new Fedora official images with Fedora 39. This allows Azure customers to launch official Fedora images and provides Fedora Cloud users with more options when selecting public clouds.

Automatic cloud reboot upon updates

Cloud users can provide cloud-init metadata when creating a Fedora cloud instance. This metadata can contain instructions to update all packages on the system and reboot it if any of the updated packages need it to go into effect. Fedora cloud instances will now write the /var/run/reboot-required file if a reboot is needed after a dnf update, so that cloud-init can reboot the instance. This change allows Fedora cloud instances to behave in the same way as Debian-based instances. Rebooting automatically can reduce the attack surface of an instance and reduce the time that an unpatched instance is online prior to being fully patched.


By default, Fedora installs with a shim + grub bootloader on EFI platforms and has been shipping systemd-boot in various forms for a number of releases. While grub remains the default, it with systemd-boot has been made easier with a formalized default method which can be built upon. The advantages of enabling a systemd-boot loader without UKIs or restructuring the /boot and /boot/efi mount points include a wider range of supported machines and a more familiar environment for users and applications.

Phase 2 SPDX licenses

Fedora Linux 39 marks the second phase in the transition from using Fedora’s short names for licenses to SPDX identifiers in the License: field of Fedora package spec files. This second phase addresses how to update the License: field for existing packages, including documenting more specific guidance on how to find licenses in a package. In Fedora Linux 39, RPM packages use SPDX identifiers as a standard–and more than half of these packages have been migrated to SPDX identifiers. Standardizing identifiers for licenses will align Fedora with other distributions and allow for more efficient and reliable license identification. The remaining packages are expected to be migrated in upcoming releases of Fedora. 

Fedora Onyx

Fedora Linux 39 features Fedora Onyx–an official Fedora immutable variant with a Budgie Desktop environment, complementing Fedora Budgie Spin and expanding Fedora’s immutable offerings. Fedora Onyx leverages the same foundational technologies as other Fedora immutable variants, including Fedora Silverblue, Fedora Kinoite and Fedora Sericea, and builds upon them, helping to strengthen those variants by putting more contributors behind building and maturing share technologies. The new Fedora Onyx is a solution for users that find value in the Fedora computing platform and Budgie Desktop environment but look for the robust immutability and atomic capabilities of rpm-ostree, which may not be available through traditional Fedora spins–or Fedora Budgie Spin users that are interested in experimenting with rpm-ostree and diving into tooling that pairs well with the immutable experience.

Deprecation of modularity

With the introduction of Fedora Linux 39, Fedora will discontinue building modules and shipping modular content to users. The fedora-repos-modular and fedora-repos-rawhide-modular packages will be retired and modular repositories will no longer be composed. Once Fedora Linux 38 reaches end of life, Fedora’s Module Build Service will be terminated. Future approaches to providing parallel versions of packages will focus on container technologies.

Compiler and language stack updates

Fedora Linux provides a great way for developers to stay up-to-date with the latest fundamental libraries and tools. Fedora Linux 39 includes gcc 13.2, binutils 2.40, glibc 2.38, gdb 13.2, and rpm 4.19. It also includes updates to popular programming language stacks, including Python 3.12 and Rust 1.73.

Fedora Linux 39 is available for download now. If you’re already running Fedora Linux, follow the easy upgrade instructions. For more information on the new features in Fedora Linux 39, see the release notes. If you run into a problem, visit the Ask Fedora user support forum, which includes a category for common issues.

About the author