今天,我们很高兴地宣布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 个 crate 可用。crates.io 中的许多顶级 crate 现在都可以使用稳定的 Rust 构建,并且将其余部分移植的努力正在进行中。因此,我们现在建议新用户从 Beta 版本开始,而不是 Nightly 构建,并且rustup 脚本将修改为默认安装 Beta 版本。(但是,如果您的某些依赖项尚未更新,切换到 Nightly 构建也很容易。详细信息请参阅安装页面。)
在 Beta 周期中会发生什么?
最终的 Rust 1.0 版本计划于 5 月 15 日发布——正好是现在起六周后。在此期间,我们预计会将大部分精力投入到修复 Bug、改进文档和错误消息,以及其他方面来提升最终用户体验。我们不计划对稳定内容进行功能性更改,尽管如果发现缺点或问题,我们自然可能会对库 API 进行少量修正或添加(但进行此类更改的标准相对较高)。
虽然我们不期望在 1.0 版本中添加任何新功能(或主要的新 API),但这并不意味着我们将完全停止对其的开发。事实上,恰恰相反!根据火车模型,计划是在 master 分支上继续开发新功能,与 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