Skip to content

Commit bc3f64f

Browse files
Initial 1.78 release notes
1 parent faae5f1 commit bc3f64f

File tree

1 file changed

+113
-0
lines changed

1 file changed

+113
-0
lines changed

RELEASES.md

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,116 @@
1+
Version 1.78.0 (2024-05-02)
2+
==========================
3+
4+
<a id="1.78.0-Language"></a>
5+
6+
Language
7+
--------
8+
- [Stabilize `#[cfg(target_abi = ...)]`](https://github.com/rust-lang/rust/pull/119590/)
9+
- [Stabilize the `#[diagnostic]` namespace and `#[diagnostic::on_unimplemented]` attribute](https://github.com/rust-lang/rust/pull/119888/)
10+
- [Make async-fn-in-trait implementable with concrete signatures](https://github.com/rust-lang/rust/pull/120103/)
11+
- [Make matching on NaN a hard error, and remove the rest of illegal_floating_point_literal_pattern](https://github.com/rust-lang/rust/pull/116284/)
12+
- [static mut: allow mutable reference to arbitrary types, not just slices and arrays](https://github.com/rust-lang/rust/pull/117614/)
13+
- [Add `non_local_definitions` lint for non-local `impl` definitions in functions](https://github.com/rust-lang/rust/pull/120393/)
14+
- [Add `non_contiguous_range_endpoints` lint for singleton gaps after exclusive ranges](https://github.com/rust-lang/rust/pull/118879/)
15+
- [Add `wasm_c_abi` lint for use of older wasm-bindgen versions](https://github.com/rust-lang/rust/pull/117918/)
16+
This lint only works with Cargo.
17+
- [Update `indirect_structural_match` and `pointer_structural_match` lints to match RFC](https://github.com/rust-lang/rust/pull/120423/)
18+
- [Make non-`PartialEq`-typed consts as patterns a hard error](https://github.com/rust-lang/rust/pull/120805/)
19+
- [align_offset, align_to: no longer allow implementations to spuriously fail to align](https://github.com/rust-lang/rust/pull/121201/)
20+
- [Split refining_impl_trait lint into `_reachable`, `_internal` variants](https://github.com/rust-lang/rust/pull/121720/)
21+
- [Make `ConstPropLint` lint run on promoteds](https://github.com/rust-lang/rust/pull/119432/)
22+
23+
<a id="1.78.0-Compiler"></a>
24+
25+
Compiler
26+
--------
27+
28+
- [Made `INVALID_DOC_ATTRIBUTES` lint deny by default](https://github.com/rust-lang/rust/pull/111505/)
29+
- [Extend `invalid_reference_casting` to include references casting to bigger memory layout](https://github.com/rust-lang/rust/pull/118983/)
30+
- [Increase accuracy of redundant `use` checking](https://github.com/rust-lang/rust/pull/117772/)
31+
- [Suggest moving definition if non-found macro_rules! is defined later](https://github.com/rust-lang/rust/pull/121130/)
32+
- [Lower transmutes from int to pointer type as gep on null](https://github.com/rust-lang/rust/pull/121282/)
33+
- [Update to LLVM 18](https://github.com/rust-lang/rust/pull/120055/)
34+
35+
Target changes:
36+
37+
- [Increase minimum to Windows 10 for tier 2 platform support](https://github.com/rust-lang/rust/pull/115141/)
38+
- [Enables CMPXCHG16B, SSE3, SAHF/LAHF and 128-bit Atomics in tier 1 Windows](https://github.com/rust-lang/rust/pull/120820/)
39+
- [Add `wasm32-wasip1` tier 2 (without host tools) target](https://github.com/rust-lang/rust/pull/120468/)
40+
- [Add `arm64ec-pc-windows-msvc` tier 3 target](https://github.com/rust-lang/rust/pull/119199/)
41+
- [Add `loongarch64-unknown-linux-musl` tier 3 target](https://github.com/rust-lang/rust/pull/121832/)
42+
- [Add `armv8r-none-eabihf` tier 3 target for the Cortex-R52](https://github.com/rust-lang/rust/pull/110482/)
43+
- [Rename `wasm32-wasi-preview1-threads` to `wasm32-wasip1-threads`](https://github.com/rust-lang/rust/pull/122170/)
44+
- [Add a new `wasm32-wasi-preview2` target](https://github.com/rust-lang/rust/pull/119616/)
45+
46+
- [coverage: Split out counter increment sites from BCB node/edge counters](https://github.com/rust-lang/rust/pull/120564/)
47+
- [coverage: Improve handling of function/closure spans](https://github.com/rust-lang/rust/pull/120569/)
48+
- [Only generate a ptrtoint in AtomicPtr codegen when absolutely necessary](https://github.com/rust-lang/rust/pull/122220/)
49+
50+
<a id="1.78.0-Libraries"></a>
51+
52+
Libraries
53+
---------
54+
- [Optimize away poison guards when std is built with panic=abort](https://github.com/rust-lang/rust/pull/100603/)
55+
- [PartialEq, PartialOrd: update and synchronize handling of transitive chains](https://github.com/rust-lang/rust/pull/115386/)
56+
- [Toggle assert_unsafe_precondition in codegen instead of expansion](https://github.com/rust-lang/rust/pull/120594/)
57+
- [Bump Unicode to version 15.1.0, regenerate tables](https://github.com/rust-lang/rust/pull/120777/)
58+
- [Implement unwind safety for Condvar on all platforms ](https://github.com/rust-lang/rust/pull/121768/)
59+
- [Windows: Implement condvar, mutex and rwlock using futex](https://github.com/rust-lang/rust/pull/121956/)
60+
- [Replace pthread `RwLock` with custom implementation](https://github.com/rust-lang/rust/pull/110211/)
61+
- [Add `#[rustc_no_mir_inline]` for standard library UB checks](https://github.com/rust-lang/rust/pull/121114/)
62+
- [Add ASCII fast-path for `char::is_grapheme_extended`](https://github.com/rust-lang/rust/pull/121138/)
63+
- [Always inline check in `assert_unsafe_precondition` with cfg(debug_assertions)](https://github.com/rust-lang/rust/pull/121196/)
64+
65+
<a id="1.78.0-Stabilized-APIs"></a>
66+
67+
Stabilized APIs
68+
---------------
69+
70+
- [Add Read Impl for &Stdin](https://github.com/rust-lang/rust/pull/99153/)
71+
- [`std::error::Error` -> Trait Implementations: lifetimes consistency improvement](https://github.com/rust-lang/rust/pull/113833/)
72+
- [Make `impl<Fd: AsFd>` impl take `?Sized`](https://github.com/rust-lang/rust/pull/114655/)
73+
- [impl From<TryReserveError> for `io::Error`](https://github.com/rust-lang/rust/pull/121403/)
74+
- [Make `Barrier::new()` const](https://github.com/rust-lang/rust/pull/119536/)
75+
76+
<a id="1.78.0-Cargo"></a>
77+
78+
Cargo
79+
-----
80+
- [Stabilize lockfile v4](https://github.com/rust-lang/cargo/pull/12852/)
81+
- [Respect `rust-version` when generating lockfile ](https://github.com/rust-lang/cargo/pull/12861/)
82+
- [Control `--charset` via auto-detecting config value](https://github.com/rust-lang/cargo/pull/13337/)
83+
- [Support `target.<triple>.rustdocflags` officially](https://github.com/rust-lang/cargo/pull/13197/)
84+
- [Allow `--precise` to allow yanked versions in `cargo update`](https://github.com/rust-lang/cargo/pull/13333/)
85+
- [Stabilize global cache data tracking.](https://github.com/rust-lang/cargo/pull/13492/)
86+
87+
<a id="1.78.0-Misc"></a>
88+
89+
Misc
90+
----
91+
92+
- [rustdoc: add `--test-builder-wrapper` arg to support wrappers such as RUSTC_WRAPPER when building doctests](https://github.com/rust-lang/rust/pull/114651/)
93+
94+
<a id="1.78.0-Compatibility-Notes"></a>
95+
96+
Compatibility Notes
97+
-------------------
98+
- [riscv only supports split_debuginfo=off for now](https://github.com/rust-lang/rust/pull/120518/)
99+
100+
101+
<a id="1.78.0-Internal-Changes"></a>
102+
103+
Internal Changes
104+
----------------
105+
106+
These changes do not affect any public interfaces of Rust, but they represent
107+
significant improvements to the performance or internals of rustc and related
108+
tools.
109+
110+
- [Build `rustc` with 1CGU on `x86_64-pc-windows-msvc`](https://github.com/rust-lang/rust/pull/112267/)
111+
- [Build `rustc` with 1CGU on `x86_64-apple-darwin`](https://github.com/rust-lang/rust/pull/112268/)
112+
- [Introduce `run-make` V2 infrastructure, a `run_make_support` library and port over 2 tests as example](https://github.com/rust-lang/rust/pull/113026/)
113+
1114
Version 1.77.1 (2024-03-28)
2115
===========================
3116

0 commit comments

Comments
 (0)