Skip to content

Commit

Permalink
add relnotes
Browse files Browse the repository at this point in the history
  • Loading branch information
BoxyUwU committed Dec 20, 2024
1 parent a89ca2c commit c82c34b
Showing 1 changed file with 114 additions and 0 deletions.
114 changes: 114 additions & 0 deletions RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,117 @@
Version 1.84.0 (2025-01-09)
==========================

<a id="1.84.0-Language"></a>

Language
--------
- [Allow `#[deny]` inside `#[forbid]` as a no-op](https://github.com/rust-lang/rust/pull/121560/)
- [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)
- [Use the next-generation trait solver in coherence](https://github.com/rust-lang/rust/pull/130654)
- [Allow coercions to drop the principal of trait objects](https://github.com/rust-lang/rust/pull/131857)
- [Support `/` as the path separator for `include!()` in all cases on Windows](https://github.com/rust-lang/rust/pull/125205)
- [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)
- [Stabilize s390x inline assembly](https://github.com/rust-lang/rust/pull/131258)
- [Stabilize Arm64EC inline assembly](https://github.com/rust-lang/rust/pull/131781)
- [Lint against creating pointers to immediately dropped temporaries](https://github.com/rust-lang/rust/issues/132189)

<a id="1.84.0-Compiler"></a>

Compiler
--------
- [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)
- [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)
- [Set up indirect access to external data for `loongarch64-unknown-linux-{musl,ohos}`](https://github.com/rust-lang/rust/pull/131583)
- [Enable XRay instrumentation for LoongArch Linux targets](https://github.com/rust-lang/rust/pull/131818)
- [Extend the `unexpected_cfgs` lint to also warn in external macros](https://github.com/rust-lang/rust/pull/132577)
- [Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features](https://github.com/rust-lang/rust/pull/131080)
- [Execute drop glue when unwinding in an `extern "C"` function](https://github.com/rust-lang/rust/issues/130076)

<a id="1.84.0-Libraries"></a>

Libraries
---------
- [Implement `From<&mut {slice}>` for `Box/Rc/Arc<{slice}>`](https://github.com/rust-lang/rust/pull/129329)
- [Move `<float>::copysign`, `<float>::abs`, `<float>::signum` to `core`](https://github.com/rust-lang/rust/pull/131304)
- [Add `LowerExp` and `UpperExp` implementations to `NonZero`](https://github.com/rust-lang/rust/pull/131377)
- [Implement `FromStr` for `CString` and `TryFrom<CString>` for `String`](https://github.com/rust-lang/rust/pull/130608)
- [`std::os::darwin` has been made public](https://github.com/rust-lang/rust/issues/131161)

<a id="1.84.0-Stabilized-APIs"></a>

Stabilized APIs
---------------

- [Ipv6Addr::is_unique_local]
- [Ipv6Addr::is_unicast_link_local]
- [`core::ptr::with_exposed_provenance`]
- [`core::ptr::with_exposed_provenance::mut`]
- [`<ptr>::addr`]
- [`<ptr>::expose_provenance`]
- [`<ptr>::with_addr`]
- [`<ptr>::map_addr`]

These APIs are now stable in const contexts

- [`AtomicBool::from_ptr]
- [`AtomicPtr::from_ptr`]
- [`AtomicU8::from_ptr`]
- [`AtomicU16::from_ptr`]
- [`AtomicU32::from_ptr`]
- [`AtomicU64::from_ptr`]
- [`AtomicUsize::from_ptr`]
- [`AtomicI8::from_ptr`]
- [`AtomicI16::from_ptr`]
- [`AtomicI32::from_ptr`]
- [`AtomicI64::from_ptr`]
- [`AtomicIsize::from_ptr`]
- [`<ptr>::is_null`]
- [`<ptr>::as_ref`]
- [`<ptr>::as_mut`]
- [`core::ptr::without_provenance`]
- [`core::ptr::without_provenance_mut`]
- [`core::ptr::dangling`]
- [`core::ptr::dangling_mut`]
- [`Pin::new`]
- [`Pin::new_unchecked`]
- [`Pin::get_ref`]
- [`Pin::into_ref`]
- [`Pin::get_mut`]
- [`Pin::get_unchecked_mut`]
- [`Pin::static_ref`]
- [`Pin::static_mut`]
- [`<int>::isqrt`]
- [`<int>::checked_isqrt`]
- [`<uint>::isqrt`]
- [`NonZero::isqrt`]

<a id="1.84.0-Cargo"></a>

Cargo
-----
- [Stabilize MSRV-aware resolver config](https://github.com/rust-lang/cargo/pull/14639/)
- [Stabilize resolver v3](https://github.com/rust-lang/cargo/pull/14754/)

<a id="1.84-Rustdoc"></a>

Rustdoc
-------

- [rustdoc-search: improve type-driven search](https://github.com/rust-lang/rust/pull/127589)

<a id="1.84.0-Compatibility-Notes"></a>

Compatibility Notes
-------------------
- [Enable by default the `LSX` target feature for LoongArch Linux targets](https://github.com/rust-lang/rust/pull/132140)
- [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.
- 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.
<a id="1.84.0-Internal-Changes"></a>
- [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)
- [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)
- 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.
Internal Changes

Version 1.83.0 (2024-11-28)
==========================

Expand Down

0 comments on commit c82c34b

Please sign in to comment.