Updatify / Rust | Release notes

Create your changelog

Rust is a general-purpose programming language which emphasizes performance, type safety, concurrency, and memory safety.

Update Sep 22, 2022 tracked by Updatify

Rust 1.64.0

Language

Compiler

Libraries

Stabilized APIs

These types were previously stable in std::ffi, but are now also available in core and alloc:

These types were previously stable in std::os::raw, but are now also available in core::ffi and std::ffi:

These APIs are now usable in const contexts:

Cargo

Misc

Compatibility Notes

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.

Update Aug 11, 2022 tracked by Updatify

Rust 1.63.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

These APIs are now usable in const contexts:

Cargo

Compatibility Notes

Internal Changes

These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.

Update Jul 19, 2022 tracked by Updatify

Rust 1.62.1

Update Jun 30, 2022 tracked by Updatify

Rust 1.62.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

Clippy

Cargo

  • Added the cargo add command for adding dependencies to Cargo.toml from the command-line. docs
  • Package ID specs now support name@version syntax in addition to the previous name:version to align with the behavior in cargo add and other tools. cargo install and cargo yank also now support this syntax so the version does not need to passed as a separate flag.
  • The git and registry directories in Cargo’s home directory (usually ~/.cargo) are now marked as cache directories so that they are not included in backups or content indexing (on Windows).
  • Added automatic @ argfile support, which will use “response files” if the command-line to rustc exceeds the operating system’s limit.

Compatibility Notes

Internal Changes

These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.

Update May 19, 2022 tracked by Updatify

Rust 1.61.0

Language

Compiler

Libraries

Stabilized APIs

These APIs are now usable in const contexts:

Cargo

No feature changes, but see compatibility notes.

Compatibility Notes

Internal Changes

These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.

Update Apr 7, 2022 tracked by Updatify

Rust 1.60.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

Cargo

Misc

Compatibility Notes

Internal Changes

These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.

Update Feb 24, 2022 tracked by Updatify

Rust 1.59.0

Language

Compiler

This release disables incremental compilation, unless the user has explicitly opted in via the newly added RUSTC_FORCE_INCREMENTAL=1 environment variable. This is due to a known and relatively frequently occurring bug in incremental compilation, which causes builds to issue internal compiler errors. This particular bug is already fixed on nightly, but that fix has not yet rolled out to stable and is deemed too risky for a direct stable backport.

As always, we encourage users to test with nightly and report bugs so that we can track failures and fix issues earlier.

See 94124 for more details.

Libraries

Stabilized APIs

Const-stable:

Cargo

Compatibility Notes

Internal Changes

These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.

Update Jan 13, 2022 tracked by Updatify

Rust 1.58.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

These APIs are now usable in const contexts:

Cargo

Rustdoc

Compatibility Notes

Internal Changes

These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.

Update Dec 2, 2021 tracked by Updatify

Rust 1.57.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilised APIs

These APIs are now usable in const contexts:

Cargo

Compatibility notes

Internal changes

These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.

Update Oct 21, 2021 tracked by Updatify

Rust 1.56.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilised APIs

These APIs are now usable in const contexts:

Cargo

Compatibility notes

Internal changes

These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.

Update Sep 9, 2021 tracked by Updatify

Rust 1.55.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilised APIs

The following previously stable functions are now const.

Cargo

Rustdoc

Compatibility Notes

Update Jul 29, 2021 tracked by Updatify

Rust 1.54.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

Cargo

Compatibility Notes

Update Jun 17, 2021 tracked by Updatify

Rust 1.53.0

Language

  • You can now use unicode for identifiers. This allows multilingual identifiers but still doesn’t allow glyphs that are not considered characters such as or 🦀. More specifically you can now use any identifier that matches the UAX #31 “Unicode Identifier and Pattern Syntax” standard. This is the same standard as languages like Python, however Rust uses NFC normalization which may be different from other languages.
  • You can now specify “or patterns” inside pattern matches. Previously you could only use | (OR) on complete patterns. E.g.
    let x = Some(2u8);
    // Before
    matches!(x, Some(1) | Some(2));
    // Now
    matches!(x, Some(1 | 2));
  • Added the :pat_param macro_rules! matcher. This matcher has the same semantics as the :pat matcher. This is to allow :pat to change semantics to being a pattern fragment in a future edition.

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilised APIs

Cargo

Rustdoc

Compatibility Notes

Internal Only

These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.

Update May 18, 2021 tracked by Updatify

Rust 1.52.1

This release disables incremental compilation, unless the user has explicitly opted in via the newly added RUSTC_FORCE_INCREMENTAL=1 environment variable.

This is due to the widespread, and frequently occurring, breakage encountered by Rust users due to newly enabled incremental verification in 1.52.0. Notably, Rust users should upgrade to 1.52.0 or 1.52.1: the bugs that are detected by newly added incremental verification are still present in past stable versions, and are not yet fixed on any channel. These bugs can lead to miscompilation of Rust binaries.

These problems only affect incremental builds, so release builds with Cargo should not be affected unless the user has explicitly opted into incremental. Debug and check builds are affected.

See 84970 for more details.

Update May 6, 2021 tracked by Updatify

Rust 1.52.0

Language

Compiler

Added tier 3* support for the following targets.

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilised APIs

The following previously stable APIs are now const.

Rustdoc

Misc

Internal Only

These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.

Compatibility Notes

Update Mar 25, 2021 tracked by Updatify

Rust 1.51.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

Cargo

Rustdoc

Various improvements to intra-doc links:

Misc

Compatibility Notes

Internal Only

Update Feb 11, 2021 tracked by Updatify

Rust 1.50.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

The following previously stable methods are now const.

Cargo

Misc

Compatibility Notes

Update Dec 31, 2020 tracked by Updatify

Rust 1.49.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

The following previously stable methods are now const.

Cargo

Compatibility Notes

Internal Only

These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.

Update Nov 19, 2020 tracked by Updatify

Rust 1.48.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

The following previously stable methods are now const fn‘s:

Cargo

Rustdoc

Compatibility Notes

Internal Only

These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.

Update Oct 8, 2020 tracked by Updatify

Rust 1.47.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

The following previously stable APIs have now been made const.

Cargo

Misc

Compatibility Notes

Internal Only

Update Sep 10, 2020 tracked by Updatify

Rust 1.41.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

Cargo

Misc

Compatibility Notes

Update Sep 10, 2020 tracked by Updatify

Rust 1.45.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

Cargo

Misc

Compatibility Notes

Internals Only

Update Sep 10, 2020 tracked by Updatify

Rust 1.44.0

Language

Syntax-only changes

#[cfg(FALSE)]
mod foo {
    mod bar {
        mod baz; // `foo/bar/baz.rs` doesn't exist, but no error!
    }
}

These are still rejected semantically, so you will likely receive an error but these changes can be seen and parsed by macros and conditional compilation.

Compiler

Libraries

Stabilized APIs

Cargo

  • Added the cargo tree command which will print a tree graph of your dependencies. E.g.
      mdbook v0.3.2 (/Users/src/rust/mdbook)
    ├── ammonia v3.0.0
    │   ├── html5ever v0.24.0
    │   │   ├── log v0.4.8
    │   │   │   └── cfg-if v0.1.9
    │   │   ├── mac v0.1.1
    │   │   └── markup5ever v0.9.0
    │   │       ├── log v0.4.8 (*)
    │   │       ├── phf v0.7.24
    │   │       │   └── phf_shared v0.7.24
    │   │       │       ├── siphasher v0.2.3
    │   │       │       └── unicase v1.4.2
    │   │       │           [build-dependencies]
    │   │       │           └── version_check v0.1.5
    ...
    You can also display dependencies on multiple versions of the same crate with cargo tree -d (short for cargo tree --duplicates).

Misc

Compatibility Notes

Internal Only

These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.

Update Sep 10, 2020 tracked by Updatify

Rust 1.32.0

Language

2018 edition

All editions

Compiler

Libraries

The following APIs are now const functions and can be used in a const context.

Stabilized APIs

Cargo

Misc

Compatibility Notes

Update Sep 10, 2020 tracked by Updatify

Rust 1.39.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

Cargo

Misc

Compatibility Notes

Update Sep 10, 2020 tracked by Updatify

Rust 1.43.0

Language

Syntax only changes

These are still rejected semantically, so you will likely receive an error but these changes can be seen and parsed by macros and conditional compilation.

Compiler

Libraries

Stabilized APIs

Cargo

Misc

Compatibility Notes

Internal Only

These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.

Update Sep 10, 2020 tracked by Updatify

Rust 1.33.0

Language

Compiler

Libraries

Stabilized APIs

Cargo

Compatibility Notes

Update Sep 10, 2020 tracked by Updatify

Rust 1.28.0

Language

Compiler

Libraries

Stabilized APIs

Cargo

Misc

Compatibility Notes

Update Sep 10, 2020 tracked by Updatify

Rust 1.37.0

Language

Compiler

Libraries

Stabilized APIs

Cargo

Misc

Compatibility Notes

Update Sep 10, 2020 tracked by Updatify

Rust 1.29.1

Security Notes

  • The standard library’s str::repeat function contained an out of bounds write caused by an integer overflow. This has been fixed by deterministically panicking when an overflow happens.

    Thank you to Scott McMurray for responsibly disclosing this vulnerability to us.

Update Sep 10, 2020 tracked by Updatify

Rust 1.38.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

Cargo

Rustdoc

Misc

Compatibility Notes

Update Sep 10, 2020 tracked by Updatify

Rust 1.42.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

Cargo

Compatibility Notes

Update Sep 10, 2020 tracked by Updatify

Rust 1.31.0

Update Sep 10, 2020 tracked by Updatify

Rust 1.34.0

Language

Compiler

Libraries

Stabilized APIs

std & core

std

Cargo

Misc

Compatibility Notes

Update Sep 10, 2020 tracked by Updatify

Rust 1.35.0

Language

Compiler

Libraries

Stabilized APIs

Cargo

Misc

Update Sep 10, 2020 tracked by Updatify

Rust 1.30.0

Language

Compiler

Libraries

Stabilized APIs

Cargo

Misc

Update Sep 10, 2020 tracked by Updatify

Rust 1.36.0

Language

Libraries

Stabilized APIs

Cargo

You can find further change’s in Cargo’s 1.36.0 release notes.

Clippy

There have been numerous additions and fixes to clippy, see Clippy’s 1.36.0 release notes for more details.

Misc

Compatibility Notes

  • With the stabilisation of mem::MaybeUninit, mem::uninitialized use is no longer recommended, and will be deprecated in 1.39.0.

Update Sep 10, 2020 tracked by Updatify

Rust 1.40.0

Language

Compiler

* Refer to Rust’s platform support page for more information on Rust’s tiered platform support.

Libraries

Stabilized APIs

Cargo

Misc

Compatibility Notes

Update Sep 10, 2020 tracked by Updatify

Rust 1.29.0

Compiler

Libraries

Stabilized APIs

Cargo

Misc

Compatibility Notes