Rust 1.1 稳定版、社区子团队和 RustCamp

2015 年 6 月 25 日 · Rust 核心团队

我们很高兴地宣布 Rust 1.0 后的第一个发布周期完成:今天我们发布了 Rust 1.1 稳定版,以及 1.2 beta 版。

继续阅读以了解发布的详细信息,以及 Rust 社区中一些令人兴奋的新发展。

1.1 稳定版中的内容

Rust 1.0 之后,Rust 的最高优先事项之一是改进编译时间。由于众多贡献者的辛勤工作,Rust 1.1 稳定版在编译时间方面比 Rust 1.0 提高了 32%(通过引导测量)。

另一个主要重点是改进整个编译器的错误消息。再次感谢众多贡献者,现在编译器错误的大部分都包含扩展的解释,可以使用 --explain 标志访问。

除了这些改进之外,1.1 版本还包括一些重要的新功能

  • 新的 std::fs API。此版本稳定了对文件系统 API 的大量扩展,例如,可以使 Cargo 在稳定的 Rust 上编译。
  • musl 支持。现在可以在 Linux 上针对musl。以这种方式构建的二进制文件是静态链接的,并且没有依赖项。夜间构建正在进行中。
  • cargo rustc。现在可以构建 Cargo 包,同时将任意标志传递给最终的 rustc 调用。

更多详细信息可以在发布说明中找到。

1.2 Beta 版中的内容

性能改进并没有随着 1.1 稳定版的发布而停止。基准测试编译显示从 1.1 稳定版到 1.2 beta 版额外提高了 30%;Cargo 的主 crate 编译速度提高了 18%。

此外,并行代码生成再次生效,并且可以大幅加快调试模式下的大型构建;它在 4 核机器上引导时获得了另外 33% 的提速。它目前尚未默认启用,但将在不久的将来启用。

Cargo 也进行了一些性能改进,包括大型“无操作”构建的 10 倍提速(从 Servo 的 5 秒到 0.5 秒),以及跨多个包缓存依赖项的共享目标目录。

除了所有这些之外,1.2 beta 版还包括我们对 MSVC(Microsoft Visual C)的首次支持:编译器能够引导,并且我们有针对该平台的初步夜间构建。这对我们的 Windows 支持来说是一个巨大的进步,使 Rust 代码与使用本机工具链构建的代码链接变得更加容易。展开尚未可用——代码在恐慌时会中止——但实现本身已经完成,并且所有 rust-lang crate 现在都在 MSVC 上作为一级平台进行测试。

Rust 1.2 稳定版将在六周后发布,同时发布 1.3 beta 版。

社区新闻

除了上述技术工作之外,Rust 社区中还有一些令人兴奋的消息。

在过去几周中,我们组建了一个新的子团队,专门致力于支持 Rust 社区。该团队将承担许多责任,包括汇总聚会和其他活动的资源,通过在推广、政策和意识提升方面的领导作用来支持社区的多样性,以及与我们的早期生产用户和核心团队合作,帮助指导优先级排序。

此外,我们很快将举办第一个官方 Rust 大会:RustCamp,将于 2015 年 8 月 1 日在美国加州伯克利举行。我们收到了许多优秀的演讲提交,并期待着精彩的节目。

1.1 的贡献者

与每次发布一样,1.1 稳定版是来自一个令人惊叹且活跃的社区的工作成果。感谢 168 位对本次发布做出贡献的人

  • Aaron Gallagher
  • Aaron Turon
  • Abhishek Chanda
  • Adolfo Ochagavía
  • Alex Burka
  • Alex Crichton
  • Alexander Polakov
  • Alexis Beingessner
  • Andreas Tolfsen
  • Andrei Oprea
  • Andrew Paseltiner
  • Andrew Straw
  • Andrzej Janik
  • Aram Visser
  • Ariel Ben-Yehuda
  • Avdi Grimm
  • Barosl Lee
  • Ben Gesoff
  • Björn Steinbrink
  • Brad King
  • Brendan Graetz
  • Brian Anderson
  • Brian Campbell
  • Carol Nichols
  • Chris Morgan
  • Chris Wong
  • Clark Gaebel
  • Cole Reynolds
  • Colin Walters
  • Conrad Kleinespel
  • Corey Farwell
  • David Reid
  • Diggory Hardy
  • Dominic van Berkel
  • Don Petersen
  • Eduard Burtescu
  • Eli Friedman
  • Erick Tryzelaar
  • Felix S. Klock II
  • Florian Hahn
  • Florian Hartwig
  • Franziska Hinkelmann
  • FuGangqiang
  • Garming Sam
  • Geoffrey Thomas
  • Geoffry Song
  • Graydon Hoare
  • Guillaume Gomez
  • Hech
  • Heejong Ahn
  • Hika Hibariya
  • Huon Wilson
  • Isaac Ge
  • J Bailey
  • Jake Goulding
  • James Perry
  • Jan Andersson
  • Jan Bujak
  • Jan-Erik Rediger
  • Jannis Redmann
  • Jason Yeo
  • Johann
  • Johann Hofmann
  • Johannes Oertel
  • John Gallagher
  • John Van Enk
  • Jordan Humphreys
  • Joseph Crail
  • Kang Seonghoon
  • Kelvin Ly
  • Kevin Ballard
  • Kevin Mehall
  • Krzysztof Drewniak
  • Lee Aronson
  • Lee Jeffery
  • Liigo Zhuang
  • Luke Gallagher
  • Luqman Aden
  • Manish Goregaokar
  • Marin Atanasov Nikolov
  • Mathieu Rochette
  • Mathijs van de Nes
  • Matt Brubeck
  • Michael Park
  • Michael Rosenberg
  • Michael Sproul
  • Michael Wu
  • Michał Czardybon
  • Mike Boutin
  • Mike Sampson
  • Ms2ger
  • Nelo Onyiah
  • Nicholas
  • Nicholas Mazzuca
  • Nick Cameron
  • Nick Hamann
  • Nick Platt
  • Niko Matsakis
  • Oliver Schneider
  • P1start
  • Pascal Hertleif
  • Paul Banks
  • Paul Faria
  • Paul Quint
  • Pete Hunt
  • Peter Marheine
  • Philip Munksgaard
  • Piotr Czarnecki
  • Poga Po
  • Przemysław Wesołek
  • Ralph Giles
  • Raphael Speyer
  • Ricardo Martins
  • Richo Healey
  • Rob Young
  • Robin Kruppe
  • Robin Stocker
  • Rory O’Kane
  • Ruud van Asseldonk
  • Ryan Prichard
  • Sean Bowe
  • Sean McArthur
  • Sean Patrick Santos
  • Shmuale Mark
  • Simon Kern
  • Simon Sapin
  • Simonas Kazlauskas
  • Sindre Johansen
  • Skyler
  • Steve Klabnik
  • Steven Allen
  • Steven Fackler
  • Swaroop C H
  • Sébastien Marie
  • Tamir Duberstein
  • Theo Belaire
  • Thomas Jespersen
  • Tincan
  • Ting-Yu Lin
  • Tobias Bucher
  • Toni Cárdenas
  • Tshepang Lekhonkhobe
  • Ulrik Sverdrup
  • Vadim Chugunov
  • Valerii Hiora
  • Wangshan Lu
  • Wei-Ming Yang
  • Wojciech Ogrodowczyk
  • Xuefeng Wu
  • York Xiang
  • Young Wu
  • bors
  • critiqjo
  • diwic
  • gareins
  • inrustwetrust
  • jooert
  • klutzy
  • kwantam
  • leunggamciu
  • mdinger
  • nwin
  • parir
  • pez
  • robertfoss
  • sinkuu
  • tynopex
  • らいどっと