惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threatpost
aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tailwind CSS Blog
J
Java Code Geeks
博客园_首页
Google Online Security Blog
Google Online Security Blog
Hugging Face - Blog
Hugging Face - Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
I
Intezer
P
Palo Alto Networks Blog
V
Vulnerabilities – Threatpost
雷峰网
雷峰网
O
OpenAI News
SecWiki News
SecWiki News
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
N
News | PayPal Newsroom
Project Zero
Project Zero
Forbes - Security
Forbes - Security
IT之家
IT之家
A
Arctic Wolf
WordPress大学
WordPress大学
Jina AI
Jina AI
T
Tor Project blog
博客园 - 三生石上(FineUI控件)
S
Secure Thoughts
Google DeepMind News
Google DeepMind News
Attack and Defense Labs
Attack and Defense Labs
博客园 - 聂微东
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Privacy International News Feed
Cloudbric
Cloudbric
G
GRAHAM CLULEY
博客园 - 叶小钗
H
Hacker News: Front Page
腾讯CDC
量子位
Help Net Security
Help Net Security
人人都是产品经理
人人都是产品经理
C
Cyber Attacks, Cyber Crime and Cyber Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
宝玉的分享
宝玉的分享
爱范儿
爱范儿
L
Lohrmann on Cybersecurity
Hacker News - Newest:
Hacker News - Newest: "LLM"
Recorded Future
Recorded Future
C
CERT Recently Published Vulnerability Notes

Rust Blog

Security Advisory for Cargo (CVE-2026-5223) | Rust Blog Security Advisory for Cargo (CVE-2026-5222) | Rust Blog Project goals update — April 2026 (end of 2025H2) | Rust Blog Rust is participating in Outreachy | Rust Blog Raising the baseline for the `nvptx64-nvidia-cuda` target | Rust Blog Announcing Google Summer of Code 2026 selected projects | Rust Blog Announcing Rust 1.95.0 | Rust Blog docs.rs: building fewer targets by default | Rust Blog Changes to WebAssembly targets and handling undefined symbols | Rust Blog Announcing Rust 1.94.1 | Rust Blog Security advisory for Cargo | Rust Blog What we heard about Rust's challenges | Rust Blog Call for Testing: Build Dir Layout v2 | Rust Blog Announcing rustup 1.29.0 | Rust Blog Announcing Rust 1.94.0 | Rust Blog 2025 State of Rust Survey Results | Rust Blog Rust debugging survey 2026 | Rust Blog Update on the October 15, 2018 incident on crates.io Announcing Rust 1.29.2 Announcing Rust 1.29 Launching the 2018 State of Rust Survey Announcing Rust 1.28 What is Rust 2018? Announcing Rust 1.27.2 Announcing Rust 1.27.1 Security Advisory for rustdoc Announcing Rust 1.27 Announcing Rust 1.26.2 Announcing Rust 1.26.1 Rust turns three Announcing Rust 1.26 The Rust Team All Hands in Berlin: a Recap Increasing Rust’s Reach 2018 Announcing Rust 1.25 Rust's 2018 roadmap Announcing Rust 1.24.1 Announcing Rust 1.24 The 2018 Rust Event Lineup Announcing Rust 1.23 New Year's Rust: A Call for Community Blogposts Rust in 2017: what we achieved Announcing Rust 1.22 (and 1.22.1) Fearless Concurrency in Firefox Quantum Announcing Rust 1.21 impl Future for Rust Rust 2017 Survey Results Announcing Rust 1.20 Announcing Rust 1.19 The 2017 Rust Conference Lineup Rust's 2017 roadmap, six months in Increasing Rust’s Reach Announcing Rust 1.18 Two years of Rust The Rust Libz Blitz Launching the 2017 State of Rust Survey Announcing Rust 1.17 Announcing Rust 1.16 Rust's language ergonomics initiative Announcing Rust 1.15.1 Rust's 2017 roadmap Announcing Rust 1.15 Announcing Rust 1.14 Announcing the First Underhanded Rust Contest Announcing Rust 1.13 Announcing Rust 1.12.1 Announcing Rust 1.12 Incremental Compilation Announcing Rust 1.11 Shape of errors to come The 2016 Rust Conference Lineup Announcing Rust 1.10 State of Rust Survey 2016 Announcing Rust 1.9 One year of Rust Taking Rust everywhere with rustup Launching the 2016 State of Rust Survey Cargo: predictable dependency management Introducing MIR Announcing Rust 1.8 Announcing Rust 1.7 Announcing Rust 1.6 Announcing Rust 1.5 Announcing Rust 1.4 Announcing Rust 1.3 Rust in 2016 Announcing Rust 1.2 Rust 1.1 stable, the Community Subteam, and RustCamp Announcing Rust 1.0 Abstraction without overhead: traits in Rust Rust Once, Run Everywhere Mixing matching, mutation, and moves in Rust Fearless Concurrency with Rust Announcing Rust 1.0 Beta Announcing Rust 1.0.0.alpha.2 Announcing Rust 1.0 Alpha Rust 1.0: Scheduling the trains Yehuda Katz and Steve Klabnik are joining the Rust Core Team Cargo: Rust's community crate host Stability as a Deliverable Road to Rust 1.0
Rust 1.0: status report and final timeline
The Rust Cor · 2015-02-13 · via Rust Blog

It's been five weeks since we released Rust 1.0-alpha! Before this release cycle finishes next week, we want to give a status report and update on the road to 1.0 final.

TL;DR: Rust 1.0 final will be released by May 15, 2015

What is the overall timeline?

Based on the progress in this release cycle, we are now comfortable committing to a precise release schedule for 1.0:

  • Rust 1.0-alpha2 -- Feb 20
  • All 1.0 modules stable on nightly -- around Mar 9
  • Rust 1.0-beta -- Apr 3
  • Rust 1.0 -- May 15

This schedule differs from the previous one by nailing down an exact set of release cycles. It also opts for a second alpha release and only a single beta release.

The main reason for calling the next release alpha2 rather than beta1 is that new path and IO APIs have only recently landed, and we would like more time to collect feedback before marking them stable. More details are below.

Update: An earlier version of this post listed Mar 31 as the 1.0-beta release date, due to a miscalculation. The correct date is Apr 3, exactly six weeks after alpha2 and six weeks before 1.0.

What's shipping in alpha2?

We've managed to land almost all of the features previously expected for this cycle.

The big headline here is that all major API revisions are finished: path and IO reform have landed. At this point, all modules shipping for 1.0 are in what we expect to be their final form, modulo minor tweaks during the alpha2 cycle.

Other highlights are as follows:

  • Closures: Rust now supports full capture-clause inference and has deprecated the temporary |:| notation, making closures much more ergonomic to use.

  • Destructors: New destructor rules landed, obviating the need for #[unsafe destructor].

  • Path reform: The path module has been completely redesigned to resolve a number of semantic and ergonomic problems with the old module, and to take advantage of DST.

  • IO reform: The io system has been thoroughly revised to improve robustness and cross-platform behavior, and to eschew ambitious high-level abstractions over the system. While almost all of the APIs are affected by this change, the changes move toward a much more conservative and consistent design.

  • Deref coercions: A new coercion will follow smart pointers, so that you can pass &Vec<T> where &[T] is wanted, or &Arc<T> where &T is wanted. This removes most need for explicit slicing or the dreaded "cross-borrowing" &*, and means that & can be thought of as a general "borrow" operator.

  • Feature staging: Rust now has a notion of named API features akin to language features, which is how we will manage API stabilization going forward. These named features make it easier to manage progress in std, and make it plausible to detect the minimum version of Rust needed for a crate.

  • For loops: The new IntoIterator trait is now available and used for for loops, making it possible to write for x in &vec rather than for x in vec.iter().

  • Range notation: We have finalized range notation, introducing .. for "full ranges", which will make APIs like collection.remove(..) possible in the future.

  • Trait system: New coherence rules were finalized, providing both flexibility and soundness for trait implementations.

  • Overflow semantics: After a long debate, the final integer overflow semantics has been decided and is expected to land for alpha2. This change is expected to make it much easier to find over/underflow bugs when used in conjunction with fuzzing, etc.

  • Associated types: many compiler bugs around associated types have been fixed, making them usable at large scale.

Some other changes have not landed at the time of writing but are expected for alpha2: variance for type parameters, Send changes, and the great integer audit.

Complete details will be available in the release notes next week.

Why another alpha?

The main reason is that we want to leave recently-landed APIs, like IO and path, unstable for a few more weeks while we collect feedback -- but the beta release is intended to disallow use of unstable features.

In more detail, Rust is drawing a difference between alpha and beta connected with our stability system. In alpha releases, it's possible to opt-in to unstable features, but after beta, this will be possible only when using nightly builds. The beta release will mark the point when a substantial portion of the community can move off of nightlies.

As mentioned above, we have landed all of the major API revisions needed for the 1.0 release, including path and IO reform. However, some of these revisions landed relatively late in the cycle, and as a community we don't have enough experience with the revised APIs to declare them stable yet. Note that the API changes are, with a couple exceptions, very conservative: they generally move us in the direction of existing, successful libraries.

By producing 1.0-alpha2, we leave open a longer window for tweaks to these APIs before declaring them stable. That window will close around March 9.

Is there risk of slippage by not moving to beta now?

It seems unlikely. Essentially all of the language and library features needed for 1.0 have already landed, meaning that we will have 12 weeks of time to polish between alpha2 and 1.0 final.

What will happen before 1.0?

All features that are required for shipping 1.0 have now landed. What remains is polish, performance improvements, bugfixing, documentation -- and gaining enough confidence in recently revised APIs to mark them #[stable].

The alpha2 release will officially deprecate (but leave available) the old path and IO APIs. The new APIs are scheduled to be stabilized by March 9. Please try out these new APIs and help uncover problems!

After the March 9 deadline, it should be possible for substantial crates to work with "stable Rust", i.e. without any use of #[feature]. Between then and the beta release, we hope to work directly with authors of crates.io packages to help move code to stable Rust, and to uncover any gaps in stabilization.

By beta, we hope that a substantial part of the ecosystem will be off of nightlies and on to stable releases. Getting there will require a community-wide push toward stabilization, which we're coordinating via discuss -- if you haven't, please drop by and tell us the key unstable APIs you're using.