Skip to content

tracker: Fedora 43 changes considerations #1934

@marmijo

Description

@marmijo

Output generated by and stored alongside (with modifications) this script in a fork of the pgm_scripts repo.


Fedora 43 Accepted System-Wide Changes (wiki source)

  1. ✔️ DNF/RPM Copy on Write enablement for all variants
    • RPM Copy on Write provides a better experience for Fedora Users as it reduces the amount of I/O and offsets CPU cost of package decompression. RPM Copy on Write uses reflinking capabilities in btrfs, which is the default filesystem starting from Fedora 33 for most variants. Note that this behavior is not being turned on by default for this Change.
    • Tracking bug: #1915976
    • NOTES: JL: This path of librpm is not used by rpm-ostree. The whole download and unpack path is ostree native and has different tradeoffs. Good to keep track of this
  2. ✔️ KTLS implementation for GnuTLS
    • Acceleration of GnuTLS with software Kernel TLS (KTLS)
    • Tracking bug: #2130000
    • NOTES: TR: Should not concern FCOS
  3. ✔️ Modernize Live Media
    • Modernize the live media by switching to the "new" live environment setup scripts provided by livesys-scripts and leverage new functionality in dracut to enable support for automatically enabling persistent overlays when flashed to USB sticks.
    • Tracking bug: #2139918
    • NOTES: MA: This shouldn't affect FCOS. FCOS has its own live media separate from this process.
  4. ✔️ Remove Python Mock Usage
    • python-mock has been deprecated since Fedora 34 - 6 releases ago, but is still in use in many packages. We plan to go through the remaining usages and clean them up, with the goal of retiring python-mock from Fedora.
    • Tracking bug: #2258085
    • NOTES: TR: FCOS doesn't ship python
  5. ✔️ Python 3.14
    • Update the Python stack in Fedora from Python 3.13 to Python 3.14, the newest major release of the Python programming language.
    • Tracking bug: #2322407
    • NOTES: TR: FCOS doesn't ship python
  6. ✔️ Automated onboarding to Packit release automation for new packages
    • To ease the onboarding process for package maintainers and their release workflows, we propose to automatically create pull requests with the initial Packit configuration file for newly created projects at src.fedoraproject.org. Once merged, this configuration will enable Packit to automate the release process, reducing repetitive tasks for maintainers.
    • Tracking bug: #2337008
    • NOTES: MA: doesn't affect FCOS.
  7. ✔️ Protobuf 5.x/6.x
    • Update Protobuf to the latest version (5.x), and 6.x if it arrives in time before freeze in Q1 2025. Note that Protobuf's versioning is complicated, C++ and Python are at version 5, other language bindings at version 4, and they all embed the version of protoc; we are using the C++ version here so we can reference its support policy.
    • Tracking bug: #2341815
    • NOTES: MA: We should stay aware of this change when it arrives.
  8. ✔️ Unification of boot loader updates, phase 1 👉 https://gitlab.com/fedora/bootc/tracker/-/issues/61
    • Begin the process of using single tool (likely bootupd) for most boot loader updates, especially grub and shim. This decouples package installation, e.g., via rpm transaction, from actual update in /boot and /boot/efi. This change does not affect zipl and systemd-boot.
    • Tracking bug: #2342224
    • NOTES: MA: Tracked in https://gitlab.com/fedora/bootc/tracker/-/issues/61
  9. ✔️ Koji uses Red Hat Image Builder locally
    • Switch the Red Hat Image Builder-built images in Koji to not build through a service, but locally.
    • Tracking bug: #2342235
    • NOTES: TR: FCOS doesn't build images in Koji.
  10. ✔️ Deprecate The Gold Linker
    • The goal of this change is to deprecate the binutils-gold subpackage of the binutils package. This will allow its eventual removal from Fedora.
    • Tracking bug: #2360106
    • NOTES: MA: FCOS doesn't directly use this
  11. RPM 6.0
    • Update RPM to the upcoming 6.0 major release.
    • Tracking bug: #2360107
    • NOTES:
      • MA: Changes in RPM 6.0 could break user-layered packages especially those from outside Fedora.
      • MA: TO DO: Open a tracker issue for this
  12. ✔️ Migrate to lastlog2
    • Migrate lastlog and all functionality associated with it (e.g. pam_lastlog, the PAM service files) to lastlog2. util-linux provides lastlog2 functionality.
    • Tracking bug: #2360108
    • NOTES: MA: FCOS shouldn't be affected
  13. ✔️ Packit as a dist-git CI
    • The mechanism that launches CI builds and tests on Testing Farm in response to a pull request in dist-git will be changed. A solution based on Packit will replace current solutions (Fedora CI and Zuul).
    • Tracking bug: #2360109
    • NOTES: MA: FCOS doesn't use this testing infra.
  14. ✔️ Dropping of cert.pem file
    • In order to increase the performance of OpenSSL by default using directory-hash format we need to drop the /etc/pki/tls/cert.pem file to prevent it from being loaded by default. This also includes the certificate bundles in /etc/pki/tls/certs/ folder(ca-certificates.crt, ca-bundle.crt, ca-bundle.trust.crt).
    • Tracking bug: #2360110
    • NOTES: MA: This should be transparent to FCOS, but we should be aware of it and watch for any CI failures in rawhide.
  15. ✔️ Fix limitations in gpgverify
    • gpgverify is a wrapper around gpgv designed to make it easy for packagers to do source file verification correctly. By accident it has some limitations that a few unusual packages have to work around. This change removes those limitations, reducing the need for workarounds.
    • Tracking bug: #2361705
    • NOTES: MA: redhat-rpm-config (current provider of gpgverify) isn't in FCOS
  16. ✔️ Package builds are expected to be reproducible
    • Over the last few releases, we changed our build infrastructure to make package builds reproducible. This is enough to reach 90%. The remaining issues need to be fixed in individual packages. After this Change, package builds are expected to be reproducible. Bugs will be filed against packages when an irreproducibility is detected. The goal is to have no fewer than 99% of package builds reproducible.
    • Tracking bug: #2361706
  17. ✔️ Perl 5.42
    • A new Perl 5.42 version brings a lot of changes done over a year of development. Perl 5.42 will be released on June 2025. See perldelta for 5.41.13 for more details about new release.
    • Tracking bug: #2371124
  18. ✔️ Use COLR for Noto Color Emoji
    • The Noto Color Emoji fonts have released some new files with the COLRv1 format. The COLRv1 format is a color scalable font compared with the previous color bitmap fonts.
    • Tracking bug: #2371125
  19. ✔️ Anaconda WebUI for Fedora Spins by default
    • The Anaconda WebUI installer has been developed by the Anaconda team for some time now and is already the default installer for Fedora 42 Workstation. As the next step in this user adoption process, we are now aiming to enable it for Fedora Spins / Editions starting with the Fedora 43 release, though some Spins may transition in a later release depending on readiness and specific requirements.
    • Tracking bug: #2374753
  20. ✔️ Package-specific RPM Macros For Build Flags
  21. ✔️ Remove DNF modularity support from Anaconda
    • Remove support for package modularity in the Anaconda installer.
    • Tracking bug: #2376111
  22. ✔️ CMake: Use ninja generator by default
    • Change the default generator used in the %cmake macro from make to ninja. Affected projects are tracked in this copr repo, please check if your packages are failing there.
    • Tracking bug: #2376112
  23. ✔️ CMake drop non-standard variables
    • Drop variables that are not standardized by CMake in the %cmake macro. The dropped options are-DINCLUDE_INSTALL_DIR, -DLIB_INSTALL_DIR, -DSYSCONF_INSTALL_DIR, -DSHARE_INSTALL_PREFIX and -DLIB_SUFFIX. Affected projects are tracked in this copr repo, please check if your packages are failing there.
    • Tracking bug: #2376113
  24. ✔️ CMake 4.0
    • Update CMake to version 4.0. This version breaks compatibility with projects that specify cmake_minimum_required with only a lower bound less than 3.5. Affected projects are tracked in this copr repo, please check if your packages are failing there.
    • Tracking bug: #2376114
  25. ✔️ java-25-openjdk as preferred JDK in F43 and removal of concept of system JDK
    • Add java-25-openjdk to fedora, but do not FTBS if the package fails to build during mass rebuild. Such package will be moved to java-21-openjdk
    • Tracking bug: #2376115
  26. ✔️ Golang Packages Vendored By Default
    • Use vendored dependecies as the default and preferred option when building Golang applications, instead of relying on pre-packaged dependencies. This includes adopting Go Vendor Tools, a new set of tooling to handle license scanning, generating a cumulative SPDX expression for all dependencies, and creating reproducible vendor archives.
    • Tracking bug: #<2376131
  27. ✔️ Let's Preserve Debuginfo in Static Libraries
    • RPMs supplying static libraries should build with useful & preserved debuginfo. Let's stop stripping them by default, and rely on new debugedit to process static library debuginfo in a way that's useful for full debugging.
    • Tracking bug: #2383272
    • NOTES: TR: FCOS doesn't ship static libraries
  28. ✔️ LLVM 21
    • Update all llvm sub-projects in Fedora Linux to version 21.
    • Tracking bug: #2383273
    • NOTES: TR: Should be transparent to FCOS
  29. ✔️ Golang 1.25
    • Update of Go (golang package) to the upcoming version 1.25 in Fedora 43.
    • Tracking bug: #2383274
    • NOTES: We should make sure the CI for all our Go projects covers that now. Issue to be filed
  30. ✔️ GNU Toolchain Update (gcc 15.2, binutils 2.45, glibc 2.42, gdb 17.1)
    • Update the Fedora 43 GNU Toolchain to gcc 15.2, binutils 2.45, glibc 2.42 and gdb 17.1.
    • Tracking bug: #2383275
    • NOTES: TR: Should be transparent to FCOS

Fedora 43 Accepted Self-Contained Changes (wiki source)

  1. ✔️ Drop PLATFORM_ID
    • A few years ago PLATFORM_ID was added to os-release for Modularity, but Modularity has been retired and we don't need this key. It'll be dropped from our os-release files.
    • Tracking bug:
    • NOTES: MA: This should be transparent to FCOS, but we should stay aware of when this change comes through.
  2. ✔️ mkosi-initrd
    • mkosi-initrd is an alternative builder for initrds. It will be packaged in Fedora, so that users can use it to build initrds locally. A kernel-install plugin will be provided to build the initrd when a kernel package is installed. As a stretch goal, initrds will be build in koji and delivered via rpm packages. As a further stretch goal, pre-built initrds will be used in Unified Kernel Images that can be delivered via rpm packages.
    • Tracking bug: #2203221
    • NOTES: TR: FCOS doesn't use this (and this won't be the default)
  3. ✔️ Enable auto-updates by default in Fedora Kinoite
    • On Fedora Kinoite, Plasma Discover supports automatically updating the system in a safe fashion via rpm-ostree staged updates. We want users to benefit from bug fixes and updates in general by default thus we want to enable auto-updates by default. Users will still have the option of disabling that or tuning the frequency at which updates happen.
    • Tracking bug: #2233192
    • NOTES: TR: No impact to FCOS
  4. ✔️ Reduce the amount of "dontaudit" rules pertaining to unlabeled_t
    • Reduce the amount of rules that prevent reporting of SELinux denials pertaining to unlabeled_t. This could influence the amount of SELinux-related logs on some systems, but will not cause any new permission denials.
    • Tracking bug: #2300338
    • NOTES: TR: No impact to FCOS
  5. ✔️ Tomcat 10.1.x
    • This change involves upgrading the Apache Tomcat application server from versions 9.0.x to 10.1.x. This update will enhance the application server's performance, security, and support for the latest specifications. The affected packages include tomcat and related libraries and services that rely on the Tomcat server for web application deployment and management.
    • Tracking bug: #2309206
    • NOTES: TR: FCOS doesn't ship Tomcat
  6. ✔️ Idris 2
    • Idris 2 is a dependently typed practical functional programming language.
    • Tracking bug: #2346153
    • NOTES: TR: FCOS doesn't ship Idris
  7. ✔️ Haskell GHC 9.8 and Stackage 23
    • Update the GHC Haskell compiler from major version 9.6 to 9.8 and Haskell packages from Stackage LTS 22 to LTS 23 versions.
    • Tracking bug: #2346155
    • NOTES: TR: FCOS doesn't ship Haskell
  8. Disablement of STI tests
    • Drop support for Standard Test Interface (STI) tests in Fedora CI and Zuul CI for Fedora 43 and later.
    • Tracking bug: #2346261
  9. ✔️ Retire python-nose
    • The python-nose package is dead upstream and has been deprecated for 5 years in Fedora. It no longer builds with Python 3.14 and it will be retired (removed) from Fedora Linux 43 without replacement.
    • Tracking bug: #2349821
    • NOTES: TR: FCOS doesn't ship Python
  10. ✔️ Maven 4
    • Add Apache Maven 4 to Fedora Linux 43 as parallel-installable alternative to Maven 3.
    • Tracking bug: #2358629
    • NOTES: TR: FCOS doesn't ship Maven
  11. ✔️ Retire gtk3-rs, gtk-rs-core v0.18, and gtk4-rs v0.7
    • The Rust bindings for GTK3 (and related libraries) are unmaintained upstream, and are no longer updated in lockstep with bindings for GLib and other related libraries. The packages for gtk3-rs were previously deprecated.
    • Tracking bug: #2358630
    • NOTES: TR: FCOS doesn't ship GTK
  12. ✔️ Deprecate python-async-timeout
    • The python-async-timeout (python3-async-timeout) package will be deprecated in Fedora 43. The package provides timeout utilities for asyncio, but as of Python 3.11, its functionality has been integrated into the standard library. Fedora packages should use asyncio.Timeout instead. Many still depend on async-timeout, so we cannot remove it yet. Packagers are encouraged to work with upstream to switch to asyncio.Timeout if possible. A simple try-import mechanism can be applied as a temporary (or even permanent) downstream solution.
    • Tracking bug: #2361708
    • NOTES: TR: FCOS doesn't ship Python
  13. ✔️ Debuginfod IMA Verification By Default
    • Enable client-side cryptographic verification of Debuginfod auto-downloaded debugging information and source code by default.
    • Tracking bug: #2361709
  14. ✔️ Wayland-only GNOME
    • Remove the GNOME X11 packages from the Fedora repositories. All users of the GNOME X11 session will be migrated to the GNOME Wayland session.
    • Tracking bug: #2371136
  15. ✔️ Deprecate the async-std Rust crate
    • The async-std Rust crate is no longer maintained and was deprecated in favor of the smol crate by the upstream project. This Change is about marking the package for this Rust crate as deprecated() too to reflect this.
    • Tracking bug: #2374755
  16. Dovecot 2.4
    • Update the Dovecot email server in Fedora from Dovecot 2.3.x to Dovecot 2.4.x, the newest major release.
    • Tracking bug: #2376116
  17. Switch the distribution default version of MySQL from MySQL 8.0 to MySQL 8.4
    • MySQL is packages now use the versioned package layout. Currently we have packages mysql8.0 and mysql8.4 which both provides their respective versioned named sub-packages (e.g. mysql8.0-server or mysql8.4-errmsg etc.)
    • Tracking bug: #2376117
  18. ✔️ Deprecate RPM Macros for setup.py-based Python Builds
    • This proposal aims to deprecate the %py3_build, %py3_install, and %py3_build_wheel RPM macros (as well as their %py_* variants). These macros are outdated and tied to the legacy setup.py-based build system, and setuptools plans to remove the setup.py install command in October 2025. The modern pyproject.toml-based build system and corresponding %pyproject macros should be used instead, which provide a more flexible and standardized approach to building and installing Python packages.
    • Tracking bug: #2376118
  19. ✔️ Set Default Monospace Fallback Font
    • Currently monospace fonts are implicitly substituted with sans-serif fonts by default configuration file in fontconfig if missing. However, this is unpredictable behavior and it just happened to work. this behavior might be changed once one install other font packages. This Change aims to make it predictable and assign a tentative default monospace font for languages which is missing them.
    • Tracking bug: #2376119
  20. ✔️ Switch Anaconda installer to DNF5
    • Switch Anaconda installer to use DNF 5 instead of DNF 4 for RPM package installation.
    • Tracking bug: #2376120
  21. ✔️ Stop publishing updates to OSTree repository for CoreOS
    • Stop publishing new updates for Fedora CoreOS to the cannonical OStree repository at ostree.fedoraproject.org. Instead, rely on OCI Images from the fedora quay.io repository.
    • Tracking bug: #2376121
  22. Modular GnuPG packaging
    • Currently GnuPG is packaged in a way that puts almost all tools and services into a single, monolithic RPM package. However, only few tools from the gnupg2 package are actually used by other tools and users. With this change, core tools and optional utilities are split off into separate packages.
    • Tracking bug: #2376122
  23. Confidential Virtualization Host for Intel TDX
    • This change will introduce support for Fedora virtualization hosts to run confidential guests on suitable Intel TDX hardware.
    • Tracking bug: #2376123
  24. ✔️ Free Pascal cross-compilers
    • Add cross-compilation support to the Free Pascal Compiler (FPC) offered in Fedora.
    • Tracking bug: #2383276
    • NOTES: TR: This isn't included in FCOS
  25. ✔️ Nodejs node_modules path
    • Nodejs needs a new shared-stream-agnostic installation folder for modules.
    • Tracking bug: #2383277
    • NOTES: TR: This isn't included in FCOS
  26. ✔️ Disallow UEFI on MBR for x86 in Anaconda
    • Enforce the use of GPT partition tables for all UEFI-based Fedora installations for x86 architecture. This removes support for installing Fedora in UEFI mode on MBR-partitioned disks on x86 systems. ARM and RISC-V remain unaffected.
    • Tracking bug: #2383278
    • NOTES: TR: This isn't included in FCOS
  27. Compress the initrd with zstd by default
    - Use zstd to compress the initrd for all Fedora variants by default when built with dracut.
    - Tracking bug: #2383279
    - NOTES: TR: That a change from us and we are already doing it in FCOS
  28. ✔️ Ruby on Rails 8.0
    • Ruby on Rails 8.0 is the latest version of well known web framework written in Ruby.
    • Tracking bug: #2383280
    • NOTES: TR: This isn't included in FCOS
  29. ✔️ 389_Directory_Server_3.2.0
    • Starting from 389-ds-base version 3.2.0, the directory server no longer supports the deprecated BerkeleyDB, so the LDMB database must be used. Users still using BerkeleyDB will have to migrate their data.
    • Tracking bug: #2383281
    • NOTES: TR: This isn't included in FCOS
  30. ✔️ Erlang 27
    • Update Erlang/OTP to version 27.
    • Tracking bug: #2383282
    • NOTES: TR: This isn't included in FCOS
  31. ✔️ NodeJS metapackage
    • The NodeJS team no longer wish to designate one of the maintained NodeJS streams as the "default" or "preferred" one explicitly, but wishes for the users to retain the ability to install "any" NodeJS stream when the specific major version is not important to them. To that end, the non-versioned nodejs package will become an empty "metapackage" pulling one of the versioned nodejsXY packages as it's dependency.
    • Tracking bug: #2383283
    • NOTES:
      • TR: This isn't included in FCOS
      • MA: deferred to F44
  32. ✔️ PostgreSQL 18
    • Update of default PostgreSQL stream (postgresql and libpq components) in Fedora from version 16 to version 18. This continues the versioned packaging structure introduced in Fedora 40.
    • Tracking bug: #2386892
  33. ✔️ Build Fedora CoreOS using Containerfile
    • Define Fedora CoreOS as a Containerfile and build it using podman build. The Containerfile will build FROM the Fedora bootc image.
    • Tracking bug: #2386893
  34. ✔️ TBB2022.2.0
    • Update the tbb package in Fedora from version 2022.0.0 to 2022.2.0. The tbb package contains Intel's oneAPI Threading Building Blocks, a library for breaking computations into parallel tasks.
    • Tracking bug: #2388197
  35. ✔️ Hardlink identical files in packages by default
    • A post-build step is added to the package build macros to automatically hardlink all identical files under /usr. Previously, this was done in some packages and now it's done everywhere by default.
    • Tracking bug: #2388198
  36. ✔️ Deprecate YASM
    - This Change proposes to deprecate YASM and build packages with NASM instead.
    - Tracking bug: #2388199
  37. ✔️ Hare Programming Language
    - Introduce packages for Hare, a systems programming language designed to be simple, stable, and robust. Hare is still under development, the language, its standard library and its reference tool chain are still subject to breaking changes.
    - Tracking bug: #2388200

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions