Rust logo
Rust 1.78.0-dev

Rust Release Notes

§Version 1.76.0 (2024-02-08)

§Language

§Compiler

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

§Libraries

§Stabilized APIs

§Cargo

See Cargo release notes.

§Rustdoc

§Compatibility Notes

§Version 1.75.0 (2023-12-28)

§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 stable in const contexts:

§Cargo

§Rustdoc

§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.

§Version 1.74.1 (2023-12-07)

§Version 1.74.0 (2023-11-16)

§Language

§Compiler

§Libraries

§Stabilized APIs

These APIs are now stable in const contexts:

§Cargo

§Rustdoc

§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.

None this cycle.

§Version 1.73.0 (2023-10-05)

§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 stable 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.

§Version 1.72.1 (2023-09-19)

§Version 1.72.0 (2023-08-24)

§Language

§Compiler

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

§Libraries

§Rustdoc

§Stabilized APIs

These APIs are now stable in const contexts:

§Cargo

§Compatibility Notes

§Version 1.71.1 (2023-08-03)

§Version 1.71.0 (2023-07-13)

§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 stable in const contexts:

§Cargo

§Rustdoc

§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.

§Version 1.70.0 (2023-06-01)

§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 do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools.

§Version 1.69.0 (2023-04-20)

§Language

§Compiler

§Libraries

§Stabilized APIs

These APIs are now stable in const contexts:

§Cargo

§Rustdoc

§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.

§Version 1.68.2 (2023-03-28)

§Version 1.68.1 (2023-03-23)

§Version 1.68.0 (2023-03-09)

§Language

§Compiler

§Libraries

§Stabilized APIs

These APIs are now stable 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.

§Version 1.67.1 (2023-02-09)

§Version 1.67.0 (2023-01-26)

§Language

§Compiler

Added, updated, and removed targets:

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

§Libraries

§Stabilized APIs

These APIs are now stable in const contexts:

§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.

§Version 1.66.1 (2023-01-10)

§Version 1.66.0 (2022-12-15)

§Language

§Compiler

§Libraries

§Stabilized APIs

§Rustdoc

§Cargo

See detailed release notes for more.

§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.

§Version 1.65.0 (2022-11-03)

§Language

§Compiler

New targets:

§Libraries

§Stabilized APIs

These APIs are now stable in const contexts:

§Cargo

§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.

§Version 1.64.0 (2022-09-22)

§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.

§Version 1.63.0 (2022-08-11)

§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.

§Version 1.62.1 (2022-07-19)

Rust 1.62.1 addresses a few recent regressions in the compiler and standard library, and also mitigates a CPU vulnerability on Intel SGX.

§Version 1.62.0 (2022-06-30)

§Language

§Compiler

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

§Libraries

§Stabilized APIs

§Clippy

§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.

§Version 1.61.0 (2022-05-19)

§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.

§Version 1.60.0 (2022-04-07)

§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.

§Version 1.59.0 (2022-02-24)

§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.

§Version 1.58.1 (2022-01-20)

§Version 1.58.0 (2022-01-13)

§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.

§Version 1.57.0 (2021-12-02)

§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.

§Version 1.56.1 (2021-11-01)

§Version 1.56.0 (2021-10-21)

§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.

§Version 1.55.0 (2021-09-09)

§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

§Version 1.54.0 (2021-07-29)

§Language

§Compiler

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

§Libraries

§Stabilized APIs

§Cargo

§Compatibility Notes

§Version 1.53.0 (2021-06-17)

§Language

§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.

§Version 1.52.1 (2021-05-10)

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.

§Version 1.52.0 (2021-05-06)

§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

§Version 1.51.0 (2021-03-25)

§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

§Version 1.50.0 (2021-02-11)

§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

§Version 1.49.0 (2020-12-31)

§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.

§Version 1.48.0 (2020-11-19)

§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.

§Version 1.47.0 (2020-10-08)

§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

§Version 1.46.0 (2020-08-27)

§Language

§Compiler

§Libraries

§Stabilized APIs

§Cargo

Added a number of new environment variables that are now available when compiling your crate.

§Compatibility Notes

§Version 1.45.2 (2020-08-03)

§Version 1.45.1 (2020-07-30)

§Version 1.45.0 (2020-07-16)

§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

§Version 1.44.1 (2020-06-18)

§Version 1.44.0 (2020-06-04)

§Language

Syntax-only changes

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

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.

§Version 1.43.1 (2020-05-07)

§Version 1.43.0 (2020-04-23)

§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.

§Version 1.42.0 (2020-03-12)

§Language

§Compiler

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

§Libraries

§Stabilized APIs

§Cargo

§Compatibility Notes

§Version 1.41.1 (2020-02-27)

§Version 1.41.0 (2020-01-30)

§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

§Version 1.40.0 (2019-12-19)

§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

§Version 1.39.0 (2019-11-07)

§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

§Version 1.38.0 (2019-09-26)

§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

§Version 1.37.0 (2019-08-15)

§Language

§Compiler

§Libraries

§Stabilized APIs

§Cargo

§Misc

§Compatibility Notes

§Version 1.36.0 (2019-07-04)

§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

§Version 1.35.0 (2019-05-23)

§Language

§Compiler

§Libraries

§Stabilized APIs

§Cargo

§Misc

§Version 1.34.2 (2019-05-14)

§Version 1.34.1 (2019-04-25)

§Version 1.34.0 (2019-04-11)

§Language

§Compiler

§Libraries

§Stabilized APIs

§std & core

§std

§Cargo

§Misc

§Compatibility Notes

§Version 1.33.0 (2019-02-28)

§Language

§Compiler

§Libraries

§Stabilized APIs

§Cargo

§Compatibility Notes

§Version 1.32.0 (2019-01-17)

§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

§Version 1.31.1 (2018-12-20)

§Version 1.31.0 (2018-12-06)

§Language

§Compiler

§Libraries

§Stabilized APIs

§Cargo

§Version 1.30.1 (2018-11-08)

§Version 1.30.0 (2018-10-25)

§Language

§Compiler

§Libraries

§Stabilized APIs

§Cargo

§Misc

§Version 1.29.2 (2018-10-11)

§Version 1.29.1 (2018-09-25)

§Security Notes

§Version 1.29.0 (2018-09-13)

§Compiler

§Libraries

§Stabilized APIs

§Cargo

§Misc

§Compatibility Notes

§Version 1.28.0 (2018-08-02)

§Language

§Compiler

§Libraries

§Stabilized APIs

§Cargo

§Misc

§Compatibility Notes

§Version 1.27.2 (2018-07-20)

§Compatibility Notes

§Version 1.27.1 (2018-07-10)

§Security Notes

§Compatibility Notes

§Version 1.27.0 (2018-06-21)

§Language

§Compiler

§Libraries

§Stabilized APIs

§Cargo

§Misc

§Compatibility Notes

§Version 1.26.2 (2018-06-05)

§Compatibility Notes

§Version 1.26.1 (2018-05-29)

§Tools

§Compatibility Notes

§Version 1.26.0 (2018-05-10)

§Language

§Compiler

§Libraries

§Stabilized APIs

§Cargo

§Misc

§Compatibility Notes

§Version 1.25.0 (2018-03-29)

§Language

enum Foo { A, B, C }

fn main() {
    let x = Foo::A;
    match x {
        | Foo::A
        | Foo::B => println!("AB"),
        | Foo::C => println!("C"),
    }
}
Run

§Compiler

§Libraries

§Stabilized APIs

The following functions can now be used in a constant expression. eg. static MINUTE: Duration = Duration::from_secs(60);

§Cargo

§Misc

§Compatibility Notes

§Version 1.24.1 (2018-03-01)

§Version 1.24.0 (2018-02-15)

§Language

§Compiler

§Libraries

§Stabilized APIs

The following functions can now be used in a constant expression. eg. let buffer: [u8; size_of::<usize>()];, static COUNTER: AtomicUsize = AtomicUsize::new(1);

§Cargo

§Misc

§Compatibility Notes

§Version 1.23.0 (2018-01-04)

§Language

§Compiler

§Libraries

§Stabilized APIs

§Cargo

§Misc

§Compatibility Notes

§Version 1.22.1 (2017-11-22)

§Version 1.22.0 (2017-11-22)

§Language

§Compiler

§Libraries

§Stabilized APIs

§Cargo

§Misc

§Compatibility Notes

§Version 1.21.0 (2017-10-12)

§Language

§Compiler

§Libraries

§Stabilized APIs

std::mem::discriminant

§Cargo

§Misc

§Compatibility Notes

§Version 1.20.0 (2017-08-31)

§Language

§Compiler

§Libraries

§Stabilized APIs

§Cargo

§Compatibility Notes

§Version 1.19.0 (2017-07-20)

§Language

§Compiler

§Libraries

§Stabilized APIs

§Cargo

§Misc

§Compatibility Notes

§Version 1.18.0 (2017-06-08)

§Language

§Compiler

§Libraries

§Stabilized APIs

§Cargo

§Misc

§Compatibility Notes

§Version 1.17.0 (2017-04-27)

§Language

§Compiler

§Stabilized APIs

§Libraries

§Cargo

§Misc

§Compatibility Notes

§Version 1.16.0 (2017-03-16)

§Language

§Compiler

§Stabilized APIs

§Libraries

§Cargo

§Misc

§Compatibility Notes

§Version 1.15.1 (2017-02-09)

§Version 1.15.0 (2017-02-02)

§Language

§Compiler

§Compiler Performance

§Stabilized APIs

§Libraries

§Cargo

§Tooling

§Misc

§Compatibility Notes

§Version 1.14.0 (2016-12-22)

§Language

§Compiler

§Compile-time Optimizations

§Libraries

§Cargo

§Tooling

§Misc

§Compatibility Notes

§Version 1.13.0 (2016-11-10)

§Language

§Compiler

§Diagnostics

§Compile-time Optimizations

§Stabilized APIs

§Libraries

§Cargo

§Tooling

§Misc

§Compatibility Notes

§Version 1.12.1 (2016-10-20)

§Regression Fixes

§Version 1.12.0 (2016-09-29)

§Highlights

§Compiler

§Diagnostics

§Language

§Stabilized APIs

§Libraries

§Cargo

§Performance

§Tooling

§Misc

§Compatibility Notes

§Version 1.11.0 (2016-08-18)

§Language

§Stabilized APIs

§Libraries

§Cargo

§Performance

§Rustdoc

§Tooling

§Misc

§Compatibility Notes

§Version 1.10.0 (2016-07-07)

§Language

§Stabilized APIs

§Libraries

§Cargo

§Performance

§Usability

§Misc

§Compatibility Notes

§Version 1.9.0 (2016-05-26)

§Language

§Stabilized APIs

§Libraries

§Cargo

§Performance

§Misc

§Compatibility Notes

§Version 1.8.0 (2016-04-14)

§Language

§Libraries

§Performance

§Misc

§Cargo

§Compatibility Notes

§Version 1.7.0 (2016-03-03)

§Libraries

§Misc

§Cargo

§Compatibility Notes

§Version 1.6.0 (2016-01-21)

§Language

§Libraries

§Cargo

§Misc

§Compatibility Notes

§Version 1.5.0 (2015-12-10)

§Highlights

§Breaking Changes

§Language

§Libraries

§Miscellaneous

§Version 1.4.0 (2015-10-29)

§Highlights

§Breaking Changes

§Language

§Libraries

§Miscellaneous

§Version 1.3.0 (2015-09-17)

§Highlights

§Breaking Changes

§Language

§Libraries

§Misc

§Version 1.2.0 (2015-08-07)

§Highlights

§Breaking Changes

§Language

§Libraries

§Misc

§Version 1.1.0 (2015-06-25)

§Highlights

§Libraries

§Misc

§Version 1.0.0 (2015-05-15)

§Highlights

§Language

§Libraries

§Misc

§Version 1.0.0-alpha.2 (2015-02-20)

§Version 1.0.0-alpha (2015-01-09)

§Version 0.12.0 (2014-10-09)

§Version 0.11.0 (2014-07-02)

§Version 0.10 (2014-04-03)

§Version 0.9 (2014-01-09)

§Version 0.8 (2013-09-26)

§Version 0.7 (2013-07-03)

§Version 0.6 (2013-04-03)

§Version 0.5 (2012-12-21)

§Version 0.4 (2012-10-15)

§Version 0.3 (2012-07-12)

§Version 0.2 (2012-03-29)

§Version 0.1 (2012-01-20)

Known issues: