dev-newsRust logowww.rust-lang.org

Latest stable Rust: 1.99.1, released (release notes). 36 stable releases since 8 Feb 2024.

Rust

42 daysbetween every minor release since 1.76.0, 24 releases in a row.

Rust minor releases as a six-week rhythm 24 minor releases from 1.76.0 on 8 February 2024 to 1.99.0 on 1 October 2026. Every gap is 42 days. 12 point releases are marked below the rail. The outlined beat is 1.100.0, due 12 November 2026 if the schedule holds. 76777879808182838485868788899091929394959697989910020252026

minor release, labelled 1.n12 point releases1.100.0, due 12 Nov 2026

Rust 1.99.0 shipped on 1 October 2026. It is the 24th minor release since 1.76.0 in February 2024, and all 23 gaps between them were exactly 42 days. If the train keeps time, 1.100.0 arrives on 12 November.

The surprises are in the 12 point releases. The latest, 1.99.1 on 16 October, fixed a miscompilation of FFI functions returning bool on x86_64. It also fixed rust-lld on macOS, 13 months after rust-lld became the default linker on x86_64 Linux.

As of 24 October 2026.

What we wrote then, and what happened next

The 2024 Edition update

What happened next

The 2024 Edition went stable in 1.85.0 on 20 February 2025. A month later 1.85.1 had to fix the edition's doctest merging.

let chains followed in 1.88.0 on 26 June 2025, and only for code on the 2024 edition.

1.85.0 notes 1.85.1 notes 1.88.0 notes

CVE-2024-24576 in std::process::Command on Windows

What happened next

1.77.2 shipped the fix the same day. On 4 September 2024 the project announced CVE-2024-43402: batch file arguments still were not escaped when the file name ended in whitespace or periods. 1.81.0 closed it the next day.

So the fix needed its own CVE, five months later.

CVE-2024-43402 1.81.0 notes

rust-lld on nightly Linux

What happened next

Stable took 16 months. 1.90.0 on 18 September 2025 made lld the default on x86_64-unknown-linux-gnu.

rust-lld still gets fixes in point releases. 1.99.1 added a missing rpath for libLLVM on macOS.

1.90.0 notes 1.99.1 notes

Latest stable releases

  1. 1.99.1library: fix missing symbol wcslen on UEFI and embedded targets
  2. 1.99.0Add allow-by-default rawborrowsviareferences lint that checks for references that decay immediately into raw borrows
  3. 1.98.1rustc: fix miscompilation in generating vtables
  4. 1.98.0Allow shortening lifetime of &mut when unsize-coercing, even in an invariant position. For example, you can now coerce a Cell<&'long mut i32> to a…
  5. 1.97.1rustc: Fix miscompilation in LLVM optimization This backports an LLVM submodule bump to include the LLVM-side fix and a revert of the rustc change that is…
  6. 1.97.0Consider Result<T, Uninhabited> and ControlFlow<Uninhabited, T> to be equivalent to T for must use lint
  7. 1.96.1Cargo: fix timeout/retry behavior
  8. 1.96.0Allow passing expr metavariable to cfg
  9. 1.95.0Stabilize if let guards on match arms
  10. 1.94.1Fix std::thread::spawn on wasm32-wasip1-threads

Updating Rust and pinning a toolchain

Run rustup update to move every installed toolchain to its newest release, then rustc --version to confirm. Stable ships every six weeks; to hold a project on one release, check a rust-toolchain.toml into its root.

  1. Install rustup if you don't have it yet, on Linux or macOS:
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. Update the toolchains and check the result. rustup update also updates rustup itself unless self-update is disabled; rustup self update does only that:
    rustup update
    rustc --version
  3. Pin a project by adding rust-toolchain.toml next to its Cargo.toml. rustup picks it up for every cargo and rustc call in that directory:
    [toolchain]
    channel = "1.99.1"
    components = ["rustfmt", "clippy"]

Rust installed by a distribution package manager, or a rustup built without self-update (as on NixOS), updates through that package manager instead.

Install Rust rustup book: basic usage rustup book: overrides

Migrating a crate to the 2024 edition

Rust 2024 became stable in 1.85.0 on 20 February 2025. Migrate with cargo fix --edition, then set edition = "2024" in Cargo.toml. Editions are per crate, so a 2024 crate can depend on 2015, 2018 and 2021 crates and the other way around.

201531 releases1.0.015 May 2015201825 releases1.31.06 Dec 2018202129 releases1.56.021 Oct 2021202415 releases1.85.020 Feb 20251.99 today
Rust's four editions on an axis of minor releases, each starting at the release that made it stable. Rust 2024 has been current for 15 minor releases, 1.85 to 1.99. Source: the Rust Edition Guide.
  1. Update dependencies first, since older proc-macros and build-time code generators can trip over a new edition:
    cargo update
  2. Let cargo rewrite the code that would break, then switch the edition:
    cargo fix --edition
    # Cargo.toml
    [package]
    edition = "2024"
  3. Build, test and reformat:
    cargo build
    cargo test
    cargo fmt

The change most likely to surprise you is in return-position impl Trait: in Rust 2024 it captures every in-scope generic parameter, lifetimes included. Where a function must not capture one, list what it does capture with a use<..> bound, available since 1.82 in every edition.

Edition Guide: transitioning Edition Guide: Rust 2024 RPIT lifetime capture rules

WASI targets: wasm32-wasip1 and wasm32-wasip2

wasm32-wasi is gone: Rust 1.84.0 (9 January 2025) removed it. Use wasm32-wasip1 for WASI 0.1 (the same target, renamed in 1.78) or wasm32-wasip2 for WASI 0.2 and the component model. wasm32-wasip2 reached tier 2 in 1.82.0 on 17 October 2024.

  1. Install the target you need and build for it:
    rustup target add wasm32-wasip2
    cargo build --target wasm32-wasip2
  2. For an existing WASI 0.1 project, replace wasm32-wasi with wasm32-wasip1 everywhere it appears: CI scripts, .cargo/config.toml, rust-toolchain.toml targets and cfg checks on the target name.

Since Rust 1.81 the compiler warned on every use of wasm32-wasi, so a build log from 1.81 to 1.83 shows where the old name still appears.

Changes to Rust's WASI targets wasm32-wasip2 reaches tier 2 Rust RELEASES.md

Questions people search for

What is the latest version of Rust?

Rust 1.99.1, released 16 October 2026 (release notes). Get it with rustup update stable.

When is the next Rust release?

Rust 1.100.0 is due on 12 November 2026, if the six-week train keeps the 42-day spacing every minor release since 1.76.0 has had.

What is the current Rust edition?

Rust 2024, stable since Rust 1.85.0 on 20 February 2025. The editions before it are 2015, 2018 (Rust 1.31.0) and 2021 (Rust 1.56.0). New projects created with cargo new use the newest edition.

From @rustlang on X

Rust Language@rustlang

You can now find us on both M​ast​o​don and Bl​ue​sk​y. Follow us there!
We will no longer be active on this website.

On X, 5 Apr 2025 11:19:00 UTC

The account's last post. Rust release news now goes to Mastodon and Bluesky, so 1.86.0 was the last release announced here.

Rust Language@rustlang

Rust 1.85.0 has been released! 🌈🦀✨
Not only does this release add async closures, it also includes a whole new Rust Edition, Rust 2024! 🎆🚀
Check out the blog post for an overview of all the changes and additions: https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html

On X, 20 Feb 2025 17:13:41 UTC

The 2024 Edition and async closures, both in 1.85.0.

Recent posts on the Rust blog