Skip to content

Commit 5c761d8

Browse files
authored
Rollup merge of #121862 - cuviper:relnotes-1.77.0, r=Mark-Simulacrum
Add release notes for 1.77.0 cc `@rust-lang/release` r? `@Mark-Simulacrum`
2 parents 3d1b04e + 87c9349 commit 5c761d8

File tree

1 file changed

+117
-0
lines changed

1 file changed

+117
-0
lines changed

RELEASES.md

+117
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,120 @@
1+
Version 1.77.0 (2024-03-21)
2+
==========================
3+
4+
<a id="1.77.0-Language"></a>
5+
6+
Language
7+
--------
8+
9+
- [Reveal opaque types within the defining body for exhaustiveness checking.](https://github.com/rust-lang/rust/pull/116821/)
10+
- [Stabilize C-string literals.](https://github.com/rust-lang/rust/pull/117472/)
11+
- [Stabilize THIR unsafeck.](https://github.com/rust-lang/rust/pull/117673/)
12+
- [Add lint `static_mut_refs` to warn on references to mutable statics.](https://github.com/rust-lang/rust/pull/117556/)
13+
- [Support async recursive calls (as long as they have indirection).](https://github.com/rust-lang/rust/pull/117703/)
14+
- [Undeprecate lint `unstable_features` and make use of it in the compiler.](https://github.com/rust-lang/rust/pull/118639/)
15+
- [Make inductive cycles in coherence ambiguous always.](https://github.com/rust-lang/rust/pull/118649/)
16+
- [Get rid of type-driven traversal in const-eval interning](https://github.com/rust-lang/rust/pull/119044/),
17+
only as a [future compatiblity lint](https://github.com/rust-lang/rust/pull/122204) for now.
18+
- [Deny braced macro invocations in let-else.](https://github.com/rust-lang/rust/pull/119062/)
19+
20+
<a id="1.77.0-Compiler"></a>
21+
22+
Compiler
23+
--------
24+
25+
- [Include lint `soft_unstable` in future breakage reports.](https://github.com/rust-lang/rust/pull/116274/)
26+
- [Make `i128` and `u128` 16-byte aligned on x86-based targets.](https://github.com/rust-lang/rust/pull/116672/)
27+
- [Use `--verbose` in diagnostic output.](https://github.com/rust-lang/rust/pull/119129/)
28+
- [Improve spacing between printed tokens.](https://github.com/rust-lang/rust/pull/120227/)
29+
- [Merge the `unused_tuple_struct_fields` lint into `dead_code`.](https://github.com/rust-lang/rust/pull/118297/)
30+
- [Error on incorrect implied bounds in well-formedness check](https://github.com/rust-lang/rust/pull/118553/),
31+
with a temporary exception for Bevy.
32+
- [Fix coverage instrumentation/reports for non-ASCII source code.](https://github.com/rust-lang/rust/pull/119033/)
33+
- [Fix `fn`/`const` items implied bounds and well-formedness check.](https://github.com/rust-lang/rust/pull/120019/)
34+
- [Promote `riscv32{im|imafc}-unknown-none-elf` targets to tier 2.](https://github.com/rust-lang/rust/pull/118704/)
35+
- Add several new tier 3 targets:
36+
- [`aarch64-unknown-illumos`](https://github.com/rust-lang/rust/pull/112936/)
37+
- [`hexagon-unknown-none-elf`](https://github.com/rust-lang/rust/pull/117601/)
38+
- [`riscv32imafc-esp-espidf`](https://github.com/rust-lang/rust/pull/119738/)
39+
- [`riscv32im-risc0-zkvm-elf`](https://github.com/rust-lang/rust/pull/117958/)
40+
41+
Refer to Rust's [platform support page][platform-support-doc]
42+
for more information on Rust's tiered platform support.
43+
44+
<a id="1.77.0-Libraries"></a>
45+
46+
Libraries
47+
---------
48+
49+
- [Implement `From<&[T; N]>` for `Cow<[T]>`.](https://github.com/rust-lang/rust/pull/113489/)
50+
- [Remove special-case handling of `vec.split_off(0)`.](https://github.com/rust-lang/rust/pull/119917/)
51+
52+
<a id="1.77.0-Stabilized-APIs"></a>
53+
54+
Stabilized APIs
55+
---------------
56+
57+
- [`array::each_ref`](https://doc.rust-lang.org/stable/std/primitive.array.html#method.each_ref)
58+
- [`array::each_mut`](https://doc.rust-lang.org/stable/std/primitive.array.html#method.each_mut)
59+
- [`core::net`](https://doc.rust-lang.org/stable/core/net/index.html)
60+
- [`f32::round_ties_even`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.round_ties_even)
61+
- [`f64::round_ties_even`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.round_ties_even)
62+
- [`mem::offset_of!`](https://doc.rust-lang.org/stable/std/mem/macro.offset_of.html)
63+
- [`slice::first_chunk`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.first_chunk)
64+
- [`slice::first_chunk_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.first_chunk_mut)
65+
- [`slice::split_first_chunk`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_first_chunk)
66+
- [`slice::split_first_chunk_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_first_chunk_mut)
67+
- [`slice::last_chunk`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.last_chunk)
68+
- [`slice::last_chunk_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.last_chunk_mut)
69+
- [`slice::split_last_chunk`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_last_chunk)
70+
- [`slice::split_last_chunk_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_last_chunk_mut)
71+
- [`slice::chunk_by`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.chunk_by)
72+
- [`slice::chunk_by_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.chunk_by_mut)
73+
- [`Bound::map`](https://doc.rust-lang.org/stable/std/ops/enum.Bound.html#method.map)
74+
- [`File::create_new`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.create_new)
75+
- [`Mutex::clear_poison`](https://doc.rust-lang.org/stable/std/sync/struct.Mutex.html#method.clear_poison)
76+
- [`RwLock::clear_poison`](https://doc.rust-lang.org/stable/std/sync/struct.RwLock.html#method.clear_poison)
77+
78+
<a id="1.77.0-Cargo"></a>
79+
80+
Cargo
81+
-----
82+
83+
- [Extend the build directive syntax with `cargo::`.](https://github.com/rust-lang/cargo/pull/12201/)
84+
- [Stabilize metadata `id` format as `PackageIDSpec`.](https://github.com/rust-lang/cargo/pull/12914/)
85+
- [Pull out as `cargo-util-schemas` as a crate.](https://github.com/rust-lang/cargo/pull/13178/)
86+
- [Strip all debuginfo when debuginfo is not requested.](https://github.com/rust-lang/cargo/pull/13257/)
87+
- [Inherit jobserver from env for all kinds of runners.](https://github.com/rust-lang/cargo/pull/12776/)
88+
- [Deprecate rustc plugin support in cargo.](https://github.com/rust-lang/cargo/pull/13248/)
89+
90+
<a id="1.77.0-Rustdoc"></a>
91+
92+
Rustdoc
93+
-----
94+
95+
- [Allows links in markdown headings.](https://github.com/rust-lang/rust/pull/117662/)
96+
- [Search for tuples and unit by type with `()`.](https://github.com/rust-lang/rust/pull/118194/)
97+
- [Clean up the source sidebar's hide button.](https://github.com/rust-lang/rust/pull/119066/)
98+
- [Prevent JS injection from `localStorage`.](https://github.com/rust-lang/rust/pull/120250/)
99+
100+
<a id="1.77.0-Misc"></a>
101+
102+
Misc
103+
----
104+
105+
- [Recommend version-sorting for all sorting in style guide.](https://github.com/rust-lang/rust/pull/115046/)
106+
107+
<a id="1.77.0-Internal-Changes"></a>
108+
109+
Internal Changes
110+
----------------
111+
112+
These changes do not affect any public interfaces of Rust, but they represent
113+
significant improvements to the performance or internals of rustc and related
114+
tools.
115+
116+
- [Add more weirdness to `weird-exprs.rs`.](https://github.com/rust-lang/rust/pull/119028/)
117+
1118
Version 1.76.0 (2024-02-08)
2119
==========================
3120

0 commit comments

Comments
 (0)