今天,我们很高兴地宣布 Rust 1.0 beta 版发布!beta 版发布标志着向 1.0 版本迈进的一个非常重要的“状态转变”。特别是,随着 beta 版的发布,**所有计划在 1.0 版本中保持稳定的库和语言特性都已标记为稳定**。因此,beta 版代表了 Rust 1.0 版本将包含内容的准确预览。
要查看自 1.0-alpha2 版本以来的更改,请参阅 发布说明。
Beta 版发布也标志着我们 稳定性方法 的转折点。在 alpha 周期中,允许使用不稳定的 API 和语言特性,但会触发警告。从 Beta 版开始,使用不稳定的 API 将成为错误(除非您使用 Nightly 版本或从源代码构建)。
Rust 生态系统不断发展。 crates.io 存储库刚刚突破了 100 万次下载,并且拥有超过 1700 个可用的板条箱。 crates.io 中许多顶级板条箱现在可以使用仅稳定的 Rust 构建,并且正在努力移植其余部分。因此,我们现在建议新用户从 Beta 版开始,而不是 Nightly 版本,并且 rustup 脚本 将被修改为默认安装 Beta 版。(但是,如果您的某些依赖项尚未更新,则可以轻松切换到 Nightly 版本。有关详细信息,请参阅 安装页面。)
beta 周期中会发生什么?
**最终的 Rust 1.0 版本计划在 5 月 15 日发布——距离现在正好六周。**在此期间,我们预计将把大部分精力投入到修复错误、改进文档和错误消息,以及其他方面改善最终用户体验。我们不打算对稳定内容进行功能性更改,尽管自然地,如果发现缺陷或问题,我们可能会对库 API 进行一些小的更正或添加(但此类更改的门槛相对较高)。
虽然我们预计不会在 1.0 版本中添加任何新功能(或主要的新 API),但这并不意味着我们将完全停止开发它们。事实上,恰恰相反!根据 火车模型,计划是在 beta 版本的同时,在 master 分支上继续开发新功能。当然,我们将在发布最终的 1.0 版本时同时发布 1.1 版本的 beta 版,因此您不必等待太久就可以开始使用这些工作。
为了帮助确保我们在添加新功能时不会意外引入破坏,我们还一直在开发一个激动人心的新 CI 基础设施,以让我们能够监控哪些软件包正在使用 Nightly 版本构建,并检测整个 Rust 生态系统中的回归,而不仅仅是我们自己的测试基础。该基础设施仍处于开发阶段,但您可以在这里查看 示例报告。
社区成就
与往常一样,这个 Rust 版本是广大 Rust 社区共同努力的结果。感谢所有参与 RFC 过程的人,并特别感谢 170 位为本次发布做出贡献的人。
Aaron Turon
Aaron Weiss
Adam Jacob
Adenilson Cavalcanti
Adolfo Ochagavía
Ahmed Charles
Alan Cutter
Alex Crichton
Alexander Bliskovsky
Alexander Campbell
Alexander Chernyakhovsky
Alexis
Alexis Beingessner
Amol Mundayoor
Anders Kaseorg
Andrew Hobden
Andrew Paseltiner
Angus Lees
awlnx
Barosl Lee
bcoopers
Björn Steinbrink
bombless
Brian Anderson
Brian Brooks
Brian Leibig
Camille Roussel
Camille TJHOA
Carol Nichols
Caspar Krieger
Ches Martin
Chloe
Chris Wong
Cody P Schafer
Corey Farwell
Corey Richardson
Dabo Ross
Dan Burkert
Dan Connolly
Dan W.
Daniel Lobato García
Darin Morrison
Darrell Hamilton
Dave Huseby
David Creswick
David King
David Mally
defuz
Denis Defreyne
Drew Crawford
Dzmitry Malyshau
Eduard Bopp
Eduard Burtescu
Eduardo Bautista
Edward Wang
Emeliov Dmitrii
Eric Platon
Erick Tryzelaar
Eunji Jeong
Falco Hirschenberger
Felix S. Klock II
Fenhl
Flavio Percoco
Florian Hahn
Florian Hartwig
Florian Zeitz
FuGangqiang
Gary M. Josack
Germano Gabbianelli
GlacJAY
Gleb Kozyrev
Guillaume Gomez
GuillaumeGomez
Huachao Huang
Huon Wilson
inrustwetrust
Ivan Petkov
Ivan Radanov Ivanov
Jake Goulding
Jakub Bukaj
James Miller
Jessy Diamond Exum
Jihyun Yu
Johannes Oertel
John Hodge
John Zhang
Jonathan Reem
Jordan Woehr
Jorge Aparicio
Joseph Crail
JP-Ellis
Julian Orth
Julian Viereck
Junseok Lee
Kang Seonghoon
Keegan McAllister
Kevin Ballard
Kevin Butler
Kevin Yap
kgv
kjpgit
Lai Jiangshan
Leonids Maslovs
Liam Monahan
Liigo Zhuang
Łukasz Niemier
lummax
Manish Goregaokar
Markus Siemens
Markus Unterwaditzer
Marvin Löbel
Matt Brubeck
Matt Cox
mdinger
Michael Woerister
Michał Krasnoborski
Mihnea Dobrescu-Balaur
Mikhail Zabaluev
Ms2ger
Murarth
Nicholas Bishop
Nicholas Mazzuca
Nicholas
Nick Cameron
Niko Matsakis
nwin
Oliver Schneider
Or Neeman
Pascal Hertleif
Patrick Walton
Paul ADENOT
Paul Osborne
Peter Elmers
Phil Dawes
Philip Munksgaard
Piotr Czarnecki
Pyry Kontio
Raphael Nestler
ray glover
Ricardo Martins
Richard Diamond
Richo Healey
Ruud van Asseldonk
Ryan Prichard
Sae-bom Kim
Scott Olson
Sean McArthur
Sébastien Marie
Seo Sanghyeon
Simonas Kazlauskas
Stepan Koltsov
Steve Klabnik
Steven Crockett
Steven Fackler
Tamir Duberstein
Tero Hänninen
Tiago Nobrega
Tobias Bucher
Tom Jakubowski
Trent Nadeau
Tshepang Lekhonkhobe
Ulrik Sverdrup
Vadim Chugunov
Vadim Petrochenkov
Valerii Hiora
Vladimir Pouzanov
Vojtech Kral
Wangshan Lu
Wesley Wiser
York Xiang