Skip to content

Commit 07dca48

Browse files
committed
Auto merge of #120627 - Mark-Simulacrum:stable-next, r=Mark-Simulacrum
[stable] Prepare 1.76.0 release https://forge.rust-lang.org/release/process.html#promote-branches-t-3-days-monday No last minute backports this time (at least yet). r? `@Mark-Simulacrum`
2 parents 1633e2a + 35d8403 commit 07dca48

File tree

2 files changed

+219
-1
lines changed

2 files changed

+219
-1
lines changed

RELEASES.md

+218
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,221 @@
1+
Version 1.76.0 (2024-02-08)
2+
==========================
3+
4+
<a id="1.76.0-Language"></a>
5+
6+
Language
7+
--------
8+
- [Document Rust ABI compatibility between various types](https://github.com/rust-lang/rust/pull/115476/)
9+
- [Also: guarantee that char and u32 are ABI-compatible](https://github.com/rust-lang/rust/pull/118032/)
10+
- [Warn against ambiguous wide pointer comparisons](https://github.com/rust-lang/rust/pull/117758/)
11+
12+
<a id="1.76.0-Compiler"></a>
13+
14+
Compiler
15+
--------
16+
- [Lint pinned `#[must_use]` pointers (in particular, `Box<T>` where `T` is `#[must_use]`) in `unused_must_use`.](https://github.com/rust-lang/rust/pull/118054/)
17+
- [Soundness fix: fix computing the offset of an unsized field in a packed struct](https://github.com/rust-lang/rust/pull/118540/)
18+
- [Soundness fix: fix dynamic size/align computation logic for packed types with dyn Trait tail](https://github.com/rust-lang/rust/pull/118538/)
19+
- [Add `$message_type` field to distinguish json diagnostic outputs](https://github.com/rust-lang/rust/pull/115691/)
20+
- [Enable Rust to use the EHCont security feature of Windows](https://github.com/rust-lang/rust/pull/118013/)
21+
- [Add tier 3 {x86_64,i686}-win7-windows-msvc targets](https://github.com/rust-lang/rust/pull/118150/)
22+
- [Add tier 3 aarch64-apple-watchos target](https://github.com/rust-lang/rust/pull/119074/)
23+
- [Add tier 3 arm64e-apple-ios & arm64e-apple-darwin targets](https://github.com/rust-lang/rust/pull/115526/)
24+
25+
Refer to Rust's [platform support page][platform-support-doc]
26+
for more information on Rust's tiered platform support.
27+
28+
<a id="1.76.0-Libraries"></a>
29+
30+
Libraries
31+
---------
32+
- [Add a column number to `dbg!()`](https://github.com/rust-lang/rust/pull/114962/)
33+
- [Add `std::hash::{DefaultHasher, RandomState}` exports](https://github.com/rust-lang/rust/pull/115694/)
34+
- [Fix rounding issue with exponents in fmt](https://github.com/rust-lang/rust/pull/116301/)
35+
- [Add T: ?Sized to `RwLockReadGuard` and `RwLockWriteGuard`'s Debug impls.](https://github.com/rust-lang/rust/pull/117138/)
36+
- [Windows: Allow `File::create` to work on hidden files](https://github.com/rust-lang/rust/pull/116438/)
37+
38+
<a id="1.76.0-Stabilized-APIs"></a>
39+
40+
Stabilized APIs
41+
---------------
42+
43+
- [`Arc::unwrap_or_clone`](https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.unwrap_or_clone)
44+
- [`Rc::unwrap_or_clone`](https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.unwrap_or_clone)
45+
- [`Result::inspect`](https://doc.rust-lang.org/stable/std/result/enum.Result.html#method.inspect)
46+
- [`Result::inspect_err`](https://doc.rust-lang.org/stable/std/result/enum.Result.html#method.inspect_err)
47+
- [`Option::inspect`](https://doc.rust-lang.org/stable/std/option/enum.Option.html#method.inspect)
48+
- [`type_name_of_val`](https://doc.rust-lang.org/stable/std/any/fn.type_name_of_val.html)
49+
- [`std::hash::{DefaultHasher, RandomState}`](https://doc.rust-lang.org/stable/std/hash/index.html#structs)
50+
These were previously available only through `std::collections::hash_map`.
51+
- [`ptr::{from_ref, from_mut}`](https://doc.rust-lang.org/stable/std/ptr/fn.from_ref.html)
52+
- [`ptr::addr_eq`](https://doc.rust-lang.org/stable/std/ptr/fn.addr_eq.html)
53+
54+
<a id="1.76.0-Cargo"></a>
55+
56+
Cargo
57+
-----
58+
59+
See [Cargo release notes](https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md#cargo-176-2024-02-08).
60+
61+
<a id="1.76.0-Rustdoc"></a>
62+
63+
Rustdoc
64+
-------
65+
66+
- [Don't merge cfg and doc(cfg) attributes for re-exports](https://github.com/rust-lang/rust/pull/113091/)
67+
- [rustdoc: allow resizing the sidebar / hiding the top bar](https://github.com/rust-lang/rust/pull/115660/)
68+
- [rustdoc-search: add support for traits and associated types](https://github.com/rust-lang/rust/pull/116085/)
69+
- [rustdoc: Add highlighting for comments in items declaration](https://github.com/rust-lang/rust/pull/117869/)
70+
71+
<a id="1.76.0-Compatibility-Notes"></a>
72+
73+
Compatibility Notes
74+
-------------------
75+
- [Add allow-by-default lint for unit bindings](https://github.com/rust-lang/rust/pull/112380/)
76+
This is expected to be upgraded to a warning by default in a future Rust
77+
release. Some macros emit bindings with type `()` with user-provided spans,
78+
which means that this lint will warn for user code.
79+
- [Remove x86_64-sun-solaris target.](https://github.com/rust-lang/rust/pull/118091/)
80+
- [Remove asmjs-unknown-emscripten target](https://github.com/rust-lang/rust/pull/117338/)
81+
- [Report errors in jobserver inherited through environment variables](https://github.com/rust-lang/rust/pull/113730/)
82+
This [may warn](https://github.com/rust-lang/rust/issues/120515) on benign problems too.
83+
- [Update the minimum external LLVM to 16.](https://github.com/rust-lang/rust/pull/117947/)
84+
- [Improve `print_tts`](https://github.com/rust-lang/rust/pull/114571/)
85+
This change can break some naive manual parsing of token trees in proc macro
86+
code which expect a particular structure after `.to_string()`, rather than just arbitrary Rust code.
87+
- [Make `IMPLIED_BOUNDS_ENTAILMENT` into a hard error from a lint](https://github.com/rust-lang/rust/pull/117984/)
88+
- [Vec's allocation behavior was changed when collecting some iterators](https://github.com/rust-lang/rust/pull/110353)
89+
Allocation behavior is currently not specified, nevertheless changes can be surprising.
90+
See [`impl FromIterator for Vec`](https://doc.rust-lang.org/nightly/std/vec/struct.Vec.html#impl-FromIterator%3CT%3E-for-Vec%3CT%3E)
91+
for more details.
92+
- [Properly reject `default` on free const items](https://github.com/rust-lang/rust/pull/117818/)
93+
94+
Version 1.75.0 (2023-12-28)
95+
==========================
96+
97+
<a id="1.75.0-Language"></a>
98+
99+
Language
100+
--------
101+
102+
- [Stabilize `async fn` and return-position `impl Trait` in traits.](https://github.com/rust-lang/rust/pull/115822/)
103+
- [Allow function pointer signatures containing `&mut T` in `const` contexts.](https://github.com/rust-lang/rust/pull/116015/)
104+
- [Match `usize`/`isize` exhaustively with half-open ranges.](https://github.com/rust-lang/rust/pull/116692/)
105+
- [Guarantee that `char` has the same size and alignment as `u32`.](https://github.com/rust-lang/rust/pull/116894/)
106+
- [Document that the null pointer has the 0 address.](https://github.com/rust-lang/rust/pull/116988/)
107+
- [Allow partially moved values in `match`.](https://github.com/rust-lang/rust/pull/103208/)
108+
- [Add notes about non-compliant FP behavior on 32bit x86 targets.](https://github.com/rust-lang/rust/pull/113053/)
109+
- [Stabilize ratified RISC-V target features.](https://github.com/rust-lang/rust/pull/116485/)
110+
111+
<a id="1.75.0-Compiler"></a>
112+
113+
Compiler
114+
--------
115+
116+
- [Rework negative coherence to properly consider impls that only partly overlap.](https://github.com/rust-lang/rust/pull/112875/)
117+
- [Bump `COINDUCTIVE_OVERLAP_IN_COHERENCE` to deny, and warn in dependencies.](https://github.com/rust-lang/rust/pull/116493/)
118+
- [Consider alias bounds when computing liveness in NLL.](https://github.com/rust-lang/rust/pull/116733/)
119+
- [Add the V (vector) extension to the `riscv64-linux-android` target spec.](https://github.com/rust-lang/rust/pull/116618/)
120+
- [Automatically enable cross-crate inlining for small functions](https://github.com/rust-lang/rust/pull/116505)
121+
- Add several new tier 3 targets:
122+
- [`csky-unknown-linux-gnuabiv2hf`](https://github.com/rust-lang/rust/pull/117049/)
123+
- [`i586-unknown-netbsd`](https://github.com/rust-lang/rust/pull/117170/)
124+
- [`mipsel-unknown-netbsd`](https://github.com/rust-lang/rust/pull/117356/)
125+
126+
Refer to Rust's [platform support page][platform-support-doc]
127+
for more information on Rust's tiered platform support.
128+
129+
<a id="1.75.0-Libraries"></a>
130+
131+
Libraries
132+
---------
133+
134+
- [Override `Waker::clone_from` to avoid cloning `Waker`s unnecessarily.](https://github.com/rust-lang/rust/pull/96979/)
135+
- [Implement `BufRead` for `VecDeque<u8>`.](https://github.com/rust-lang/rust/pull/110604/)
136+
- [Implement `FusedIterator` for `DecodeUtf16` when the inner iterator does.](https://github.com/rust-lang/rust/pull/110729/)
137+
- [Implement `Not, Bit{And,Or}{,Assign}` for IP addresses.](https://github.com/rust-lang/rust/pull/113747/)
138+
- [Implement `Default` for `ExitCode`.](https://github.com/rust-lang/rust/pull/114589/)
139+
- [Guarantee representation of None in NPO](https://github.com/rust-lang/rust/pull/115333/)
140+
- [Document when atomic loads are guaranteed read-only.](https://github.com/rust-lang/rust/pull/115577/)
141+
- [Broaden the consequences of recursive TLS initialization.](https://github.com/rust-lang/rust/pull/116172/)
142+
- [Windows: Support sub-millisecond sleep.](https://github.com/rust-lang/rust/pull/116461/)
143+
- [Fix generic bound of `str::SplitInclusive`'s `DoubleEndedIterator` impl](https://github.com/rust-lang/rust/pull/100806/)
144+
- [Fix exit status / wait status on non-Unix `cfg(unix)` platforms.](https://github.com/rust-lang/rust/pull/115108/)
145+
146+
<a id="1.75.0-Stabilized-APIs"></a>
147+
148+
Stabilized APIs
149+
---------------
150+
151+
- [`Atomic*::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.from_ptr)
152+
- [`FileTimes`](https://doc.rust-lang.org/stable/std/fs/struct.FileTimes.html)
153+
- [`FileTimesExt`](https://doc.rust-lang.org/stable/std/os/windows/fs/trait.FileTimesExt.html)
154+
- [`File::set_modified`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.set_modified)
155+
- [`File::set_times`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.set_times)
156+
- [`IpAddr::to_canonical`](https://doc.rust-lang.org/stable/core/net/enum.IpAddr.html#method.to_canonical)
157+
- [`Ipv6Addr::to_canonical`](https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.to_canonical)
158+
- [`Option::as_slice`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.as_slice)
159+
- [`Option::as_mut_slice`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.as_mut_slice)
160+
- [`pointer::byte_add`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_add)
161+
- [`pointer::byte_offset`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_offset)
162+
- [`pointer::byte_offset_from`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_offset_from)
163+
- [`pointer::byte_sub`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_sub)
164+
- [`pointer::wrapping_byte_add`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.wrapping_byte_add)
165+
- [`pointer::wrapping_byte_offset`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.wrapping_byte_offset)
166+
- [`pointer::wrapping_byte_sub`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.wrapping_byte_sub)
167+
168+
These APIs are now stable in const contexts:
169+
170+
- [`Ipv6Addr::to_ipv4_mapped`](https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.to_ipv4_mapped)
171+
- [`MaybeUninit::assume_init_read`](https://doc.rust-lang.org/stable/core/mem/union.MaybeUninit.html#method.assume_init_read)
172+
- [`MaybeUninit::zeroed`](https://doc.rust-lang.org/stable/core/mem/union.MaybeUninit.html#method.zeroed)
173+
- [`mem::discriminant`](https://doc.rust-lang.org/stable/core/mem/fn.discriminant.html)
174+
- [`mem::zeroed`](https://doc.rust-lang.org/stable/core/mem/fn.zeroed.html)
175+
176+
<a id="1.75.0-Cargo"></a>
177+
178+
Cargo
179+
-----
180+
181+
- [Add new packages to `[workspace.members]` automatically.](https://github.com/rust-lang/cargo/pull/12779/)
182+
- [Allow version-less `Cargo.toml` manifests.](https://github.com/rust-lang/cargo/pull/12786/)
183+
- [Make browser links out of HTML file paths.](https://github.com/rust-lang/cargo/pull/12889)
184+
185+
<a id="1.75.0-Rustdoc"></a>
186+
187+
Rustdoc
188+
-------
189+
190+
- [Accept less invalid Rust in rustdoc.](https://github.com/rust-lang/rust/pull/117450/)
191+
- [Document lack of object safety on affected traits.](https://github.com/rust-lang/rust/pull/113241/)
192+
- [Hide `#[repr(transparent)]` if it isn't part of the public ABI.](https://github.com/rust-lang/rust/pull/115439/)
193+
- [Show enum discriminant if it is a C-like variant.](https://github.com/rust-lang/rust/pull/116142/)
194+
195+
<a id="1.75.0-Compatibility-Notes"></a>
196+
197+
Compatibility Notes
198+
-------------------
199+
200+
- [FreeBSD targets now require at least version 12.](https://github.com/rust-lang/rust/pull/114521/)
201+
- [Formally demote tier 2 MIPS targets to tier 3.](https://github.com/rust-lang/rust/pull/115238/)
202+
- [Make misalignment a hard error in `const` contexts.](https://github.com/rust-lang/rust/pull/115524/)
203+
- [Fix detecting references to packed unsized fields.](https://github.com/rust-lang/rust/pull/115583/)
204+
- [Remove support for compiler plugins.](https://github.com/rust-lang/rust/pull/116412/)
205+
206+
<a id="1.75.0-Internal-Changes"></a>
207+
208+
Internal Changes
209+
----------------
210+
211+
These changes do not affect any public interfaces of Rust, but they represent
212+
significant improvements to the performance or internals of rustc and related
213+
tools.
214+
215+
- [Optimize `librustc_driver.so` with BOLT.](https://github.com/rust-lang/rust/pull/116352/)
216+
- [Enable parallel rustc front end in dev and nightly builds.](https://github.com/rust-lang/rust/pull/117435/)
217+
- [Distribute `rustc-codegen-cranelift` as rustup component on the nightly channel.](https://github.com/rust-lang/rust/pull/81746/)
218+
1219
Version 1.74.1 (2023-12-07)
2220
===========================
3221

src/ci/channel

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
beta
1+
stable

0 commit comments

Comments
 (0)