We're happy to announce the completion of the first release cycle after Rust 1.0: today we are releasing Rust 1.1 stable, as well as 1.2 beta.

Read on for details the releases, as well as some exciting new developments within the Rust community.

What's in 1.1 Stable

One of the highest priorities for Rust after its 1.0 has been improving compile times. Thanks to the hard work of a number of contributors, Rust 1.1 stable provides a 32% improvement in compilation time over Rust 1.0 (as measured by bootstrapping).

Another major focus has been improving error messages throughout the compiler. Again thanks to a number of contributors, a large portion of compiler errors now include extended explanations accessible using the --explain flag.

Beyond these improvements, the 1.1 release includes a number of important new features:

New std::fs APIs. This release stabilizes a large set of extensions to the filesystem APIs, making it possible, for example, to compile Cargo on stable Rust.

APIs. This release stabilizes a large set of extensions to the filesystem APIs, making it possible, for example, to compile Cargo on stable Rust. musl support. It's now possible to target musl on Linux. Binaries built this way are statically linked and have zero dependencies. Nightlies are on the way.

cargo rustc . It's now possible to build a Cargo package while passing arbitrary flags to the final rustc invocation.

More detail is available in the release notes.

What's in 1.2 Beta

Performance improvements didn't stop with 1.1 stable. Benchmark compilations are showing an additional 30% improvement from 1.1 stable to 1.2 beta; Cargo's main crate compiles 18% faster.

In addition, parallel codegen is working again, and can substantially speed up large builds in debug mode; it gets another 33% speedup on bootstrapping on a 4 core machine. It's not yet on by default, but will be in the near future.

Cargo has also seen some performance improvements, including a 10x speedup on large "no-op" builds (from 5s to 0.5s on Servo), and shared target directories that cache dependencies across multiple packages.

In addition to all of this, 1.2 beta includes our first support for MSVC (Microsoft Visual C): the compiler is able to bootstrap, and we have preliminary nightlies targeting the platform. This is a big step for our Windows support, making it much easier to link Rust code against code built using the native toolchain. Unwinding is not yet available -- code aborts on panic -- but the implementation is otherwise complete, and all rust-lang crates are now testing on MSVC as a first-tier platform.

Rust 1.2 stable will be released six weeks from now, together with 1.3 beta.

Community news

In addition to the above technical work, there's some exciting news within the Rust community.

In the past few weeks, we've formed a new subteam explicitly devoted to supporting the Rust community. The team will have a number of responsibilities, including aggregating resources for meetups and other events, supporting diversity in the community through leadership in outreach, policies, and awareness-raising, and working with our early production users and the core team to help guide prioritization.

In addition, we'll soon be holding the first official Rust conference: RustCamp, on August 1, 2015, in Berkeley, CA, USA. We've received a number of excellent talk submissions, and are expecting a great program.

Contributors to 1.1

As with every release, 1.1 stable is the result of work from an amazing and active community. Thanks to the 168 contributors to this release: