The next version of IBMs beta-test distribution for Red Hat Enterprise Linux has been branched off from Fedora's bleeding edge "rawhide" tree. The first beta verison of Fedodra 31 will be released September 29th and the final version will be released in the end of October. The high-lights in Fedora 31 are CgroupsV2 resource control, Python 3 as the default python interpreter and updated versions of the KDE, GNOME, XFCE and DeepinDE desktop environments. There will be no i386 or i686 versions of Fedora 31.

Fedora 31 will use version 2.30 of the GNU C Library. The GCC version is currently 9.1.1, the final release will either have that or a newer version. It will also have Gawk 5.0.1. Node.js 12.x will be the default Node.js interpreter. A 10.x Node.js interpreter will remain available for those who need the older version. RPM is updated to 4.15. Golang is updated to 1.13, Perl is updated to 5.30 and Erland is updated to 22. Haskell packages will use GHC 8.6. Those struggling with making R packages work will be happy to learn that Fedora 31's package manager will handle dependencies for packages made in the R programming automatically. The Mono stack is bumped to version 5.20.

Fedora 31 is currently using unreleased 5.3git version of the Linux Kernel.



GNOME 3.33.3 on Fedora 31.

On the desktop side there's an option to use the newly released Xfce 4.14. DeepinDE 15.11 will also be available.

GNOME 3.33.3 (or newer) on Wayland will be the default desktop environment. Mozilla Firefox will run natively on Wayland under GNOME but it will still use XWayland/X11 under other Wayland compositors like KDE Plasma and Sway. Qt applications also run natively under GNOME Wayland from now on. They already do under other desktop environments when they are running under Wayland and now they do under GNOME too.

Fedora 31 has KDE Plasma 5.16 with version 19.05 of the KDE Applications available.



KDE 5.16.4 on Fedora 31.

These are the versions included in the branched Fedora 31 as of now, the final release could have newer versions of these desktop environments.

It's over: i386 and i686 are no longer supported

There will NOT be a i686 version of Fedora 31. 32-bit libraries will still be present and it will still be possible to run Steam and WINE and other software which require 32-bit libraries. Fedora is not trying to pull a Ubuntu but Fedora is dropping i686 kernels which means that there will not be any bootable i686 installation images and you will not be able to install Fedora 31 on ancient Intel and AMD computers.

More advanced resource-control

Activation and use of CgroupsV2 is one of the more interesting improvements in Fedora 31. This technology allows processes to be assigned groups with advanced resource limits on CPU time, memory use, disk use and so on. The kernel has had support for cgroups for ages and the newer and fancier cgroupsv2 has also been in the mainline kernel for some time. No distribution has as of yet taken advantage of CgroupsV2 and user-space tools have been lacking. Most distributions doesn't even support CgroupsV1. Fedora 31 will be the first distributions to implement CgroupsV2. CgroupsV1, which is supported by Fedora 30, is useful but it does have some major design-flaws. CgroupsV2 is a partial rewrite of CgroupsV1 and there is also quite a lot of new features. CgroupsV2 is specially useful for those working with containers and virtualized environments where per-user or per-process resource limits are essential.

New identifying markers to accurately Count You

Privacy-aware users may be shocked to learn that Fedora 31 will have VARIANT and VARIANT_ID fields in /usr/lib/os-release in addition to all the other version-specific incriminating information which is already in that file. This new VARIANT_ID will be submitted to Fedoras central servers when you update so they can accurately count you.

No more password-less default SSH logins

On the security side there's no more logging in using a password when connecting with SSH. This has been the default in the stock OpenSSH package since 2015. Most distributions have allowed password logins by default since it does make a lot of sense to allow it until you've had a chance to actually setup a login key. It is a configuration change in the default /etc/ssh/sshd_config where PasswordAuthentication no is a new default; changing that to yes is still possible.

It's over for Python 2

Python 2 and packages requiring it are being eradicated from Fedora 31. Python 2 is very near it's end-of-life January 1st 2020 and Python 3 has been the version to use for years. There are still many packages requiring Python 2 in Fedora. Some are built without Python 2 support in Fedora 31 and some packages are simply removed. The python command, which on Fedora 30 defaults to python 2.7.16, defaults to Python 3 in Fedora 31.

Faster package installation

Fedora 31 will use zstd instead of xz to compress the RPM packages. This is supposedly due to xz decompression being slower than zstd. The default xz binary Fedora and other distributions use is single-threaded and that binary is slower than zstd. However, the parallel xz implementation pixz exists and it a whole lot faster since it uses multiple CPU cores. zstd has multi-core support but it is disabled by default. zstd compression level 19 is used. Single-threaded zstd is faster than single-threaded xz when it comes to decompression so it is an improvement. Why IBM didn't go with pixz or plzip instead is anyone's guess.

The Yum package manager is not present in Fedora 31. Fedora has used dnf for package management for some time and the yum command has been a redirect to dnf for several versions. It has remained optionally available but now it's gone.

Regular "Cloud" support

IBM/RedHat and SUSE are fiercely competing for the lucrative cloud market. Fedora 30 has cloud images available. Those have not been updated since the initial release. Fedora 31 will have monthly cloud images for all supported cloud providers released throughout it's life-cycle.

Upgrading to Fedora 31

Fedora 31 was just branched off the bleeding edge Rawhide tree. It isn't even beta yet, the beta version is not scheduled to be released until September 24th and the final version of Fedora 31 will be released October 29th. Upgrading to Fedora 31 now is not advisable unless you are a wizard who knows what you are doing. You probably are so you might as well run these fine commands as root :

dnf upgrade --refresh dnf -y install dnf-plugin-system-upgrade dnf -y system-upgrade download --allowerasing --refresh --releasever=31

This will take some time since Fedora will download all the packages that are required to update. Run dnf system-upgrade reboot when it is done and the machine will reboot and upgrade to Fedora 31.

There is currently no rpmfusion branch for Fedora 31 which means you will not be able to use the free world versions of mpv, ffmpeg and other software which have crippled versions in Fedora's standard repositories due to American software patents.

Installation images for 31 are not yet available and they won't be until it reaches beta-status. You have to grab a torrent for Fedora 30 and install that and upgrade if you do not already have Fedora installed.