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

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

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

请继续阅读以了解这些版本的详细信息,以及 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。现在可以在构建 Cargo 包时向最终的 rustc 调用传递任意标志了。

更多详情可在发布说明中找到。

1.2 Beta 版中有什么

性能改进并未止步于 1.1 稳定版。基准测试编译显示,从 1.1 稳定版到 1.2 beta 版,又提高了 30%;Cargo 的主 crate 编译速度提高了 18%。

此外,并行代码生成再次可用,并且可以显著加快调试模式下大型构建的速度;在 4 核机器上进行自举时,它又带来了 33% 的速度提升。它目前并非默认启用,但在不久的将来会默认启用。

Cargo 也取得了一些性能改进,包括在大型“空操作”构建(在 Servo 上从 5 秒缩短到 0.5 秒)中提高了 10 倍的速度,以及共享目标目录,可以在多个包之间缓存依赖项。

除了所有这些之外,1.2 beta 版还首次包含了对 MSVC (Microsoft Visual C) 的支持:编译器能够自举,并且我们已经有初步的针对该平台的夜间构建版本。这对我们的 Windows 支持是一个巨大的进步,使得 Rust 代码更容易与使用本地工具链构建的代码链接。Unwinding(栈展开)尚不可用——代码在 panic 时会中止——但除此之外,实现已经完成,并且所有 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
  • らいどっと