今天,我们非常激动地宣布 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 万次下载,并有超过 1,700 个 crates 可用。现在,crates.io 中的许多顶级 crates 都可以只使用稳定的 Rust 构建,并且其余部分的移植工作正在进行中。因此,我们现在建议新用户从 Beta 版开始,而不是 Nightly 构建,并且 rustup 脚本将被修改为默认安装 Beta 版。(但是,如果您的某些依赖项尚未更新,则很容易切换到 Nightly 构建。有关详细信息,请参阅安装页面。)
在 Beta 周期期间会发生什么?
最终的 Rust 1.0 版本计划于 5 月 15 日发布 - 恰好在六周后。 在此期间,我们期望将大部分精力投入到修复错误、改进文档和错误消息,以及其他方面改进最终用户体验。我们不打算对稳定的内容进行功能更改,当然,如果发现缺点或问题,我们可能会对库 API 进行小的更正或添加(但是,此类更改的门槛相对较高)。
虽然我们不希望为 1.0 版本添加任何新功能(或主要的新 API),但这并不意味着我们将完全停止对其进行研究。 恰恰相反!按照 火车模型,计划是在主分支上继续开发新功能,与 Beta 版并行。当然,我们会在发布最终的 1.0 版本的同时发布 1.1 版本的 Beta 版,因此您不必等待太久就可以开始使用该工作成果。
为了帮助确保我们在添加新功能时不会意外引入破坏,我们还在开发一个令人兴奋的新 CI 基础设施,以允许我们监控哪些软件包正在使用 Nightly 版本进行构建,并在整个 Rust 生态系统中检测回归,而不仅仅是我们自己的测试基础。此基础设施仍处于开发阶段,但您可以在此处查看示例报告。
社区的成就
与往常一样,此 Rust 版本的发布是广大 Rust 社区的成就。感谢每位参与 RFC 过程的人,并特别感谢此版本的 170 位贡献者。
Aaron TuronAaron WeissAdam JacobAdenilson CavalcantiAdolfo OchagavíaAhmed CharlesAlan CutterAlex CrichtonAlexander BliskovskyAlexander CampbellAlexander ChernyakhovskyAlexisAlexis BeingessnerAmol MundayoorAnders KaseorgAndrew HobdenAndrew PaseltinerAngus LeesawlnxBarosl LeebcoopersBjörn SteinbrinkbomblessBrian AndersonBrian BrooksBrian LeibigCamille RousselCamille TJHOACarol NicholsCaspar KriegerChes MartinChloeChris WongCody P SchaferCorey FarwellCorey RichardsonDabo RossDan BurkertDan ConnollyDan W.Daniel Lobato GarcíaDarin MorrisonDarrell HamiltonDave HusebyDavid CreswickDavid KingDavid MallydefuzDenis DefreyneDrew CrawfordDzmitry MalyshauEduard BoppEduard BurtescuEduardo BautistaEdward WangEmeliov DmitriiEric PlatonErick TryzelaarEunji JeongFalco HirschenbergerFelix S. Klock IIFenhlFlavio PercocoFlorian HahnFlorian HartwigFlorian ZeitzFuGangqiangGary M. JosackGermano GabbianelliGlacJAYGleb KozyrevGuillaume GomezGuillaumeGomezHuachao HuangHuon WilsoninrustwetrustIvan PetkovIvan Radanov IvanovJake GouldingJakub BukajJames MillerJessy Diamond ExumJihyun YuJohannes OertelJohn HodgeJohn ZhangJonathan ReemJordan WoehrJorge AparicioJoseph CrailJP-EllisJulian OrthJulian ViereckJunseok LeeKang SeonghoonKeegan McAllisterKevin BallardKevin ButlerKevin YapkgvkjpgitLai JiangshanLeonids MaslovsLiam MonahanLiigo ZhuangŁukasz NiemierlummaxManish GoregaokarMarkus SiemensMarkus UnterwaditzerMarvin LöbelMatt BrubeckMatt CoxmdingerMichael WoeristerMichał KrasnoborskiMihnea Dobrescu-BalaurMikhail ZabaluevMs2gerMurarthNicholas BishopNicholas MazzucaNicholasNick CameronNiko MatsakisnwinOliver SchneiderOr NeemanPascal HertleifPatrick WaltonPaul ADENOTPaul OsbornePeter ElmersPhil DawesPhilip MunksgaardPiotr CzarneckiPyry KontioRaphael Nestlerray gloverRicardo MartinsRichard DiamondRicho HealeyRuud van AsseldonkRyan PrichardSae-bom KimScott OlsonSean McArthurSébastien MarieSeo SanghyeonSimonas KazlauskasStepan KoltsovSteve KlabnikSteven CrockettSteven FacklerTamir DubersteinTero HänninenTiago NobregaTobias BucherTom JakubowskiTrent NadeauTshepang LekhonkhobeUlrik SverdrupVadim ChugunovVadim PetrochenkovValerii HioraVladimir PouzanovVojtech KralWangshan LuWesley WiserYork Xiang