我们很高兴地宣布 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
- らいどっと