Skip to content

Commit 323cc8a

Browse files
committed
RELEASES.md: Initial version of 1.64 release notes
1 parent d2778f7 commit 323cc8a

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.64.0 (2022-09-22)
2+
===========================
3+
4+
Language
5+
--------
6+
- [make `const_err` show up in future breakage reports](https://github.com/rust-lang/rust/pull/97743/)
7+
- [allow unions with mutable references and tuples of allowed types](https://github.com/rust-lang/rust/pull/97995/)
8+
- [do not mark interior mutable shared refs as dereferenceable](https://github.com/rust-lang/rust/pull/98017/)
9+
10+
Compiler
11+
--------
12+
- The minimum required versions for all `-linux-gnu` targets are now at least kernel 3.2 and glibc 2.17, for targets that previously supported older versions: [Increase the minimum linux-gnu versions](https://github.com/rust-lang/rust/pull/95026/)
13+
- rustc now warns about dead fields in tuple structs, just as it already did for other structs: [Warn about dead tuple struct fields](https://github.com/rust-lang/rust/pull/95977/)
14+
- [Keep unstable target features for asm feature checking](https://github.com/rust-lang/rust/pull/99155/)
15+
- [Add Nintendo Switch as tier 3 target](https://github.com/rust-lang/rust/pull/88991/)
16+
- Refer to Rust's [platform support page][platform-support-doc] for more
17+
information on Rust's tiered platform support.
18+
- [Only compile #[used] as llvm.compiler.used for ELF targets](https://github.com/rust-lang/rust/pull/93718/)
19+
- [sess: stabilize `-Zterminal-width` as `--diagnostic-width`](https://github.com/rust-lang/rust/pull/95635/)
20+
- [Fix repr(align) enum handling](https://github.com/rust-lang/rust/pull/96814/)
21+
- [Suggest defining variable as mutable on `&mut _` type mismatch in pats](https://github.com/rust-lang/rust/pull/98431/)
22+
- [Emit warning when named arguments are used positionally in format](https://github.com/rust-lang/rust/pull/98580/)
23+
- [Add support for link-flavor rust-lld for iOS, tvOS and watchOS](https://github.com/rust-lang/rust/pull/98771/)
24+
- [Do not mention private types from other crates as impl candidates](https://github.com/rust-lang/rust/pull/99091/)
25+
26+
Libraries
27+
---------
28+
- [Implement network primitives with ideal Rust layout, not C system layout](https://github.com/rust-lang/rust/pull/78802/)
29+
- [Remove restrictions on compare-exchange memory ordering.](https://github.com/rust-lang/rust/pull/98383/)
30+
- You can now `write!` or `writeln!` into an `OsString`: [Implement `fmt::Write` for `OsString`](https://github.com/rust-lang/rust/pull/97915/)
31+
- [Enforce that layout size fits in isize in Layout](https://github.com/rust-lang/rust/pull/95295/)
32+
- [Make RwLockReadGuard covariant](https://github.com/rust-lang/rust/pull/96820/)
33+
- [Implement `FusedIterator` for `std::net::[Into]Incoming`](https://github.com/rust-lang/rust/pull/97300/)
34+
- [`impl<T: AsRawFd> AsRawFd for {Arc,Box}<T>`](https://github.com/rust-lang/rust/pull/97437/)
35+
- [ptr::copy and ptr::swap are doing untyped copies](https://github.com/rust-lang/rust/pull/97712/)
36+
- [Add assertion that `transmute_copy`'s U is not larger than T](https://github.com/rust-lang/rust/pull/98839/)
37+
- [Add `PhantomData` marker for dropck to `BTreeMap`](https://github.com/rust-lang/rust/pull/99413/)
38+
- [Add cgroupv1 support to `available_parallelism`](https://github.com/rust-lang/rust/pull/97925/)
39+
- [mem::uninitialized: mitigate many incorrect uses of this function](https://github.com/rust-lang/rust/pull/99182/)
40+
41+
Stabilized APIs
42+
---------------
43+
- [Partially stabilize `const_slice_from_raw_parts`](https://github.com/rust-lang/rust/pull/97522/)
44+
- [Partial stabilization of `nonzero_checked_ops`.](https://github.com/rust-lang/rust/pull/97547/)
45+
- [Document and stabilize `process_set_process_group`](https://github.com/rust-lang/rust/pull/99088/)
46+
- [Stabilize `core::ffi:c_*` and rexport in `std::ffi`](https://github.com/rust-lang/rust/pull/98315/)
47+
- [Stabilize `core::ffi::CStr`, `alloc::ffi::CString`, and friends](https://github.com/rust-lang/rust/pull/99277/)
48+
- [Stabilize Windows `FileTypeExt` with `is_symlink_dir` and `is_symlink_file`](https://github.com/rust-lang/rust/pull/98583/)
49+
- [Stabilize `into_future`](https://github.com/rust-lang/rust/pull/98718/)
50+
- [Stabilize `future_poll_fn`](https://github.com/rust-lang/rust/pull/99306/)
51+
- [Stabilize `core::task::ready!`](https://github.com/rust-lang/rust/pull/99419/)
52+
53+
Cargo
54+
-----
55+
- Packages can now inherit settings from the workspace so that the settings
56+
can be centralized in one place. See
57+
[`workspace.package`](https://doc.rust-lang.org/nightly/cargo/reference/workspaces.html#the-workspacepackage-table)
58+
and
59+
[`workspace.dependencies`](https://doc.rust-lang.org/nightly/cargo/reference/workspaces.html#the-workspacedependencies-table)
60+
for more details on how to define these common settings.
61+
[#10859](https://github.com/rust-lang/cargo/pull/10859)
62+
- Cargo commands can now accept multiple `--target` flags to build for
63+
multiple targets at once, and the
64+
[`build.target`](https://doc.rust-lang.org/nightly/cargo/reference/config.html#buildtarget)
65+
config option may now take an array of multiple targets.
66+
[#10766](https://github.com/rust-lang/cargo/pull/10766)
67+
- The `--jobs` argument can now take a negative number to count backwards from
68+
the max CPUs.
69+
[#10844](https://github.com/rust-lang/cargo/pull/10844)
70+
- `cargo add` will now update `Cargo.lock`.
71+
[#10902](https://github.com/rust-lang/cargo/pull/10902)
72+
- Added the
73+
[`--crate-type`](https://doc.rust-lang.org/nightly/cargo/commands/cargo-rustc.html#option-cargo-rustc---crate-type)
74+
flag to `cargo rustc` to override the crate type.
75+
[#10838](https://github.com/rust-lang/cargo/pull/10838)
76+
- Significantly improved the performance fetching git dependencies from GitHub
77+
when using a hash in the `rev` field.
78+
[#10079](https://github.com/rust-lang/cargo/pull/10079)
79+
80+
Misc
81+
----
82+
- [Let rust-analyzer ship on stable, non-preview](https://github.com/rust-lang/rust/pull/98640/)
83+
84+
Compatibility Notes
85+
-------------------
86+
- [Implement network primitives with ideal Rust layout, not C system layout](https://github.com/rust-lang/rust/pull/78802/)
87+
- [Add assertion that `transmute_copy`'s U is not larger than T](https://github.com/rust-lang/rust/pull/98839/)
88+
- [Add `PhantomData` marker for dropck to `BTreeMap`](https://github.com/rust-lang/rust/pull/99413/)
89+
- [relate `closure_substs.parent_substs()` to parent fn in NLL](https://github.com/rust-lang/rust/pull/98835/)
90+
91+
Internal Changes
92+
----------------
93+
94+
These changes provide no direct user facing benefits, but represent significant
95+
improvements to the internals and overall performance of rustc
96+
and related tools.
97+
98+
- Windows builds now use profile-guided optimization, providing 10-20% improvements to compiler performance: [Utilize PGO for windows x64 rustc dist builds](https://github.com/rust-lang/rust/pull/96978/)
99+
- [Stop keeping metadata in memory before writing it to disk](https://github.com/rust-lang/rust/pull/96544/)
100+
- [compiletest: strip debuginfo by default for mode=ui](https://github.com/rust-lang/rust/pull/98140/)
101+
- Many improvements to generated code for derives, including performance improvements:
102+
- [Don't use match-destructuring for derived ops on structs.](https://github.com/rust-lang/rust/pull/98446/)
103+
- [Many small deriving cleanups](https://github.com/rust-lang/rust/pull/98741/)
104+
- [More derive output improvements](https://github.com/rust-lang/rust/pull/98758/)
105+
- [Clarify deriving code](https://github.com/rust-lang/rust/pull/98915/)
106+
- [Final derive output improvements](https://github.com/rust-lang/rust/pull/99046/)
107+
- [Stop injecting `#[allow(unused_qualifications)]` in generated `derive` implementations](https://github.com/rust-lang/rust/pull/99485/)
108+
- [Improve `derive(Debug)`](https://github.com/rust-lang/rust/pull/98190/)
109+
- [Bump to clap 3](https://github.com/rust-lang/rust/pull/98213/)
110+
- [fully move dropck to mir](https://github.com/rust-lang/rust/pull/98641/)
111+
- [Optimize `Vec::insert` for the case where `index == len`.](https://github.com/rust-lang/rust/pull/98755/)
112+
- [Convert rust-analyzer to an in-tree tool](https://github.com/rust-lang/rust/pull/99603/)
113+
1114
Version 1.63.0 (2022-08-11)
2115
==========================
3116

0 commit comments

Comments
 (0)