Release - Fedora 35
The new Fedora release is available, and I have already updated. There are impressive things around and also the usual updates. In this article, I will give an overview of the new release and describe what's new.
The new Fedora release is available, and I have already updated. There are impressive things around and also the usual updates. In this article, I will give an overview of the new release and describe what's new.
Fedora Releases
A new Fedora Release is ready to be used. As always, it will be maintained for 13 months. This also means, that Fedora 33 will be maintained for only an additional ~4 weeks.
Please check out the Fedora Release Cycle documentation and the general Releases documentation to get additional information.
Fedora Desktop Changes
Let's have a look at the Desktop changes first. Fedora is very desktop oriented, and I assume you are waiting for these.
GNOME 41
The elephant in the room is obviously GNOME 41. As always, the new Fedora release includes a new GNOME release. I have addressed the GNOME 41 changes already in the "Release - GNOME 41" article. Therefore, I will focus on the additional changes in Fedora.
Power Profiles
With the introduction of Power Profiles and the Power Profiles Daemon in GNOME, Fedora adapted it and is providing some automation on top. If you are having a device with a battery, Fedora will set the power profile to "Powersafe", if the batter drops below 20%. A very welcome change to save some energy.
On systems that are supported, you will also have the option to change to a "performance mode". Let's see how much runtime this squeezes out of my machine.
Pipewire and WirePlumber
With the Fedora 35 release, Pipewire is now using WirePlumber. With Fedora 34, Pipewire was introduced to replace PulseAudio. No we are also having a dedicated session/policy manager with WirePlumber. You can think of a high-level API service, that should connect all the things, that are not a media stream. This may be very interesting for future implementations of configuration, monitoring or status tools.
Kiosk Mode
Fedora 35 is packaging the GNOME Kiosk, too. This allows you to enable a Kiosk session. A Kiosk is a very limited, graphical session, that allows a user to do very limited tasks. Running a browser with a single website loaded may be an option, but also opening a single application in full screen. This kind of session is very interesting for public terminals, but also TV dashboards and of course SOC (ex.: Raspberry Pi) projects.
I have a dedicated article for the same on my agenda, already.
Selected Flathub Packages
With Fedora 35 Workstation, some Flatpak repositories can be enabled with the 3rd party repository management. In the past, you were able to enable some RPM fusion repositories with the first start of GNOME software. Additionally, you can do this for some hand-picked Flatpaks from flathub.org, now.
This enables you to install Spotify, Discord, Telegram, Steam, Visual Studio Code, Microsoft Teams and many more Flatpaks. If you enable the full flathub repository, it will basically remove the filter and no re-installation of above tools is needed.
You are also able to enable third-party repositories in the "First Boot" dialog, now.
This should lower the barrier for new users significantly.
Spins & Variants
Fedora offers several variants in the form of spins, labs and more. These variants enable you to you use "another" Fedora, but with the same base layer. Let's see what's new here.
Kinoite
As a brand-new variant, Kinoite is introduced. Kinoite is build with the same technologies as Silverblue and Fedora CoreOS. This means, you will get an immutable base layer (ostree), which can be extended with Flatpaks, Toolbox (Podman containers) or overlays (rpm-ostree). The only major difference to Fedora Silverblue - you will get KDE as your pre-installed Desktop variant. This was a long-lasting demand from the community and finally is there.
The Kinoite team is saying:
Surf the web, keep in touch with friends, manage files, enjoy music and video, and get productive at work without having to worry about breaking your system.
If you always wanted to check out the possibilities of ostree, you should have a look at Fedora Kinoite and Fedora Silverblue.
Other Spins
In other areas, you are seeing mostly package updates and refinements.
Fedora Server Changes
There are lots of package updates and little changes in the Server components, too. Here is a small summary of them.
- PHP8 is now available
- NodeJS defaults to v16, with v14 and v12 available, too
- Python updated to 3.10 and changed the packaging guidelines, to adopt best practices from the PyPi project
- libvirtd (mostly used for KVM and LXD) is moving to modularity, which also changes some daemon names
For server operators, this may need some work to address changed behavior and names, but also review scripts, before upgrading.
Fedora Cloud Changes
The Fedora Cloud images also changed. With Fedora 35, the default file system is changed to btrfs. This is especially interesting, since Fedora Cloud Base images are mostly raw images, and you cannot choose the filesystem.
Furthermore, the Cloud images now support hybrid boot (UEFI+BIOS), which is already supported from some cloud providers. If you always wanted to use UEFI boot on your cloud machines, this should enable you.
Other changes
Finally, there are a couple of changes, that should be mentioned, too.
Compiler Policy Changes
In previous releases, Fedora package maintainers needed to use GCC to compile code. With this release, package maintainers do have another option and can use Clang/LLVM.
Firewalld
Firewalld is the standard firewall manager on Fedora and enabled in almost all variants. With the latest updated, Firewalld is updated to 1.0.0. This also enables some wanted behavior like default intra-zone communication on the same host.
Others
There is way more to discover and many little changes were made.
- yescrypt is now the default hashing algorithm for new passwords
- DNS over TLS is enabled by default
- Fedora Linux is now the new branding in /etc/os-release
- container images are now smaller, since SSSD and some other packages were removed
Please also have a look at the Fedora 35 ChangeSet and the Fedora 35 Release Notes.
Upgrade
Upgrading from Fedora 33/34 to Fedora 35 can be done in at least the below ways. As always:
- please check if your 3rd party repository software needs special handling
- please backup beforehand
Graphical Update (via GNOME Software)
Fedora Linux offers a graphical upgrade path for quite some time, now. You just need to check GNOME Software and apply the upgrade. This procedure is also described in the upgrade documentation.
Console Update (via dnf)
If you don't use or don't want to use GNOME Software, you can also perform upgrades with dnf. This is mostly necessary for Fedora Server, Fedora Cloud images and some Fedora Spins.
The recommended way is via dnf-system-upgrade as described below.
# Update the current version
$ sudo dnf upgrade --refresh
# Install dnf-system-upgrade
$ sudo dnf install dnf-plugin-system-upgrade
# Download
$ sudo dnf system-upgrade download --releasever=35
# Apply offline Upgrade
$ sudo reboot
Another option is, to run a live-upgrade. This is not recommended and as reliable. If you want to help to test online/live updates, please check out the documentation.
Console Update (via rpm-ostree)
Fedora Silverblue, Fedora Kinoite and Fedora IoT need some special handling. But they also offer an option to roll back.
Upgrade Fedora Silverblue:
# Check references
$ ostree remote refs fedora
# Run the rebase
$ rpm-ostree rebase fedora:fedora/34/x86_64/silverblue
# Reboot
$ sudo reboot
For Fedora IoT, I recommend having a look at the IoT upgrade documentation.
Videos
There are already Videos out, if this is your thing.
Docs & Links
If you are interested in more detailed and additional information, please check out the below links.
Conclusion
As you might be aware, I have decided to re-install Fedora this time. So, I switched back from Fedora Silverblue to Fedora Workstation. Upgrading the servers was a piece of cake, but they are running mostly containers and I didn't expected any issues.
How went your upgrade? Which variant are you using? I would like to hear your experiences and opinions on Twitter or via mail.