Skip to content

Commit 9816892

Browse files
authoredApr 4, 2022
Rollup merge of #94817 - cuviper:relnotes-1.60.0, r=pietroalbini,m-ou-se
Release notes for 1.60.0
2 parents c56cbf9 + 82eedae commit 9816892

File tree

1 file changed

+155
-0
lines changed

1 file changed

+155
-0
lines changed
 

‎RELEASES.md

+155
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,158 @@
1+
Version 1.60.0 (2022-04-07)
2+
==========================
3+
4+
Language
5+
--------
6+
- [Stabilize `#[cfg(panic = "...")]` for either `"unwind"` or `"abort"`.][93658]
7+
- [Stabilize `#[cfg(target_has_atomic = "...")]` for each integer size and `"ptr"`.][93824]
8+
9+
Compiler
10+
--------
11+
- [Enable combining `+crt-static` and `relocation-model=pic` on `x86_64-unknown-linux-gnu`][86374]
12+
- [Fixes wrong `unreachable_pub` lints on nested and glob public reexport][87487]
13+
- [Stabilize `-Z instrument-coverage` as `-C instrument-coverage`][90132]
14+
- [Stabilize `-Z print-link-args` as `--print link-args`][91606]
15+
- [Add new Tier 3 target `mips64-openwrt-linux-musl`\*][92300]
16+
- [Add new Tier 3 target `armv7-unknown-linux-uclibceabi` (softfloat)\*][92383]
17+
- [Fix invalid removal of newlines from doc comments][92357]
18+
- [Add kernel target for RustyHermit][92670]
19+
- [Deny mixing bin crate type with lib crate types][92933]
20+
- [Make rustc use `RUST_BACKTRACE=full` by default][93566]
21+
- [Upgrade to LLVM 14][93577]
22+
23+
\* Refer to Rust's [platform support page][platform-support-doc] for more
24+
information on Rust's tiered platform support.
25+
26+
Libraries
27+
---------
28+
- [Guarantee call order for `sort_by_cached_key`][89621]
29+
- [Improve `Duration::try_from_secs_f32`/`f64` accuracy by directly processing exponent and mantissa][90247]
30+
- [Make `Instant::{duration_since, elapsed, sub}` saturating][89926]
31+
- [Remove non-monotonic clocks workarounds in `Instant::now`][89926]
32+
- [Make `BuildHasherDefault`, `iter::Empty` and `future::Pending` covariant][92630]
33+
34+
Stabilized APIs
35+
---------------
36+
- [`Arc::new_cyclic`][arc_new_cyclic]
37+
- [`Rc::new_cyclic`][rc_new_cyclic]
38+
- [`slice::EscapeAscii`][slice_escape_ascii]
39+
- [`<[u8]>::escape_ascii`][slice_u8_escape_ascii]
40+
- [`u8::escape_ascii`][u8_escape_ascii]
41+
- [`Vec::spare_capacity_mut`][vec_spare_capacity_mut]
42+
- [`MaybeUninit::assume_init_drop`][assume_init_drop]
43+
- [`MaybeUninit::assume_init_read`][assume_init_read]
44+
- [`i8::abs_diff`][i8_abs_diff]
45+
- [`i16::abs_diff`][i16_abs_diff]
46+
- [`i32::abs_diff`][i32_abs_diff]
47+
- [`i64::abs_diff`][i64_abs_diff]
48+
- [`i128::abs_diff`][i128_abs_diff]
49+
- [`isize::abs_diff`][isize_abs_diff]
50+
- [`u8::abs_diff`][u8_abs_diff]
51+
- [`u16::abs_diff`][u16_abs_diff]
52+
- [`u32::abs_diff`][u32_abs_diff]
53+
- [`u64::abs_diff`][u64_abs_diff]
54+
- [`u128::abs_diff`][u128_abs_diff]
55+
- [`usize::abs_diff`][usize_abs_diff]
56+
- [`Display for io::ErrorKind`][display_error_kind]
57+
- [`From<u8> for ExitCode`][from_u8_exit_code]
58+
- [`Not for !` (the "never" type)][not_never]
59+
- [_Op_`Assign<$t> for Wrapping<$t>`][wrapping_assign_ops]
60+
- [`arch::is_aarch64_feature_detected!`][is_aarch64_feature_detected]
61+
62+
Cargo
63+
-----
64+
- [Port cargo from `toml-rs` to `toml_edit`][cargo/10086]
65+
- [Stabilize `-Ztimings` as `--timings`][cargo/10245]
66+
- [Stabilize namespaced and weak dependency features.][cargo/10269]
67+
- [Accept more `cargo:rustc-link-arg-*` types from build script output.][cargo/10274]
68+
- [cargo-new should not add ignore rule on Cargo.lock inside subdirs][cargo/10379]
69+
70+
Misc
71+
----
72+
- [Ship docs on Tier 2 platforms by reusing the closest Tier 1 platform docs][92800]
73+
- [Drop rustc-docs from complete profile][93742]
74+
- [bootstrap: tidy up flag handling for llvm build][93918]
75+
76+
Compatibility Notes
77+
-------------------
78+
- [Remove compiler-rt linking hack on Android][83822]
79+
- [Mitigations for platforms with non-monotonic clocks have been removed from
80+
`Instant::now`][89926]. On platforms that don't provide monotonic clocks, an
81+
instant is not guaranteed to be greater than an earlier instant anymore.
82+
- [`Instant::{duration_since, elapsed, sub}` do not panic anymore on underflow,
83+
saturating to `0` instead][89926]. In the real world the panic happened mostly
84+
on platforms with buggy monotonic clock implementations rather than catching
85+
programming errors like reversing the start and end times. Such programming
86+
errors will now results in `0` rather than a panic.
87+
- In a future release we're planning to increase the baseline requirements for
88+
the Linux kernel to version 3.2, and for glibc to version 2.17. We'd love
89+
your feedback in [PR #95026][95026].
90+
91+
Internal Changes
92+
----------------
93+
94+
These changes provide no direct user facing benefits, but represent significant
95+
improvements to the internals and overall performance of rustc
96+
and related tools.
97+
98+
- [Switch all libraries to the 2021 edition][92068]
99+
100+
[83822]: https://github.com/rust-lang/rust/pull/83822
101+
[86374]: https://github.com/rust-lang/rust/pull/86374
102+
[87487]: https://github.com/rust-lang/rust/pull/87487
103+
[89621]: https://github.com/rust-lang/rust/pull/89621
104+
[89926]: https://github.com/rust-lang/rust/pull/89926
105+
[90132]: https://github.com/rust-lang/rust/pull/90132
106+
[90247]: https://github.com/rust-lang/rust/pull/90247
107+
[91606]: https://github.com/rust-lang/rust/pull/91606
108+
[92068]: https://github.com/rust-lang/rust/pull/92068
109+
[92300]: https://github.com/rust-lang/rust/pull/92300
110+
[92357]: https://github.com/rust-lang/rust/pull/92357
111+
[92383]: https://github.com/rust-lang/rust/pull/92383
112+
[92630]: https://github.com/rust-lang/rust/pull/92630
113+
[92670]: https://github.com/rust-lang/rust/pull/92670
114+
[92800]: https://github.com/rust-lang/rust/pull/92800
115+
[92933]: https://github.com/rust-lang/rust/pull/92933
116+
[93566]: https://github.com/rust-lang/rust/pull/93566
117+
[93577]: https://github.com/rust-lang/rust/pull/93577
118+
[93658]: https://github.com/rust-lang/rust/pull/93658
119+
[93742]: https://github.com/rust-lang/rust/pull/93742
120+
[93824]: https://github.com/rust-lang/rust/pull/93824
121+
[93918]: https://github.com/rust-lang/rust/pull/93918
122+
[95026]: https://github.com/rust-lang/rust/pull/95026
123+
124+
[cargo/10086]: https://github.com/rust-lang/cargo/pull/10086
125+
[cargo/10245]: https://github.com/rust-lang/cargo/pull/10245
126+
[cargo/10269]: https://github.com/rust-lang/cargo/pull/10269
127+
[cargo/10274]: https://github.com/rust-lang/cargo/pull/10274
128+
[cargo/10379]: https://github.com/rust-lang/cargo/pull/10379
129+
130+
[arc_new_cyclic]: https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.new_cyclic
131+
[rc_new_cyclic]: https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.new_cyclic
132+
[slice_escape_ascii]: https://doc.rust-lang.org/stable/std/slice/struct.EscapeAscii.html
133+
[slice_u8_escape_ascii]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.escape_ascii
134+
[u8_escape_ascii]: https://doc.rust-lang.org/stable/std/primitive.u8.html#method.escape_ascii
135+
[vec_spare_capacity_mut]: https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.spare_capacity_mut
136+
[assume_init_drop]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.assume_init_drop
137+
[assume_init_read]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.assume_init_read
138+
[i8_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.i8.html#method.abs_diff
139+
[i16_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.i16.html#method.abs_diff
140+
[i32_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.i32.html#method.abs_diff
141+
[i64_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.i64.html#method.abs_diff
142+
[i128_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.i128.html#method.abs_diff
143+
[isize_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.isize.html#method.abs_diff
144+
[u8_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.u8.html#method.abs_diff
145+
[u16_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.u16.html#method.abs_diff
146+
[u32_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.u32.html#method.abs_diff
147+
[u64_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.u64.html#method.abs_diff
148+
[u128_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.u128.html#method.abs_diff
149+
[usize_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.usize.html#method.abs_diff
150+
[display_error_kind]: https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#impl-Display
151+
[from_u8_exit_code]: https://doc.rust-lang.org/stable/std/process/struct.ExitCode.html#impl-From%3Cu8%3E
152+
[not_never]: https://doc.rust-lang.org/stable/std/primitive.never.html#impl-Not
153+
[wrapping_assign_ops]: https://doc.rust-lang.org/stable/std/num/struct.Wrapping.html#trait-implementations
154+
[is_aarch64_feature_detected]: https://doc.rust-lang.org/stable/std/arch/macro.is_aarch64_feature_detected.html
155+
1156
Version 1.59.0 (2022-02-24)
2157
==========================
3158

0 commit comments

Comments
 (0)
Please sign in to comment.