Rust 1.17 release status


#1

Key dates:

  • 4/14 - backport deadline
  • 4/21 - build starts
  • 4/27 - release

Rust 1.17 is releasing on 4/27, about 4 weeks from now. As with the last two releases, please get backports in two weeks ahead of time, by 4/14 - last minute scrambling to land fixes creates major risk. That means there are two weeks to fix bugs.

The number of outstanding regressions right now is alarming, more so I think than recent releases.

The milestone predictions indicate what’s in the release, but so far the release notes are not written. Milestone predictions have not been updated for future releases yet.

Alex and I are traveling for the next few weeks, and we are concerned about the impact on the release. Help is greatly appreciated.

There are 11 open beta regressions, and 4 new stable regressions that look potentially bad.

I have lately been concerned that intentional breakage is not being documented well enough - there are plenty of reported regressions closed wontfix, and each of these should be reported in the release notes as a compatibility note. Please Rust developers, tag all PRs that introduce intentional breakage with ‘relnotes’. It is vital we communicate these decisions to our users. If you are aware of intentional breakage in the current release, please do check on those PRs and see if they are tagged, and ensure they end up in the final release notes.

Current cargobomb reports have been triaged, and cargobomb is running against the latest beta now.

The next two release triages occur while Alex and I are travelling and have been rescheduled.

There is one item on the 1.17 milestone. It is a pet-paranoia of mine, and I will take care of it next week.

Tasks that need to be done yet:

  • Fix beta/stable bugs and nominate for backports
  • Write release notes
  • Port and land backports
  • Identify compatibility notes for milestone predictions / relnotes
  • Update milestone predictions

Anybody interested in tackling these?

Here’s my process for compiling release notes:

  • Create a GitHub PR query for rust-lang/rust over the date range the release was on nightly
  • Scan all PRs for notability, especially the ‘relnotes’ tag. For each one that should go in the notes, verify it is actually in the 'beta’ branch, add it to appropriate section
  • Scan all beta backports for notability
  • Do the same for rust-lang/cargo
  • Find the ‘library stabilization’ PR for the release and add APIs under the appropriate relnotes section
  • Review the milestone predictions thread for other notable items
  • Post PR and ask for review, nominate for backport

Here is the process for backporting to beta.

The milestone predictions thread is I think the best resource we have right now for communicating where Rust is going in the short term. The OP on that thread is editable by anyone. To add to it, in addition to just being always looking for interesting work going on that will land soon, I typically do GitHub queries for FCPs and otherwise browse the B-unstable tag.

Finally, releases seem to be getting ever more challenging to make as Rust grows, and I expect to be increasingly desperate for more help keeping them on track. Releases are where the rubber hits the road - it is where we prove that we really do uphold the ideals we claim to with respect to the stability of our product. If we relent for even a single week we risk a major error.

Let’s keep doing our best!