From af3bf85311023f8cbee6a8268a917aec1b090218 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Thu, 6 Apr 2023 17:41:51 -0700 Subject: [PATCH 01/11] Add 1.69.0 release notes --- RELEASES.md | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) diff --git a/RELEASES.md b/RELEASES.md index b923f87abfd47..f07b97e2acdcb 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,3 +1,112 @@ +Version 1.69.0 (2023-04-20) +========================== + + + +Language +-------- + +- [Deriving built-in traits on packed structs works with `Copy` fields.](https://github.com/rust-lang/rust/pull/104429/) +- [Stabilize the `cmpxchg16b` target feature on x86 and x86_64.](https://github.com/rust-lang/rust/pull/106774/) +- [Add normalization to satisfy trait bounds involving type projections.](https://github.com/rust-lang/rust/pull/103695/) +- [Add normalization that allows type projections in union fields.](https://github.com/rust-lang/rust/pull/106938/) +- [Allow `Self: Autotrait` bounds on dyn-safe trait methods.](https://github.com/rust-lang/rust/pull/107082/) +- [Treat `str` as containing `[u8]` for auto trait purposes.](https://github.com/rust-lang/rust/pull/107941/) + + + +Compiler +-------- + +- [Upgrade mingw-w64 on CI to GCC 12.3.](https://github.com/rust-lang/rust/pull/100178/) +- [Rework min_choice algorithm of member constraints.](https://github.com/rust-lang/rust/pull/105300/) +- [Support `true` and `false` as boolean flags in compiler arguments.](https://github.com/rust-lang/rust/pull/107043/) +- [Default `repr(C)` enums to `c_int` size.](https://github.com/rust-lang/rust/pull/107592/) + + + +Libraries +--------- + +- [Implement the unstable `DispatchFromDyn` for cell types, allowing downstream experimentation with custom method receivers.](https://github.com/rust-lang/rust/pull/97373/) +- [Document that `fmt::Arguments::as_str()` may return `Some(_)` in more cases after optimization, subject to change.](https://github.com/rust-lang/rust/pull/106823/) +- [Implement `AsFd` and `AsRawFd` for `Rc`.](https://github.com/rust-lang/rust/pull/107317/) +- [Move `IpAddr`, `SocketAddr` and V4+V6 related types to `core`](https://github.com/rust-lang/rust/pull/104265/) + + + +Stabilized APIs +--------------- + +- [`CStr::from_bytes_until_nul`](https://doc.rust-lang.org/stable/core/ffi/struct.CStr.html#method.from_bytes_until_nul) +- [`core::ffi::FromBytesUntilNulError`](https://doc.rust-lang.org/stable/core/ffi/struct.FromBytesUntilNulError.html) + +These APIs are now stable in const contexts: + +- [`SocketAddr::new`](https://doc.rust-lang.org/stable/std/net/enum.SocketAddr.html#method.new) +- [`SocketAddr::ip`](https://doc.rust-lang.org/stable/std/net/enum.SocketAddr.html#method.ip) +- [`SocketAddr::port`](https://doc.rust-lang.org/stable/std/net/enum.SocketAddr.html#method.port) +- [`SocketAddr::is_ipv4`](https://doc.rust-lang.org/stable/std/net/enum.SocketAddr.html#method.is_ipv4) +- [`SocketAddr::is_ipv6`](https://doc.rust-lang.org/stable/std/net/enum.SocketAddr.html#method.is_ipv6) +- [`SocketAddrV4::new`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV4.html#method.new) +- [`SocketAddrV4::ip`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV4.html#method.ip) +- [`SocketAddrV4::port`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV4.html#method.port) +- [`SocketAddrV6::new`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.new) +- [`SocketAddrV6::ip`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.ip) +- [`SocketAddrV6::port`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.port) +- [`SocketAddrV6::flowinfo`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.flowinfo) +- [`SocketAddrV6::scope_id`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.scope_id) + + + +Cargo +----- + +- [Added '-C' flag for changing current dir before build](https://github.com/rust-lang/cargo/pull/10952/) +- [Cargo now suggests `cargo fix` or `cargo clippy --fix` when compilation warnings/errors are auto-fixable.](https://github.com/rust-lang/cargo/pull/11558/) +- [Cargo now suggests `cargo add` if you try to install a library crate.](https://github.com/rust-lang/cargo/pull/11410/) +- [Cargo now sets `CARGO_BIN_NAME` environment variable also for binary examples.](https://github.com/rust-lang/cargo/pull/11705/) + + + +Rustdoc +----- + +- [Vertically compact trait bound formatting.](https://github.com/rust-lang/rust/pull/102842/) +- [Only include stable lints in `rustdoc::all` group.](https://github.com/rust-lang/rust/pull/106316/) +- [Compute maximum Levenshtein distance based on the query.](https://github.com/rust-lang/rust/pull/107141/) +- [Remove inconsistently-present sidebar tooltips.](https://github.com/rust-lang/rust/pull/107490/) +- [Search by macro when query ends with `!`.](https://github.com/rust-lang/rust/pull/108143/) + + + +Misc +---- + + + +Compatibility Notes +------------------- + +- [Remove `-Zsave-analysis` from the compiler, which was primarily intended for RLS.](https://github.com/rust-lang/rust/pull/101841/) The `rust-analysis` component from `rustup` now only contains a warning placeholder. +- [Unaligned references to packed fields are now a hard error.](https://github.com/rust-lang/rust/pull/102513/) This has been a warning since 1.53, and denied by default with a future-compatibility warning since 1.62. +- [Update the minimum external LLVM to 14.](https://github.com/rust-lang/rust/pull/107573/) +- [Cargo now emits errors on invalid alphanumeric token for crates.io.](https://github.com/rust-lang/cargo/pull/11600/) +- [When `default-features` is set to false of a workspace dependency, and an inherited dependency of a member has `default-features = true`, Cargo will enable default features of that dependency.](https://github.com/rust-lang/cargo/pull/11409/) +- [Cargo denies `CARGO_HOME` in the `[env]` configuration table. Cargo itself doesn't pick up this value, but recursive calls to cargo will.](https://github.com/rust-lang/cargo/pull/11644/) +- [Debuginfo for build dependencies is now off if not explicit set. This is expected to boost the overall build time.](https://github.com/rust-lang/cargo/pull/11252/) + + + +Internal Changes +---------------- + +These changes do not affect any public interfaces of Rust, but they represent +significant improvements to the performance or internals of rustc and related +tools. + +- [Move format_args!() into AST (and expand it during AST lowering)](https://github.com/rust-lang/rust/pull/106745/) + Version 1.68.2 (2023-03-28) =========================== From 21f10dd1b9f30199d0553d581399d6bb9dac5be8 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Thu, 6 Apr 2023 19:25:49 -0700 Subject: [PATCH 02/11] Cargo only suggests fixes for warnings Co-authored-by: Scott Schafer --- RELEASES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index f07b97e2acdcb..e33a695212b78 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -63,7 +63,7 @@ Cargo ----- - [Added '-C' flag for changing current dir before build](https://github.com/rust-lang/cargo/pull/10952/) -- [Cargo now suggests `cargo fix` or `cargo clippy --fix` when compilation warnings/errors are auto-fixable.](https://github.com/rust-lang/cargo/pull/11558/) +- [Cargo now suggests `cargo fix` or `cargo clippy --fix` when compilation warnings are auto-fixable.](https://github.com/rust-lang/cargo/pull/11558/) - [Cargo now suggests `cargo add` if you try to install a library crate.](https://github.com/rust-lang/cargo/pull/11410/) - [Cargo now sets `CARGO_BIN_NAME` environment variable also for binary examples.](https://github.com/rust-lang/cargo/pull/11705/) From 6b33156d3444db2baf043834f71f5c4d01daafaf Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 7 Apr 2023 08:22:54 -0700 Subject: [PATCH 03/11] `core::net` is not stable yet Co-authored-by: Slanterns --- RELEASES.md | 1 - 1 file changed, 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index e33a695212b78..920a0655d8c4f 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -31,7 +31,6 @@ Libraries - [Implement the unstable `DispatchFromDyn` for cell types, allowing downstream experimentation with custom method receivers.](https://github.com/rust-lang/rust/pull/97373/) - [Document that `fmt::Arguments::as_str()` may return `Some(_)` in more cases after optimization, subject to change.](https://github.com/rust-lang/rust/pull/106823/) - [Implement `AsFd` and `AsRawFd` for `Rc`.](https://github.com/rust-lang/rust/pull/107317/) -- [Move `IpAddr`, `SocketAddr` and V4+V6 related types to `core`](https://github.com/rust-lang/rust/pull/104265/) From f6a47f304e7524f66c4c1c7b7ec19d2f521fea2b Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 7 Apr 2023 08:23:38 -0700 Subject: [PATCH 04/11] Rephrase the analysis removal Co-authored-by: Mark Rousskov --- RELEASES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index 920a0655d8c4f..6d8233f2cfda8 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -87,7 +87,7 @@ Misc Compatibility Notes ------------------- -- [Remove `-Zsave-analysis` from the compiler, which was primarily intended for RLS.](https://github.com/rust-lang/rust/pull/101841/) The `rust-analysis` component from `rustup` now only contains a warning placeholder. +- [The `rust-analysis` component from `rustup` now only contains a warning placeholder.](https://github.com/rust-lang/rust/pull/101841/) This was primarily intended for RLS, and the corresponding `-Zsave-analysis` flag has been removed from the compiler as well. - [Unaligned references to packed fields are now a hard error.](https://github.com/rust-lang/rust/pull/102513/) This has been a warning since 1.53, and denied by default with a future-compatibility warning since 1.62. - [Update the minimum external LLVM to 14.](https://github.com/rust-lang/rust/pull/107573/) - [Cargo now emits errors on invalid alphanumeric token for crates.io.](https://github.com/rust-lang/cargo/pull/11600/) From c21b1044256bdda63375e64137e1f4ebdde1fccf Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 7 Apr 2023 08:29:02 -0700 Subject: [PATCH 05/11] Remove empty "Misc" section --- RELEASES.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 6d8233f2cfda8..e712e222bf3ed 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -77,11 +77,6 @@ Rustdoc - [Remove inconsistently-present sidebar tooltips.](https://github.com/rust-lang/rust/pull/107490/) - [Search by macro when query ends with `!`.](https://github.com/rust-lang/rust/pull/108143/) - - -Misc ----- - Compatibility Notes From 361b453e33744e45583a352a25ab3f03dfcc3429 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 7 Apr 2023 08:45:11 -0700 Subject: [PATCH 06/11] Avoid normalization/projection jargon Co-authored-by: Nilstrieb <48135649+Nilstrieb@users.noreply.github.com> --- RELEASES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index e712e222bf3ed..f56b9a360cb67 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -8,8 +8,8 @@ Language - [Deriving built-in traits on packed structs works with `Copy` fields.](https://github.com/rust-lang/rust/pull/104429/) - [Stabilize the `cmpxchg16b` target feature on x86 and x86_64.](https://github.com/rust-lang/rust/pull/106774/) -- [Add normalization to satisfy trait bounds involving type projections.](https://github.com/rust-lang/rust/pull/103695/) -- [Add normalization that allows type projections in union fields.](https://github.com/rust-lang/rust/pull/106938/) +- [Improve analysis of trait bounds for associated types.](https://github.com/rust-lang/rust/pull/103695/) +- [Allow associated types to be used as union fields.](https://github.com/rust-lang/rust/pull/106938/) - [Allow `Self: Autotrait` bounds on dyn-safe trait methods.](https://github.com/rust-lang/rust/pull/107082/) - [Treat `str` as containing `[u8]` for auto trait purposes.](https://github.com/rust-lang/rust/pull/107941/) From 02b3165310ed3cfdb9ac0c654a04eda7ee2052d8 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 7 Apr 2023 08:53:00 -0700 Subject: [PATCH 07/11] Apply code formatting --- RELEASES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index f56b9a360cb67..18b673949b0a6 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -99,7 +99,7 @@ These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools. -- [Move format_args!() into AST (and expand it during AST lowering)](https://github.com/rust-lang/rust/pull/106745/) +- [Move `format_args!()` into AST (and expand it during AST lowering)](https://github.com/rust-lang/rust/pull/106745/) Version 1.68.2 (2023-03-28) =========================== From f9f25162bf62ef6325443168e4200236729c2234 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Wed, 12 Apr 2023 14:36:10 -0700 Subject: [PATCH 08/11] Apply suggestions from code review Co-authored-by: Eric Huss --- RELEASES.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 18b673949b0a6..3298e43d89e35 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -85,10 +85,10 @@ Compatibility Notes - [The `rust-analysis` component from `rustup` now only contains a warning placeholder.](https://github.com/rust-lang/rust/pull/101841/) This was primarily intended for RLS, and the corresponding `-Zsave-analysis` flag has been removed from the compiler as well. - [Unaligned references to packed fields are now a hard error.](https://github.com/rust-lang/rust/pull/102513/) This has been a warning since 1.53, and denied by default with a future-compatibility warning since 1.62. - [Update the minimum external LLVM to 14.](https://github.com/rust-lang/rust/pull/107573/) -- [Cargo now emits errors on invalid alphanumeric token for crates.io.](https://github.com/rust-lang/cargo/pull/11600/) +- [Cargo now emits errors on invalid characters in a registry token.](https://github.com/rust-lang/cargo/pull/11600/) - [When `default-features` is set to false of a workspace dependency, and an inherited dependency of a member has `default-features = true`, Cargo will enable default features of that dependency.](https://github.com/rust-lang/cargo/pull/11409/) -- [Cargo denies `CARGO_HOME` in the `[env]` configuration table. Cargo itself doesn't pick up this value, but recursive calls to cargo will.](https://github.com/rust-lang/cargo/pull/11644/) -- [Debuginfo for build dependencies is now off if not explicit set. This is expected to boost the overall build time.](https://github.com/rust-lang/cargo/pull/11252/) +- [Cargo denies `CARGO_HOME` in the `[env]` configuration table. Cargo itself doesn't pick up this value, but recursive calls to cargo would, which was not intended.](https://github.com/rust-lang/cargo/pull/11644/) +- [Debuginfo for build dependencies is now off if not explicitly set. This is expected to improve the overall build time.](https://github.com/rust-lang/cargo/pull/11252/) From c9358e9a0051286fc5f33ed4d2f9aa013cafdd57 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Wed, 12 Apr 2023 14:36:43 -0700 Subject: [PATCH 09/11] Apply suggestions from code review Co-authored-by: est31 --- RELEASES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index 3298e43d89e35..db9e19a9814de 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -64,7 +64,7 @@ Cargo - [Added '-C' flag for changing current dir before build](https://github.com/rust-lang/cargo/pull/10952/) - [Cargo now suggests `cargo fix` or `cargo clippy --fix` when compilation warnings are auto-fixable.](https://github.com/rust-lang/cargo/pull/11558/) - [Cargo now suggests `cargo add` if you try to install a library crate.](https://github.com/rust-lang/cargo/pull/11410/) -- [Cargo now sets `CARGO_BIN_NAME` environment variable also for binary examples.](https://github.com/rust-lang/cargo/pull/11705/) +- [Cargo now sets the `CARGO_BIN_NAME` environment variable also for binary examples.](https://github.com/rust-lang/cargo/pull/11705/) From ae60b362d949848ee1e7adc85a5973717af24fe8 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Wed, 12 Apr 2023 14:42:39 -0700 Subject: [PATCH 10/11] Cargo '-C' was reverted Co-authored-by: Eric Huss --- RELEASES.md | 1 - 1 file changed, 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index db9e19a9814de..8026376528323 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -61,7 +61,6 @@ These APIs are now stable in const contexts: Cargo ----- -- [Added '-C' flag for changing current dir before build](https://github.com/rust-lang/cargo/pull/10952/) - [Cargo now suggests `cargo fix` or `cargo clippy --fix` when compilation warnings are auto-fixable.](https://github.com/rust-lang/cargo/pull/11558/) - [Cargo now suggests `cargo add` if you try to install a library crate.](https://github.com/rust-lang/cargo/pull/11410/) - [Cargo now sets the `CARGO_BIN_NAME` environment variable also for binary examples.](https://github.com/rust-lang/cargo/pull/11705/) From 617648c43fb204213fefdbd903e3ed1452264b2a Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Thu, 13 Apr 2023 12:25:00 -0700 Subject: [PATCH 11/11] Update the mingw version note --- RELEASES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index 8026376528323..b89178a6f68fe 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -18,7 +18,7 @@ Language Compiler -------- -- [Upgrade mingw-w64 on CI to GCC 12.3.](https://github.com/rust-lang/rust/pull/100178/) +- [Upgrade `*-pc-windows-gnu` on CI to mingw-w64 v10 and GCC 12.2.](https://github.com/rust-lang/rust/pull/100178/) - [Rework min_choice algorithm of member constraints.](https://github.com/rust-lang/rust/pull/105300/) - [Support `true` and `false` as boolean flags in compiler arguments.](https://github.com/rust-lang/rust/pull/107043/) - [Default `repr(C)` enums to `c_int` size.](https://github.com/rust-lang/rust/pull/107592/)