*Output generated by and [stored alongside](https://pagure.io/fork/dustymabe/fedora-pgm/pgm_scripts/blob/dusty-fcos-changes/f/changes/FCOS-changes.md.orig) ([with modifications](https://pagure.io/fork/dustymabe/fedora-pgm/pgm_scripts/blob/dusty-fcos-changes/f/changes/FCOS-changes.md)) [this](https://pagure.io/fork/dustymabe/fedora-pgm/pgm_scripts/blob/dusty-fcos-changes/f/changes/genFCOSChanges.sh) script in a fork of the [pgm_scripts repo](https://pagure.io/fedora-pgm/pgm_scripts).* --- **Fedora 40 Accepted System-Wide Changes** ([wiki source](https://fedoraproject.org/wiki/Releases/40/ChangeSet#Fedora_Linux_40_Accepted_System-Wide_Changes)) 101. ✔️[DNF/RPM Copy on Write enablement for all variants](https://fedoraproject.org/wiki/Changes/RPMCoW) - 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](https://bugzilla.redhat.com/show_bug.cgi?id=1915976) - **NOTES** (copied forward): 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 conceptually, but nothing for FCOS to do here. 101. ✔️[KTLS implementation for GnuTLS](https://fedoraproject.org/wiki/Changes/KTLSSupportForGnuTLS) - Acceleration of GnuTLS with software Kernel TLS (KTLS) - Tracking bug: [#2130000](https://bugzilla.redhat.com/show_bug.cgi?id=2130000) - **NOTES**: JL: This should be transparent to us. 101. ✔️[Modernize Live Media](https://fedoraproject.org/wiki/Changes/ModernizeLiveMedia) - 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](https://bugzilla.redhat.com/show_bug.cgi?id=2139918) - **NOTES**: DWM: This shouldn't affect us. We create our own live media separate from this process. 101. ✔️[Porting Fedora to Modern C](https://fedoraproject.org/wiki/Changes/PortingToModernC) - Back in 1999, a new revision of the C standard removed several backwards compatibility features. However, GCC still accepts these obsolete constructs by default. Support for these constructs is confusing to programmers and potentially affect GCC's ability to implement features from future C standards. It is expected that a future GCC version (likely GCC 14) will disable support for these legacy language constructs by default. The goal of this change is to prepare Fedora for this transition. - Tracking bug: [#2142177](https://bugzilla.redhat.com/show_bug.cgi?id=2142177) - **NOTES**: DWM: This *may* affect some of our dependencies, but should be handled at the package level. 101. [Ostree Native Container (Phase 2, stable)](https://fedoraproject.org/wiki/Changes/OstreeNativeContainerStable) - Continue the work done in https://fedoraproject.org/wiki/Changes/OstreeNativeContainer but in an officially stable format, and expanded to cover more OSTree-based editions. This goes "all in" on being container-native and significantly changes the technology and user emphasis. - Tracking bug: [#2151321](https://bugzilla.redhat.com/show_bug.cgi?id=2151321) 101. ✔️[Remove webkit2gtk-4.0 API Version](https://fedoraproject.org/wiki/Changes/Remove_webkit2gtk-4.0_API_Version) - The webkit2gtk-4.0 API version will no longer be built. Packages that depend on it will fail to build from source and eventually be retired. - Tracking bug: [#2193249](https://bugzilla.redhat.com/show_bug.cgi?id=2193249) - **NOTES**: DWM: I don't think we use anything based in webkitgtk 101. ✔️[Anaconda WebUI for Fedora Workstation by default](https://fedoraproject.org/wiki/Changes/AnacondaWebUIforFedoraWorkstation) - The new PatternFly-based UI has been developed by the Anaconda team for some time now and we would like to make it available for users of Fedora to enhance and modernize installation experience. As the first step in this user adoption process, we are targeting Fedora Workstation only. - Tracking bug: [#2231339](https://bugzilla.redhat.com/show_bug.cgi?id=2231339) - **NOTES**: DWM: We don't use an anaconda based installer. 101. ✔️[Build Fedora Workstation live ISO with Image Builder](https://fedoraproject.org/wiki/Changes/FedoraWorkstationImageBuilder) - Image Builder is a set of modern tools for building operating system images. Its goal is to make the builds reliable and reproducible. Moreover, it's designed to give the end users a simple workflow to build their own custom images. The aim of this change is to create an additional, non-blocking Fedora Workstation live ISO using Image Builder. - Tracking bug: [#2233273](https://bugzilla.redhat.com/show_bug.cgi?id=2233273) - **NOTES**: DWM: This change is specific to Workstation. 101. ✔️[Deprecating libuser and removing passwd package from Fedora](https://fedoraproject.org/wiki/Changes/LibuserDeprecation) - Libuser is not actively developed. Most of the depending component have build-time option to work without libuser. - Tracking bug: [#2233275](https://bugzilla.redhat.com/show_bug.cgi?id=2233275) - **NOTES**: TR: This should not impact us. rpm-ostree and ostree do not link to libuser. 101. ✔️[Build JDKs once, repack everywhere](https://fedoraproject.org/wiki/Changes/BuildJdkOncePackEverywhere) - This is the last step in https://fedoraproject.org/wiki/MoveFedoraJDKsToBecomePortableJDKs effort. JDKs in fedora are already static, and we repack portable tarballs into RPMs. Currently, the portable tarball is built for each Fedora and EPEL version. Goal here is to build each JDK (8,11,17,21,latest (20)) only once, in oldest live Fedora repack in all live Fedoras. If jdk is buitl in epel, it will be built in oldest possible epel and repacked in newer live epels. - Tracking bug: [#2233283](https://bugzilla.redhat.com/show_bug.cgi?id=2233283) - **NOTES**: jlebon: we don't ship Java 101. ✔️[Drop Delta RPMs](https://fedoraproject.org/wiki/Changes/Drop_Delta_RPMs) - Stop producing Delta RPMs during the compose process, and disable deltarpm support in the default configuration of DNF / DNF5. - Tracking bug: [#2245148](https://bugzilla.redhat.com/show_bug.cgi?id=2245148) - **NOTES**: jlebon: good to be aware of, but shouldn't affect us directly 101. ⚠️[Switch pam_userdb from BerkeleyDB to GDBM](https://fedoraproject.org/wiki/Changes/PamBerkeleyDBtoGdbm) - pam_userdb was built with support for BerkeleyDB, but this project is no longer maintained as open source, so it is replaced by GDBM. - Tracking bug: [#2245149](https://bugzilla.redhat.com/show_bug.cgi?id=2245149) - **NOTES**: jlebon: NEEDS INVESTIGATION. looks like they expect users to run a conversion tool 101. ✔️[Changes/SQLAlchemy 2](https://fedoraproject.org/wiki/Changes/SQLAlchemy_2) - The python-sqlalchemy package is upgraded to major version 2. A compatibility package python-sqlalchemy1.4 is added to the distribution to cater for software which doesn’t yet use the new API, this can be installed alternatively. Other packages using SQLAlchemy are identified and, if necessary, steps are taken to ensure they use the correct major version package. - Tracking bug: [#2249679](https://bugzilla.redhat.com/show_bug.cgi?id=2249679) - **NOTES**: jlebon: We don't ship Python. I don't think we use that package in our build tools. 101. ✔️[KDE Plasma 6](https://fedoraproject.org/wiki/Changes/KDE_Plasma_6) - KDE Plasma 6 is successor to KDE Plasma 5 created by the KDE Community. It is based on Qt 6 and KDE Frameworks 6 and brings many changes and improvements over previous versions. For Fedora Linux, the transition to KDE Plasma 6 will also include dropping support for the X11 session entirely, leaving only Plasma Wayland as the sole offered desktop mode. - Tracking bug: [#2250089](https://bugzilla.redhat.com/show_bug.cgi?id=2250089) - **NOTES**: jlebon: We don't ship KDE. 101. ✔️[Ruby 3.3](https://fedoraproject.org/wiki/Changes/Ruby_3.3) - Ruby 3.3 is the latest stable version of Ruby. Many new features and improvements are included for the increasingly diverse and expanding demands for Ruby. With this major update from Ruby 3.2 in Fedora 39 to Ruby 3.3 in Fedora 40, Fedora becomes the superior Ruby development platform. - Tracking bug: [#2251105](https://bugzilla.redhat.com/show_bug.cgi?id=2251105) - **NOTES**: jlebon: We don't ship Ruby. 101. ✔️[Build Fedora with DNF 5](https://fedoraproject.org/wiki/Changes/BuildWithDNF5) - We are proposing to change the Mock configuration in Mock (mock-core-configs), Koji, and Copr to use DNF 5 as Mock's package manager instead of DNF 4. DNF 5 would be used by Mock to install build dependencies into chroots for package builds. This change is related to the build infrastructure and is distinct from changing the default package manager in Fedora. - Tracking bug: [#2252074](https://bugzilla.redhat.com/show_bug.cgi?id=2252074) - **NOTES**: jlebon: good to be aware of, but shouldn't have any affect on FCOS. 101. ✔️[Modernize Thread Building Blocks for Fedora 40](https://fedoraproject.org/wiki/Changes/F40ModernizeTBB) - Fedora is currently shipping version 2020.3 (released July 10, 2020) of the Thread Building Blocks library. The current upstream version is 2021.8 (released December 22, 2022). The Fedora community has expressed interest in moving the TBB package to track a more modern version of the upstream. - Tracking bug: [#2252075](https://bugzilla.redhat.com/show_bug.cgi?id=2252075) - **NOTES**: jlebon: we don't ship libtbb 101. ⚠️[Removing SSSD ‘files provider’](https://fedoraproject.org/wiki/Changes/SSSDRemoveFilesProvider) - Remove SSSD “files provider” feature that allows handling of local users. - Tracking bug: [#2252765](https://bugzilla.redhat.com/show_bug.cgi?id=2252765) - **NOTES**: jlebon: *should* be transparent to us, but this touches nsswitch.conf, which is sensitive 101. ✔️[Changes/MinizipNGTransition](https://fedoraproject.org/wiki/Changes/MinizipNGTransition) - Transition of the minizip to minizip-ng as it brings much more optimization and also this change is strongly tied to the Zlib Transition Change as by removing zlib package it will also remove minizip-compat subpackage. - Tracking bug: [#2252766](https://bugzilla.redhat.com/show_bug.cgi?id=2252766) - **NOTES**: jlebon: we don't ship minizip 101. ✔️[Changes/ZlibNGTransition](https://fedoraproject.org/wiki/Changes/ZlibNGTransition) - Replace Zlib with Zlib-ng. This change is strongly tied to Changes/MinizipNGTransition. - Tracking bug: [#2252767](https://bugzilla.redhat.com/show_bug.cgi?id=2252767) - **NOTES**: jlebon: I think we should expect to see zlib get dropped out in favour of zlib-ng in our package list automatically. we should probably sanity-check that happens when the change is enacted. --- **Fedora 40 Accepted Self-Contained Changes** ([wiki source](https://fedoraproject.org/wiki/Releases/40/ChangeSet#Fedora_Linux_40_Accepted_Self-Contained_Changes)) 201. ✔️[Retire python3.7](https://fedoraproject.org/wiki/Changes/RetirePython3.7) - The python3.7 package will be retired without replacement from Fedora Linux 40. Python 3.7 will be End of Life in June 2023 and it will be kept around only to test software targeting Debian 10 “Buster” LTS. The removal is more or less aligned with Debian 10 TLS EOL (June 2024) -- Fedora 39 (the last one to include Python 3.7) will likely EOL on 2024-11-12. - Tracking bug: [#2105404](https://bugzilla.redhat.com/show_bug.cgi?id=2105404) - **NOTES**: DWM: We don't ship python. 201. ✔️[Enable bootupd for Fedora Silverblue & Kinoite](https://fedoraproject.org/wiki/Changes/FedoraSilverblueBootupd) - By design, ostree does not manage bootloader updates as they can not (yet) happen in a safe fashion. To solve this issue, bootupd (https://github.com/coreos/bootupd) was created. bootupd is a small socket activated program that takes care of updating the bootloader. It currently only supports EFI booted systems and rpm-ostree based systems. The updates are triggered by an administrator and are not (yet) automated for safety reasons. This change is about enabling bootupd integration in Fedora Silverblue and Fedora Kinoite to make bootloader updates easier. bootupd is already used in Fedora CoreOS. - Tracking bug: [#2150982](https://bugzilla.redhat.com/show_bug.cgi?id=2150982) - **NOTES**: DWM: This change is Silverblue/Kinoite Specific 201. ✔️[mkosi-initrd](https://fedoraproject.org/wiki/Changes/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](https://bugzilla.redhat.com/show_bug.cgi?id=2203221) - **NOTES**: jlebon: good to be aware of, but doesn't affect us in the short-term 201. ✔️[Enable auto-updates by default in Fedora Kinoite](https://fedoraproject.org/wiki/Changes/KDEKinoiteAutoUpdateByDefault) - 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](https://bugzilla.redhat.com/show_bug.cgi?id=2233192) - **NOTES**: DWM: This change is Fedora Kinoite specific 201. ✔️[Revitalize Forge Macros](https://fedoraproject.org/wiki/Changes/Revitalize_Forge_Macros) - Up until now, the forge macros have been part of redhat-rpm-config. We will split them out into a new forge-srpm-macros package. We will add more test coverage and add a new %forgeversion macro to allow adding snapshot info to Version instead of Release. - Tracking bug: [#2238452](https://bugzilla.redhat.com/show_bug.cgi?id=2238452) - **NOTES**: DWM: This change should mostly be transparent to us 201. ✔️[Restructure Kubernetes Packages](https://fedoraproject.org/wiki/Changes/RestructureKubernetesPackages) - New or revised (sub)package names are proposed for Kubernetes packages in Fedora. The new names will better align Kubernetes with current usage as documented upstream and improve alignment of package content with current Fedora practices and standards. - Tracking bug: [#2241263](https://bugzilla.redhat.com/show_bug.cgi?id=2241263) - **NOTES**: DWM: We don't ship Kubernetes in our base layer. 201. ✔️[PHP 8.3](https://fedoraproject.org/wiki/Changes/php83) - Update the PHP stack in Fedora to the latest version 8.3.x - Tracking bug: [#2241987](https://bugzilla.redhat.com/show_bug.cgi?id=2241987) - **NOTES**: DWM: We don't ship PHP 201. ️✔️[Passim Peer-to-Peer Metadata](https://fedoraproject.org/wiki/Changes/Passim_P2P_Metadata) - Passim is a local caching server that broadcasts specific shared metadata to other clients on your local network to reduce the amount of duplicate data downloaded from the internet. - Tracking bug: [#2242387](https://bugzilla.redhat.com/show_bug.cgi?id=2242387) - **NOTES**: DWM: This change won't cause passim to get installed by default on CoreOS systems, because it's just a suggests. 201. ✔️[Update To Pydantic Version 2](https://fedoraproject.org/wiki/Changes/Update_To_Pydantic_Version_2) - python-pydantic, a Python data validation library, will be updated from 1.10.z to 2.y.z. The Change owners will perform a test rebuild and work with package maintainers and upstreams to port code. - Tracking bug: [#2249663](https://bugzilla.redhat.com/show_bug.cgi?id=2249663) - **NOTES**: DWM: We don't ship Python 201. ✔️[PostgreSQL 16](https://fedoraproject.org/wiki/Changes/PostgreSQL_16) - Update of default PostgreSQL stream (postgresql and libpq components) in Fedora from version 15 to version 16. Since modularity was marked as retired, there will also be a change in the packaging concept. - Tracking bug: [#2251109](https://bugzilla.redhat.com/show_bug.cgi?id=2251109) - **NOTES**: DWM: We don't ship PostgreSQL 201. ✔️[F40 MariaDB & MySQL repackaging](https://fedoraproject.org/wiki/Changes/F40_MariaDB_MySQL_repackaging) - A bigger set of smaller changes which I want to extend visibility for: - Tracking bug: [#2252771](https://bugzilla.redhat.com/show_bug.cgi?id=2252771) - **NOTES**: DWM: We don't ship Mariadb/MySQL 201. ✔️[Switch bogofilter to use SQLite](https://fedoraproject.org/wiki/Changes/BogofilterSqlite) - Switch bogofilter to use SQLite as its database engine, rather than Berkeley DB (libdb). - Tracking bug: [#2252772](https://bugzilla.redhat.com/show_bug.cgi?id=2252772) - **NOTES**: DWM: We don't ship bogofilter.