Skip to content

Commit c82c34b

Browse files
committedDec 20, 2024·
add relnotes
1 parent a89ca2c commit c82c34b

File tree

1 file changed

+114
-0
lines changed

1 file changed

+114
-0
lines changed
 

‎RELEASES.md

+114
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,117 @@
1+
Version 1.84.0 (2025-01-09)
2+
==========================
3+
4+
<a id="1.84.0-Language"></a>
5+
6+
Language
7+
--------
8+
- [Allow `#[deny]` inside `#[forbid]` as a no-op](https://github.com/rust-lang/rust/pull/121560/)
9+
- [Show a warning when `-Ctarget-feature` is used to toggle features that can lead to unsoundness due to ABI mismatches](https://github.com/rust-lang/rust/pull/129884)
10+
- [Use the next-generation trait solver in coherence](https://github.com/rust-lang/rust/pull/130654)
11+
- [Allow coercions to drop the principal of trait objects](https://github.com/rust-lang/rust/pull/131857)
12+
- [Support `/` as the path separator for `include!()` in all cases on Windows](https://github.com/rust-lang/rust/pull/125205)
13+
- [Taking a raw ref (`raw (const|mut)`) of a deref of a pointer (`*ptr`) is now safe](https://github.com/rust-lang/rust/pull/129248)
14+
- [Stabilize s390x inline assembly](https://github.com/rust-lang/rust/pull/131258)
15+
- [Stabilize Arm64EC inline assembly](https://github.com/rust-lang/rust/pull/131781)
16+
- [Lint against creating pointers to immediately dropped temporaries](https://github.com/rust-lang/rust/issues/132189)
17+
18+
<a id="1.84.0-Compiler"></a>
19+
20+
Compiler
21+
--------
22+
- [Add `--print host-tuple` flag to print the host target tuple and affirm the "target tuple" terminology over "target triple"](https://github.com/rust-lang/rust/pull/125579)
23+
- [Declaring functions with a calling convention not supported on the current target now triggers a hard error](https://github.com/rust-lang/rust/pull/129935)
24+
- [Set up indirect access to external data for `loongarch64-unknown-linux-{musl,ohos}`](https://github.com/rust-lang/rust/pull/131583)
25+
- [Enable XRay instrumentation for LoongArch Linux targets](https://github.com/rust-lang/rust/pull/131818)
26+
- [Extend the `unexpected_cfgs` lint to also warn in external macros](https://github.com/rust-lang/rust/pull/132577)
27+
- [Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features](https://github.com/rust-lang/rust/pull/131080)
28+
- [Execute drop glue when unwinding in an `extern "C"` function](https://github.com/rust-lang/rust/issues/130076)
29+
30+
<a id="1.84.0-Libraries"></a>
31+
32+
Libraries
33+
---------
34+
- [Implement `From<&mut {slice}>` for `Box/Rc/Arc<{slice}>`](https://github.com/rust-lang/rust/pull/129329)
35+
- [Move `<float>::copysign`, `<float>::abs`, `<float>::signum` to `core`](https://github.com/rust-lang/rust/pull/131304)
36+
- [Add `LowerExp` and `UpperExp` implementations to `NonZero`](https://github.com/rust-lang/rust/pull/131377)
37+
- [Implement `FromStr` for `CString` and `TryFrom<CString>` for `String`](https://github.com/rust-lang/rust/pull/130608)
38+
- [`std::os::darwin` has been made public](https://github.com/rust-lang/rust/issues/131161)
39+
40+
<a id="1.84.0-Stabilized-APIs"></a>
41+
42+
Stabilized APIs
43+
---------------
44+
45+
- [Ipv6Addr::is_unique_local]
46+
- [Ipv6Addr::is_unicast_link_local]
47+
- [`core::ptr::with_exposed_provenance`]
48+
- [`core::ptr::with_exposed_provenance::mut`]
49+
- [`<ptr>::addr`]
50+
- [`<ptr>::expose_provenance`]
51+
- [`<ptr>::with_addr`]
52+
- [`<ptr>::map_addr`]
53+
54+
These APIs are now stable in const contexts
55+
56+
- [`AtomicBool::from_ptr]
57+
- [`AtomicPtr::from_ptr`]
58+
- [`AtomicU8::from_ptr`]
59+
- [`AtomicU16::from_ptr`]
60+
- [`AtomicU32::from_ptr`]
61+
- [`AtomicU64::from_ptr`]
62+
- [`AtomicUsize::from_ptr`]
63+
- [`AtomicI8::from_ptr`]
64+
- [`AtomicI16::from_ptr`]
65+
- [`AtomicI32::from_ptr`]
66+
- [`AtomicI64::from_ptr`]
67+
- [`AtomicIsize::from_ptr`]
68+
- [`<ptr>::is_null`]
69+
- [`<ptr>::as_ref`]
70+
- [`<ptr>::as_mut`]
71+
- [`core::ptr::without_provenance`]
72+
- [`core::ptr::without_provenance_mut`]
73+
- [`core::ptr::dangling`]
74+
- [`core::ptr::dangling_mut`]
75+
- [`Pin::new`]
76+
- [`Pin::new_unchecked`]
77+
- [`Pin::get_ref`]
78+
- [`Pin::into_ref`]
79+
- [`Pin::get_mut`]
80+
- [`Pin::get_unchecked_mut`]
81+
- [`Pin::static_ref`]
82+
- [`Pin::static_mut`]
83+
- [`<int>::isqrt`]
84+
- [`<int>::checked_isqrt`]
85+
- [`<uint>::isqrt`]
86+
- [`NonZero::isqrt`]
87+
88+
<a id="1.84.0-Cargo"></a>
89+
90+
Cargo
91+
-----
92+
- [Stabilize MSRV-aware resolver config](https://github.com/rust-lang/cargo/pull/14639/)
93+
- [Stabilize resolver v3](https://github.com/rust-lang/cargo/pull/14754/)
94+
95+
<a id="1.84-Rustdoc"></a>
96+
97+
Rustdoc
98+
-------
99+
100+
- [rustdoc-search: improve type-driven search](https://github.com/rust-lang/rust/pull/127589)
101+
102+
<a id="1.84.0-Compatibility-Notes"></a>
103+
104+
Compatibility Notes
105+
-------------------
106+
- [Enable by default the `LSX` target feature for LoongArch Linux targets](https://github.com/rust-lang/rust/pull/132140)
107+
- [The unstable `-Zprofile` flag (“gcov-style” coverage instrumentation) has been removed.](https://github.com/rust-lang/rust/pull/131829) This does not affect the stable flags for coverage instrumentation (`-Cinstrument-coverage`) and profile-guided optimization (`-Cprofile-generate`, `-Cprofile-use`), which are unrelated and remain available.
108+
- Support for the target named `wasm32-wasi` has been removed as the target is now named `wasm32-wasip1`. This completes the [transition](https://github.com/rust-lang/compiler-team/issues/607) [plan](https://github.com/rust-lang/compiler-team/issues/695) for this target following [the introduction of `wasm32-wasip1`](https://github.com/rust-lang/rust/pull/120468) in Rust 1.78. Compiler warnings on [use of `wasm32-wasi`](https://github.com/rust-lang/rust/pull/126662) introduced in Rust 1.81 are now gone as well as the target is removed.
109+
<a id="1.84.0-Internal-Changes"></a>
110+
- [The syntax `&pin (mut|const) T` is now parsed as a type which in theory could effect macro expansion results in some edge cases](https://github.com/rust-lang/rust/pull/130635#issuecomment-2375462821)
111+
- [Legacy const generic arguments are no longer permitted to declare items or bodies (such as closures, inline consts, or async blocks). This does not effect normal usages of const generics in any way.](https://github.com/rust-lang/rust/pull/130443#issuecomment-2445678945)
112+
- The `wasm32-unknown-emscripten` target's binary release of the standard library is now [built with the latest emsdk 3.1.68](https://github.com/rust-lang/rust/pull/131533), which fixes an ABI-incompatibility with Emscripten >= 3.1.42. If you are locally using a version of emsdk with an incompatible ABI (e.g. before 3.1.42 or a future one), you should build your code with `-Zbuild-std` to ensure that `std` uses the correct ABI.
113+
Internal Changes
114+
1115
Version 1.83.0 (2024-11-28)
2116
==========================
3117

0 commit comments

Comments
 (0)
Please sign in to comment.