- Improved usage data gathering through DNF
- Physical optical media does not require pre-GA testing
- Packaging changes in clang-libs package
- Added support for AArch64 and ppc64le packages with extended availability of FPC-dependent packages
- Adopting sysusers.d format
- Limited scriptlet usage of core packages
- Faster recovery from low-memory situations in Fedora Workstation
Improved usage data gathering through DNF
Before Fedora 32, The Fedora Project was estimating the number of installed Fedora systems by counting the unique IP addresses which access updates from the official mirrors. This approach is highly inaccurate for multiple reasons, such as undercounting due to NAT and overcounting due to short DHCP leases and laptops moving between different network connections, and this approach also doesn’t allow for distinguishing between Fedora variants. At the same time, accurate usage metrics are highly useful for any software project that wants to serve its community and remain relevant, and so The Fedora Project has been exploring ways to obtain more useful information without compromising privacy of its users.
In Fedora 32, when the installed system contacts one of the official Fedora mirrors, it provides the following information ("user agent"):
Fedora version (such as "Fedora 32").
Fedora variant (such as "Server").
Operating system and architecture (such as "Linux.x86_64").
A newly introduced
countme variable is used by Fedora Project to determine the age of the system. The variable has four possible values:
1within the first week of installation - 0-7 days.
2between the first week and the first month of installation - 8-30 days.
3between the first month and the the first 6 months of installation - 31-180 days.
4after the first 6 months of installation - 180 days or more.
Using this system, The Fedora Project can measure the usage levels of various combinations of architectures and variants and collect data short and long term usage of each variant. At the same time, this system avoids collecting any identifying information about any client system.
If you wish to disable this behavior, change the value of the
countme boolean in DNF configuration. See the
dnf.conf(5) man page for details.
This system will not be active on Fedora Project’s side at the moment of Fedora 32 release because the server side portion is not ready. Clients will send their user agent including
Physical optical media does not require pre-GA testing
Since Fedora 32, the operating system to be installed from the physical optical media will not need to be tested before the general availability. However, issues regarding physical media boot will still be treated as blocker bugs.
The change will affect the following images:
The change aims to address the trend of ever decreasing amount of new computers and laptops with CD/DVD drives, and errors that installation using this media entails.
As a result, the Fedora QE Team and community testers will have more capacity to test parts of Fedora that are far more visible and exposed to end users.
Due to some bugs, users might not be able in some cases to complete the installation from optical media.
Packaging changes in clang-libs package
clang-libs package no longer includes individual component libraries like
libclangAST.so and so on. Packages that depend on the clang libraries are now linked to
As a result of this change:
There is an improved stability in Fedora and application start-up time.
End-users who develop applications using clang libraries are required to update their applications to use
libclang-cpp.soinstead of the individual component libraries.
End-users who use Fedora packages that depend on clang libraries do not have any impact due to this change.
Added support for AArch64 and ppc64le packages with extended availability of FPC-dependent packages
An updated version (3.2.0) of Free Pascal Compiler is now available with Fedora 32. With the updated Free Pascal Compiler you can now build
ppc64le packages. Also, the Free Pascal Compiler now supports new architectures. As a result, the programs that are compiled using FPC are available to run on more architectures that Fedora supports.
Adopting sysusers.d format
Previously, users were created in
%pre section by calling the commands
With this update, users are defined in the
sysusers.d format. It adds an rpm package
Provides generator to create
group(<name>) virtual Provides for packages with sysusers.d files.
An rpm package
Provides generator is added to generate
group(<name>) for packages with
As a benefit:
Packages declare system users using a uniform syntax.
Scriptlets are more standardized.
Admins may easily inspect the system user list and find which packages require users.
Admins may easily override definitions of system users by providing appropriate
sysusers.dfiles with higher priority.
Users are still created using old-style
Limited scriptlet usage of core packages
In Fedora 32, core packages (packages that are used to build the minimal container image) have had all of their scriptlet calls (
%postun) removed. This means the entire install process of the container image is now declarative and transparent to packaging tools such as
composer, the installation is faster, and keeping this approach in the future will allow for additional optimizations and features.
Packages can still make changes to the system during installation by placing files in specific locations that trigger actions.
Faster recovery from low-memory situations in Fedora Workstation
earlyoom service is now enabled by default in Fedora Workstation.
earlyoom service monitors system memory usage.
If free memory falls below a set limit,
earlyoom terminates an appropriate process to free up memory.
As a result, the system does not become unresponsive for long periods of time in low-memory situations.
The following is the default
If both RAM and swap go below 10% free,
SIGTERMsignal to the process with the largest
If both RAM and swap go below 5% free,
SIGKILLsignal to the process with the largest
For more information, see the
earlyoom man page.
Want to help? Learn how to contribute to Fedora Docs ›