How to find the nightly build date for a specific rust compiler version? For example for rustc 1.84.1 which nightly to install? Thanks
Rustc 1.84.1
isn’t identical to any nightly version, because of how it was created.
(all dates & times are about UTC)
- it branched from the master branch on 22 November, 2024
- I’m not sure off the top of my head how to get this date in the most “official” way, but at least the third-party website releases.rs does have this information easily available
- edit: out of curiosity, as an examples I looked up how
cargo bisect-rustc
does this kind of “translation” – apparently the approach there is to have arust
repository available, look up the tag for the release, and then determine the merge-base, i.e. the last common ancestor, withmaster
, the date of which should give this information - if you don’t need it precisely, then you can take the release date of the previous stable version; and the branch from master should be slightly less than 1 week before that [with the current release process, 6 days]; e.g looking at Tags · rust-lang/rust · GitHub, I find
1.83.0
released onNov 28, 2024
, which is 6 days later than the “22 November” I mentioned above.
- edit: out of curiosity, as an examples I looked up how
- I’m not sure off the top of my head how to get this date in the most “official” way, but at least the third-party website releases.rs does have this information easily available
- it then existed on the beta branch for 6 weeks
- during this time, all important regression issues, e.g. code that no longer compiles properly, or compilation times being slow, some newly-introduced language or library feature having flaws discovered last-minute, etc… would be determined
- and fixed by backporting the patches from master to beta
- after this, it was released as
1.84.0
, designated to be the stable version for the next 6 weeks, starting with its release date 9 January, 2025- during this time, if regression issues are found that have been overlooked during beta, when those are considered important enough, they can be fixed on stable ~ in this case, a handful of such issues were actually found & fixes applied, which is why
1.84.1
was released on 30 January, 2025
- during this time, if regression issues are found that have been overlooked during beta, when those are considered important enough, they can be fixed on stable ~ in this case, a handful of such issues were actually found & fixes applied, which is why
All of these backports/fixes made 1.84.1
more and more different from the nightly version that it started at! Nonetheless, the nightly version(s) from when the corresponding beta branched from master is still generally the closest possible approximation.
The branching from master doesn’t happen at the same time as when nightly build happen. If 1.84
branched from master some time during November 22nd, then this means that’s some point between nightly-2024-11-22
(which is built around midnight using the last commit of November 21st, which is thus the date you see from its rustc --version
printout) and nightly-2024-11-23
(which is built around midnight from the last commit of November 22st).
For a basic introduction to the release train, see this appendix chapter in the book:
G - How Rust is Made and “Nightly Rust” - The Rust Programming Language
Out of interest: which midnight? UTC?
yes, there's a small UTC remark near the top of my reply already
Very small. Too small to notice.
This post is very insightful. Thanks