Documentation for a newer release is available. View Latest

Загальнодистрибутивні зміни

Update comps to use Python 3

Multiple package groups have been updated to use python3 packages instead of python2. The list of groups is:

  • python-classroom

  • engineering-and-scientific

  • development-libs

  • cloud-management

  • font-design

  • mysql

  • robotics-suite

  • authoring-and-publishing

  • electronic-lab

Also, the python-web package group has been removed from comps.

ZRAM support for ARM images

Previous releases of Fedora for ARM (Aarch64) systems enabled a small amount of swap space by default. This was generally a good thing, however in some cases using swap on ARM can cause problems such as heavy wear on SD cards due to excess use of wear leveling. Fedora 29 enables ZRAM in order to mitigate this and enable more memory on ARM single-board computers (SBCs) by compressing a part of the RAM and using it as a swap space. This provides better performance and reliability on such devices, which in turn provides better user experience. ZRAM is enabled on all ARM images by default.

Discontinue PPC64

Fedora 29 drops support for big endian IBM POWER (ppc64) systems. This change comes after big-endian ppc64 systems have been supported in a "maintenance only" mode for several years, and is largely caused by upstream focus on little endian ppc64le. For more detailed justification behind this change, see the mailing list announcement.

Update i686 architectural baseline to include SSE2

In previous releases, i686 RPM packages were built in a way that was compatible with certain very old processors such as Intel Pentium III. The only addition over the i686/Pentium Pro baseline is a requirement to support long NOPs, for Intel CET. However, the majority of i686 package installations is actually on x86_64 systems as multi-lib RPMs. Furthermore, there are reports that the i686 kernel does not run stable on old hardware which is not x86_64 capable.

Fedora 29 changes build requirements for i686 packages in such a way that they require the instruction set architecture (ISA) of early x86_64 CPUs. Specifically, the following changes are made to 32-bit packages to optimize them for use on current x86_64 systems:

  • The default compiler flags are changed to -march=i686 -msse2 -mtune=generic -mfpmath=sse -mstackrealign. This enables SSE2 support with optimal backwards compatibility due to automatic stack realignment. (16-byte stack alignment was introduced with SSE2 support in the i386 ABI, but old binaries only provide 4-byte stack alignment.)

  • x86 packages can use SSE2 optimizations unconditionally.

  • This increases compatibility with some upstreams which have mostly given up on support for non-SSE2 x86 systems.

  • Excess precision problems inherent to the legacy i387 FPU disappear, and math results become more predictable.

The latter two items are primarily a benefit to those developers who work on Fedora itself.

One notable impact of this change is that 32-bit x86 systems which lack SSE2 support will not be able to install or upgrade to Fedora 29. This only applies to 32-bit x86 systems. For 64-bit x86 systems, SSE2 support is a required support of the baseline ABI and already extensively used by Fedora.

Fedora variants are now labeled

Prior to Fedora 29, only major Fedora editions were using the VARIANT and VARIANT_ID fields in /usr/lib/os-release (and the /etc/os-release symlink). That meant it was impossible to distinguish between, for example, a desktop spin and a container image.

Fedora 29 uses these fields on every variant. Combined with UUID counting, this will provide Fedora Project with a much clearer picture of real-world usage of various spins and editions, and allow the Project to determine which editions are most popular and to better optimize time and resources.

Rename Atomic Workstation to Silverblue

Fedora Atomic Workstation has been renamed to Fedora Silverblue and has been released alongside Fedora 29. See the Silverblue section for release notes.

User PATH prioritization

Fedora 29 changes the default PATH. See System Utilities for details.