Fedora Linux 41 is now officially available!
Read the details in our Fedora Magazine article at:
* https://fedoramagazine.org/announcing-fedora-linux-41
or download installer images from:
* https://fedoraproject.org/
or, of course, simply upgrade your already-installed systems, which
shouldn't take much longer than ordering and consuming your favorite
pumpkin-spiced beverage. If you run into any trouble, or just have
questions, you can find help at:
* https://ask.fedoraproject.org/
There are several important release-day bugfix and security updates
available today as well. If you upgrade from an earlier Fedora Linux
release, you'll get them as part of the normal process. For new systems,
please make sure to check for and apply updates as soon as possible.
--
Matthew Miller
<mattdm(a)fedoraproject.org>
Fedora Project Leader
Reminder - the Fedora Linux 41 Final Go/No-Go meeting will take place
tomorrow, Thursday 24th October on #fedora-meeting @ 1700 UTC. You can find
more details on the Fedocal calendar[1]. At this time we will determine the
status of F41 Final for the 29th October early target date[2].
[1] https://calendar.fedoraproject.org/meeting/10917/
[2] https://fedorapeople.org/groups/schedule/f-41/f-41-key-tasks.html
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
Wiki - https://fedoraproject.org/wiki/Changes/RetireZbusV1
Discussion thread -
https://discussion.fedoraproject.org/t/f42-change-proposal-retire-zbus-v1f/…
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.
== Summary ==
The packages for v1 of the zbus crate (and the packages for v2 of the
zvariant crate) will be retired from Fedora 42. Dependent packages are
to be ported to a non-obsolete version of these libraries (i.e. zbus
v4 or v5) or to be retired as well.
== Owner ==
* Name: [[User:Decathorpe| Fabio Valentini]] for the Rust SIG
* Email: decathorpe(a)gmail.com
* Email: rust(a)lists.fedoraproject.org
== Detailed Description ==
Fedora includes packages for different versions of the zbus crate. The
packages for zbus v3 were recently retired from Fedora 42 since the
last package that used this version was ported to v4. However, there
are still a few packages left that depend on the long-obsolete zbus
v1, and tickets have been filed (or did already exist) about updating
the zbus dependency:
* `nmstate` - https://github.com/nmstate/nmstate/issues/2803
* `rust-libslirp` - https://gitlab.freedesktop.org/slirp/libslirp-rs/-/issues/5
* `squeekboard` - https://gitlab.gnome.org/World/Phosh/squeekboard/-/issues/378
We cannot continue to maintain packages for obsolete versions of the
zbus and zvariant crates indefinitely. These packages in turn pull in
dependencies that are increasingly outdated compared to other packages
in Fedora, including a lot of compat packages for older alternative
versions of existing Rust packages:
* `rust-async-io` v1 compat package (current: v2)
* `rust-async-lock` v2 compat package (current: v3)
* `rust-bitflags` v1 compat package (current: v2)
* `rust-enumflags2` v0.6 compat package (current: v0.7)
* `rust-enumflags_derive2` v0.6 compat package (current: v0.7)
* `rust-event-listener` v2 compat package (current: v5)
* `rust-futures-lite` v1 compat package (current: v2)
* `rust-io-lifetimes` v1 compat package (current: v2)
* `rust-linux-raw-sys` v0.3 compat package (current: v0.6)
* `rust-memoffset` v0.6 compat package (current: v0.9)
* `rust-nix` v0.22 compat package (current: v0.29)
* `rust-polling` v2 compat package (current: v3)
* `rust-proc-macro-crate` v0.1 compat package (current: v3)
* `rust-proc-macro-crate` v1 compat package (current: v3)
* `rust-rustix` v0.37 compat package (current: v0.38)
* `rust-socket2` v0.4 compat package (current: v0.5)
* `rust-syn` v1 compat package (current: v2)
* `rust-toml` v0.5 compat package (current: v0.8)
* `rust-toml_edit` v0.19 compat package (current: v0.22)
* `rust-winnow` v0.5 (current: 0.6)
And in turn, these compat packages pull in even more old and / or
obsolete packages.
Additionally, versions of zbus / zvariant before zbus v3.14 / zvariant
3.15 have known bugs on 32-bit systems and test failures on big-endian
systems: https://github.com/dbus2/zbus/pull/362
== Feedback ==
== Benefit to Fedora ==
Implementing this change will allow the Rust SIG to drop potentially
dozens of obsolete libraries and / or old compat packages from the
distribution. Making the dependency graph less "dense" makes
maintenance work easier due to fewer inter-dependencies that need to
be taken into account when pushing library updates.
Additionally, packages for old versions of crates often require
ongoing maintenance due to new rustc compiler errors, or require fixes
for compatibility with new versions of cargo. As a result, dropping
old packages frees up time that package maintainers could spend on
more useful work. Dropping obsolete packages from the distribution
also has indirect benefits, like reduced load on Fedora infrastructure
(koschei CI, mass rebuilds, etc.).
While none of the packages included in the list above are listed as
"vulnerable" in the RUSTSEC database, this database is not exhaustive,
and many packages in this list contain "unsafe" code that could
contain soundness problems that were just not submitted to RUSTSEC for
classification.
== Scope ==
* Proposal owners:
Retire `rust-zbus1`, `rust-zbus_macros1`, `rust-zvariant2`,
`rust-zvariant_derive2` from Fedora Rawhide / Fedora 42, at the latest
before the start of the Final Freeze for Fedora 42.
* Other developers:
Port packages that depend on zbus v1 to zbus >= v4, work with upstream
projects to do the same, or retire dependent packages.
Porting from zbus v1 to newer versions requires some code changes to
to API changes in zbus >= v2, which might or might not be trivial. For
example, this is the PR for system-76-keyboard-configurator to port it
from zbus v1 to v3 (with fewer required changes between zbus v3 and
v4): https://github.com/pop-os/keyboard-configurator/pull/221
* Release engineering:
N/A (just ensure that retired packages are removed from repositories /
blocked in koji correctly, but this is already covered by normal
Release Engineering processes)
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with the Fedora Strategy:
Dropping obsolete packages makes it easier for new contributors to
start working on the Rust stack in Fedora.
== Upgrade/compatibility impact ==
Rust library packages are not intended to be installed on end-user
systems, and are almost exclusively installed in ephemeral build
environments (i.e. mock chroots).
If any of the dependent packages (`nmstate`, `rust-libslirp`,
`squeekboard`) is retired, they can be added to
fedora-obsolete-packages. But since Rust crates are statically linked
and are not a dependency for built packages, this is not strictly
necessary.
== How To Test ==
None of the packages built from the following sources packages should
be available for installation on Fedora 42:
* rust-zbus1 (`rust-zbus1-devel`, `rust-zbus1+*-devel`)
* rust-zbus_macros1 (`rust-zbus_macros1-devel`, `rust-zbus_macros1+*-devel`)
* rust-zvariant2 (`rust-zvariant2-devel`, `rust-zvariant2+*-devel`)
* rust-zvariant_derive2 (`rust-zvariant_derive2-devel`,
`rust-zvariant_derive2+*-devel`)
== User Experience ==
N/A (not a user-facing change)
== Dependencies ==
There are three applications that currently depend on zbus v1:
* nmstate
* libslirp-helper (from rust-libslirp) - apparently obsoleted by passt?
* squeekboard
They will need to be ported to a newer version of zbus (ideally, zbus
v4, which is what is currently shipped by Fedora, though zbus v5 has
already been released as of October 18, 2024).
== Contingency Plan ==
* Contingency mechanism: packages for zbus v1 and zvariant v2 will not
be retired (or will be un-retired if already retired)
* Contingency deadline: Final Freeze
* Blocks release? No
== Documentation ==
* zbus / zvariant release notes on GitHub:
https://github.com/dbus2/zbus/releases
== Release Notes ==
N/A (not a user-facing change)
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
Wiki - https://fedoraproject.org/wiki/Changes/Python3.14
Discussion thread -
https://discussion.fedoraproject.org/t/f43-change-proposal-python-3-14-syst…
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.
== Summary ==
Update the Python stack in Fedora from Python 3.13 to Python 3.14, the
newest major release of the Python programming language.
== Owner ==
* Name: [[User:Ksurma|Karolina Surma]]
* Name: [[User:Churchyard|Miro Hrončok]]
* Email: python-maint(a)redhat.com
== Detailed Description ==
We would like to upgrade Python to 3.14 in Fedora 43 thus we are
proposing this plan early.
See the upstream notes at
[https://docs.python.org/dev/whatsnew/3.14.html#what-s-new-in-python-3-14
What's new in 3.14].
=== Important dates and plan ===
* 2024-05-08: Python 3.14 development begins
* 2024-10-15: Python 3.14.0 alpha 1
** Package it as {{package|python3.14}} for testing purposes
** Start the bootstrap procedure in Copr
** Do a mass rebuild against every future release in Copr
* 2024-11-19: Python 3.14.0 alpha 2
* 2024-12-17: Python 3.14.0 alpha 3
* 2025-01-14: Python 3.14.0 alpha 4
* 2025-02-08: Branch Fedora 42, Rawhide becomes future Fedora 43
** The earliest point when we can start rebuilding in Koji side-tag
* 2025-02-11: Python 3.14.0 alpha 5
* 2025-03-14: Python 3.14.0 alpha 6
* 2025-04-08: Python 3.14.0 alpha 7
* 2025-05-06: Python 3.14.0 beta 1
** No new features beyond this point
* 2025-05-27: Python 3.14.0 beta 2
** The ideal point when we can start rebuilding in Koji
* 2025-06-03: Expected side tag-merge (optimistic)
* 2025-06-17: Python 3.14.0 beta 3
* 2025-06-24: Expected side tag-merge (realistic)
* 2025-06-31: Expected side tag-merge (pessimistic)
* 2025-07-08: Python 3.14.0 beta 4
* 2025-07-22: Fedora 43 Mass Rebuild
** The mass rebuild happens with the fourth or third beta. We might
need to rebuild Python packages later in exceptional case.
** If the Koji side-tag is not merged yet at this point, we defer the
change to Fedora 44.
* 2025-07-22: Python 3.14.0 candidate 1
** This serves as "final" for our purposes.
* 2025-08-11: Branch Fedora 43, Rawhide becomes future Fedora 44
* 2025-08-11: Fedora 43 Change Checkpoint: Completion deadline (testable)
* 2025-08-25: Fedora Beta Freeze
** If rebuild with 3.14.0rc1 is needed, we should strive to do it
before the freeze - there is a window of 4 weeks.
* 2025-08-26: Python 3.14.0 candidate 2
* 2025-09-15: Fedora 43 Beta Release (Preferred Target)
** Beta will likely be released with 3.14.0rc2.
* 2025-10-01: Python 3.14.0 final
* 2025-10-06: Fedora 43 Final Freeze
** If the 3.14.0 final release is delayed, we'll update it using a
freeze exception.
* 2025-10-20: Fedora 43 Preferred Final Target date
* 2025-10-27: Fedora 43 Final Target date #1
(From [https://peps.python.org/pep-0745/#schedule Python 3.14 Release
Schedule] and [https://fedorapeople.org/groups/schedule/f-43/f-43-key-tasks.html
Fedora 43 Release Schedule].)
The schedule might appear somewhat tight for Fedora 43, but Python's
[https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org…
annual release cycle was adapted for Fedora] and this worked fine
since Python 3.9 and Fedora 33. It is now common that Python is
upgraded on a similar schedule in every odd-numbered Fedora release.
Note that upstream's "release candidates" are frozen except for
blocker bugs. Since we can and will backport blocker fixes between
Fedora and upstream, we essentially treat the Release Candidate as the
final release.
== Benefit to Fedora ==
Fedora aims to showcase the latest in free and open-source software -
we should have the most recent release of Python 3. Packages in Fedora
can use the new features from 3.14.
There's also a benefit to the larger Python ecosystem: by building
Fedora's packages against 3.14 while it's still in development, we can
catch critical bugs before the final 3.14.0 release.
== Scope ==
We will coordinate the work in a side tag and merge when ready.
* Proposal owners:
*# Introduce {{package|python3.14}} for all Fedoras
*# Prepare stuff in Copr as explained in description.
*# Update {{package|python-rpm-macros}} so {{package|python3.14}}
builds {{package|python3}}
*# Build {{package|python3.14}} as the main Python
*# Mass rebuild all the packages that runtime require `python(abi) =
3.13` and/or `libpython3.13.so.1.0` (~4100 known packages in October
2024)
*# Build {{package|python3.14}} as a main Python
* Other developers: Maintainers of packages that fail to rebuild
during the rebuilds will be asked, using e-mail and bugzilla, to fix
or remove their packages from the distribution. If any issues appear,
they should be solvable either by communicating with the respective
upstreams first and/or applying downstream patches. Also, the package
maintainers should have a look at:
[https://docs.python.org/dev/whatsnew/3.14.html#porting-to-python-3-14
Porting to Python 3.14]. The python-maint team will be available to
help with fixing issues.
* Release engineering: [https://pagure.io/releng/issue/12397 #12397]
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with the Fedora Strategy:
== Upgrade/compatibility impact ==
All the packages that depend on Python 3 must be rebuilt. User written
Python 3 scripts/applications may require a small amount of porting,
but mostly Python 3.13 is forward compatible with Python 3.14.
Packages that fail to install because they failed to rebuilt with
Python 3.14 will be retired at Final Freeze unless they have a
proposed Freeze Exception.
== Early Testing (Optional) ==
Do you require 'QA Blueprint' support?
== How To Test ==
Interested testers do not need special hardware. If you have a
favorite Python 3 script, module, or application, please test it with
Python 3.14 and verify that it still works as you would expect. If the
application you are testing does not require any other modules, you
can test it using {{package|python3.14}} even before this change is
implemented, in Fedora 39, 40, 41 or 42.
In case your application requires other modules, or if you are testing
an rpm package, it is necessary to install the 3.14 version of the
python3 rpm. Right now that rpm is available in copr, along with all
other python packages that build successfully with python 3.14. See
https://copr.fedorainfracloud.org/coprs/g/python/python3.14/ for
detailed instructions on how to enable Python 3.14 copr for mock.
Once the change is in place, test if your favorite Python apps are
working as they were before. File bugs if they don't.
== User Experience ==
Regular distro users shouldn't notice any change in system behavior
other than the Python 3 interpreter will be in version 3.14.
== Dependencies ==
4500+ packages depend on Python 3 and ~4100 packages need rebuilding
when Python is upgraded. See scope section.
== Contingency Plan ==
* Contingency mechanism: Do not merge the side tag with rawhide. If
the side tag has been merged and issues arise, that will justify a
downgrade, then use an epoch tag to revert to 3.13 version (never
needed before)
* Contingency deadline: beta freeze
* Blocks release? Yes, we'd like to block Fedora 43 release on at
least 3.14.0rc1
== Documentation ==
[https://peps.python.org/pep-0745/ Python 3.14 Release Schedule]
[https://docs.python.org/dev/whatsnew/3.14.html#what-s-new-in-python-3-14
What's new in 3.14]
[https://docs.python.org/dev/whatsnew/3.14.html#porting-to-python-3-14
Porting to Python 3.14]
== Release Notes ==
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
Hi all,
Please be advised of a few dates for the upcoming F41 release, and F42
development.
The Fedora Linux 41 Final Go/No-Go[1] is now happening on Thursday
24th October. You can find details in fedocal[2] and our schedule[3]
has been updated slightly to reflect new target dates. F41 Final is
still targeting a release date of Tuesday 29th October, however, if
the release candidate is deemed unsuitable, our next release target
date is Tuesday November 12th. We are currently in final freeze, which
means you are unable to land any major changes at this time and
updates will be pulled into the updates repository (if not fixing a
release blocker bug). Please refer to our updates policy: final freeze
section[4] for more details.
Fedora Linux 39 will go EOL on 26th November 2024.
For Fedora Linux 42 (the answer to life, the universe and everything),
please take note of some important upcoming dates for proposing
changes:
- Changes needing infra changes: 18th December 2024
- System Wide: 24th December 2024
- Self Contained: 14th January 2025
- F42 Branching AND Changes Testable: 4th February 2024
For other dates, please check the full F42 schedule[5].
[1] https://fedoraproject.org/wiki/Go_No_Go_Meeting
[2] https://calendar.fedoraproject.org/meeting/10917
[3] https://fedorapeople.org/groups/schedule/f-41/f-41-key-tasks.html
[4] https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#final-freeze
[5] https://fedorapeople.org/groups/schedule/f-42/f-42-all-tasks.html
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney