X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=RELEASES.md;h=0965e37574d074fda69042077ab01df5166b891a;hb=7faaf8f4aa60b954a7370ae04ba90a021fa80fef;hp=e0ddac9924e1ccb36f93cd02b88a71ff58521292;hpb=d47fba71821fc54f42d1112820aa053a4ffbaa4e;p=rust.git diff --git a/RELEASES.md b/RELEASES.md index e0ddac9924e..0965e37574d 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -12,21 +12,24 @@ Compiler - [Fixes wrong `unreachable_pub` lints on nested and glob public reexport][87487] - [Stabilize `-Z instrument-coverage` as `-C instrument-coverage`][90132] - [Stabilize `-Z print-link-args` as `--print link-args`][91606] -- [`mips64-openwrt-linux-musl`: Add Tier 3 target][92300] -- [Add new target `armv7-unknown-linux-uclibceabi` (softfloat)][92383] +- [Add new Tier 3 target `mips64-openwrt-linux-musl`\*][92300] +- [Add new Tier 3 target `armv7-unknown-linux-uclibceabi` (softfloat)\*][92383] - [Fix invalid removal of newlines from doc comments][92357] - [Add kernel target for RustyHermit][92670] - [Deny mixing bin crate type with lib crate types][92933] - [Make rustc use `RUST_BACKTRACE=full` by default][93566] - [Upgrade to LLVM 14][93577] +\* Refer to Rust's [platform support page][platform-support-doc] for more + information on Rust's tiered platform support. + Libraries --------- - [Guarantee call order for `sort_by_cached_key`][89621] - [Improve `Duration::try_from_secs_f32`/`f64` accuracy by directly processing exponent and mantissa][90247] -- [Switch all libraries to the 2021 edition][92068] -- [Make `Instant::{duration_since, elapsed, sub}` saturating and remove workarounds][89926] -- [Change PhantomData type for `BuildHasherDefault` (and more)][92630] +- [Make `Instant::{duration_since, elapsed, sub}` saturating][89926] +- [Remove non-monotonic clocks workarounds in `Instant::now`][89926] +- [Make `BuildHasherDefault`, `iter::Empty` and `future::Pending` covariant][92630] Stabilized APIs --------------- @@ -66,15 +69,24 @@ Cargo Misc ---- -- [Add manifest docs fallback for tier-2 platforms.][92800] +- [Ship docs on Tier 2 platforms by reusing the closest Tier 1 platform docs][92800] - [Drop rustc-docs from complete profile][93742] - [bootstrap: tidy up flag handling for llvm build][93918] Compatibility Notes ------------------- - [Remove compiler-rt linking hack on Android][83822] -- [Remove deprecated LLVM-style inline assembly][92816] -- [Reject unsupported naked functions][93153] +- [Mitigations for platforms with non-monotonic clocks have been removed from + `Instant::now`][89926]. On platforms that don't provide monotonic clocks, an + instant is not guaranteed to be greater than an earlier instant anymore. +- [`Instant::{duration_since, elapsed, sub}` do not panic anymore on underflow, + saturating to `0` instead][89926]. In the real world the panic happened mostly + on platforms with buggy monotonic clock implementations rather than catching + programming errors like reversing the start and end times. Such programming + errors will now results in `0` rather than a panic. +- In a future release we're planning to increase the baseline requirements for + the Linux kernel to version 3.2, and for glibc to version 2.17. We'd love + your feedback in [PR #95026][95026]. Internal Changes ---------------- @@ -83,7 +95,7 @@ These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools. - +- [Switch all libraries to the 2021 edition][92068] [83822]: https://github.com/rust-lang/rust/pull/83822 [86374]: https://github.com/rust-lang/rust/pull/86374 @@ -100,15 +112,14 @@ and related tools. [92630]: https://github.com/rust-lang/rust/pull/92630 [92670]: https://github.com/rust-lang/rust/pull/92670 [92800]: https://github.com/rust-lang/rust/pull/92800 -[92816]: https://github.com/rust-lang/rust/pull/92816 [92933]: https://github.com/rust-lang/rust/pull/92933 -[93153]: https://github.com/rust-lang/rust/pull/93153 [93566]: https://github.com/rust-lang/rust/pull/93566 [93577]: https://github.com/rust-lang/rust/pull/93577 [93658]: https://github.com/rust-lang/rust/pull/93658 [93742]: https://github.com/rust-lang/rust/pull/93742 [93824]: https://github.com/rust-lang/rust/pull/93824 [93918]: https://github.com/rust-lang/rust/pull/93918 +[95026]: https://github.com/rust-lang/rust/pull/95026 [cargo/10086]: https://github.com/rust-lang/cargo/pull/10086 [cargo/10245]: https://github.com/rust-lang/cargo/pull/10245