[Pkg-rust-maintainers] Debian Trixie and Rust 2024

Travis Cross tc at traviscross.com
Sun Jul 28 00:49:57 BST 2024


Greetings.  We understand there to be ongoing discussions about the
selection of the Rust release to include in Debian Trixie, and
relatedly, discussions about the freeze schedule for Trixie.  We've
heard there may be tentative plans to use Rust 1.83 (which we will
release on 2024-11-28) and to freeze in mid-January.  We heard that
you were hoping to freeze the Rust toolchain sooner rather than later
in the upcoming window, due to it being a dependency of many other
things.

Some time ago, within the Rust project, we finalized our plans and
scheduling for the Rust 2024 edition.[1] We're planning to release a
new edition, Rust 2024, with Rust 1.85 (which we will release on
2025-02-20).[2]

We would advise that, if at all possible, the Debian project consider
including Rust 1.85, and therefore Rust 2024, in Debian Trixie.  Given
the expected two-year life of Trixie as the latest release of Debian
stable, and the many users of Debian stable who use Debian-shipped
toolchains to build projects such as the Linux kernel[3], it'd be
helpful if those users were able to make use of the Rust 2024 edition.

We'd be happy to help facilitate that, if we can.

Rust releases happen on a strictly time-based train model, where, for
each release, we freeze and release a beta six weeks ahead of time.
We make backports only infrequently onto the beta branch (which are
always minimal and conservative) between the beta and the final
release.  Often, the beta is simply "promoted" to the stable release
with no changes.  The beta for Rust 1.85 will be released on
2025-01-09.  Depending on the freeze schedule, perhaps using the beta
and seeking a freeze exception for the final release could be an
option, so that the actual code delta for any potential freeze
exception is likely to be near zero.  That might be easier than
justifying the full delta from 1.83 or 1.84 to 1.85.  We would also be
happy to provide any supporting documentation for a freeze exception,
if needed, based on Rust's unusually strong history of stability
guarantees.

We can also help with any potential issues that arise during that
window (e.g. if testing within Debian turns up an issue with 1.84 or
1.85 that impacts Debian packages), and prioritize beta backports or
reverts accordingly.

We're hoping this schedule information and offer of assistance will
make it easier to make plans for the version of Rust in Trixie.
Thanks again for your work to bring Rust to Debian users and
developers.

---

[1] We know the Debian Rust team will already be familiar with
editions, but as background for others:

Periodically, and historically every three years, the Rust project
releases a new *edition*.  Editions are a way in which we allow users,
on a library-by-library basis (we call them "crates") to opt-in to
certain new behaviors.  New Rust compilers continue to support old
editions (forever) to avoid breaking any existing code, and one build
of a Rust project can incorporate crates that use different editions,
so an entire project need not migrate all at once.  We encourage
adoption of new editions, and in practice, observationally, these tend
to be rapidly and widely adopted by our ecosystem.

[2] This is a time-based release date, and we don't expect to bump the
edition to a later release.  While we are a project of volunteers,
like Debian, and so things could always change, we have at this moment
a lot of confidence and substantive reasons to believe that we will
hold that date.

[3] Linux kernel development is affected by this decision because of
the Rust for Linux (RFL) project.  Some kernel maintainers have stated
that they will only get involved with Rust kernel development when
they can compile the mainline kernel with the toolchain provided in
their distributions.  Therefore, the kernel is starting to support a
range of Rust toolchain versions, with Rust 1.78 as the initial
minimum supported version.  In evaluating the next minimum version of
Rust that we'll support, the kernel is taking into account the version
of Rust that will be included in the upcoming release of Debian
stable.  If that version supports Rust 2024, then it is likely the
kernel will migrate to it early, since it would provide kernel
developers with the latest improvements to the language.



More information about the Pkg-rust-maintainers mailing list