The Rust team will be delivering Rust 2018 this year, which marks the first major edition of Rust since 1.0 was released in 2015. Rust is a Mozilla-backed systems programming language designed to prevent segfaults and guarantee thread safety. Stack Overflow’s annual Developer Survey Results recently found the language to be the most-loved programming language for the third year in a row.
The team notes that it will continue to publish releases every six weeks as normal, but in the latter third of the year it will release Rust 2018. Rust 2018 will ship with updated documentation, tooling, and libraries to tie in with the new features.
“The idea of editions is to signify major steps in Rust’s evolution, where a collection of new features or idioms, taken as a whole, changes the experience of using Rust. They’re a chance, every few years, to take stock of the work we’ve delivered in six-week increments. To tell a bigger story about where Rust is going. And to ship the whole stack as a polished product,” the team wrote in a post.
One of the goals with Rust 2018 is to provide quality documentation for the new features. Over the last year and a half, the Rust Programming Language book was completely re-written and will continue to be updated throughout the year as new features become stable. It is likely that Rust By Example will also get a revamp this year, according to the team.
Most of the improvements to the language come from last year’s ergonomics initiative. Nearly all of the RFCs accepted from that initiative are now available and will be published and stabilized in the coming months. Some of the productivity improvements that will serve as the foundation of the release are improvements to the ownership, trait, and module systems, and generators, async, and await. The team plans to add a few more features before the 2018 release, such as SIMD, custom allocators, and macros 2.0.
Improvements to the compiler will include both fresh and re-builds. In the new release there will be high quality release of the Rust Language Server and rustfmt, which is a formatting tool for Rust. The team will also keep working on improving Cargo by stabilizing registries, public dependences, and adding a revised profile system. It wants to do additional work on Cargo, but is not sure how many extra features will be added before the Rust 2018 release.
In terms of library improvements, the team will publish a 1.0 version of the Rust API guidelines book, continue pushing important libraries to 1.0 status, revamp the cookbook to improve discoverability, and invest heavily in libraries in specific domains such as network services, command-line apps, WebAssembly, and embedded devices.
The team will rework the Rust website in order to make it more useful for both CTOs and engineers. The new site will make it easy to find information and be able to stay up to date with the latest Rust tooling and ecosystem improvements.
“One of the strongest messages we’ve heard from production users, and the 2017 survey, is that people need more resources to take them from understanding Rust’s concepts to knowing how to use them effectively. The roadmap does not stipulate exactly what these resources should look like — probably there should be several kinds — but commits us as a community to putting significant work into this space, and ending the year with some solid new material,” the team wrote.