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

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

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

请继续阅读有关版本发布的详细信息,以及 Rust 社区中一些激动人心的新进展。

1.1 稳定版的新功能

Rust 1.0 之后最重要的优先事项之一是改进编译时间。感谢众多贡献者的辛勤工作,Rust 1.1 稳定版比 Rust 1.0 在编译时间上提供了 32% 的改进(以引导启动衡量)。

另一个主要关注点是改进整个编译器中的错误消息。同样感谢众多贡献者,现在大部分编译器错误都包含使用 --explain 标志访问的扩展说明。

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

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

更多详细信息请参考发行说明

1.2 测试版的新功能

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

此外,并行代码生成再次工作,并且可以大大加快调试模式下的大型构建;在 4 核计算机上引导启动时,它又获得了 33% 的加速。它尚未默认启用,但在不久的将来会启用。

Cargo 的性能也有所提高,包括大型“无操作”构建的 10 倍加速(在 Servo 上从 5 秒到 0.5 秒),以及跨多个包缓存依赖项的共享目标目录。

除此之外,1.2 测试版还包括我们对 MSVC(Microsoft Visual C)的初步支持:编译器能够引导启动,并且我们有针对该平台的初步夜间构建。这是我们 Windows 支持的一大步,使得将 Rust 代码链接到使用本机工具链构建的代码变得更加容易。目前无法进行展开(代码在 panic 时中止),但实现已完成,所有 rust-lang crate 现在都在 MSVC 上作为第一层平台进行测试。

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

社区新闻

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

在过去几周中,我们成立了一个新的子团队,专门致力于支持 Rust 社区。该团队将承担多项职责,包括汇总有关聚会和其他活动的资源,通过外展、政策和提高意识方面的领导来支持社区中的多样性,并与我们的早期生产用户和核心团队合作来帮助指导优先级。

此外,我们很快将在 2015 年 8 月 1 日在美国加利福尼亚州伯克利举办首届官方 Rust 会议:RustCamp。我们收到了许多优秀的演讲提交,并期待一个很棒的节目。

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
  • らいどっと