Rust 1.70.0 was recently released. The new version includes features for more stability.
In the new version, the developers of the programming language state that the most important update is that the so-called “sparse protocol” for reading “crates.io index” is now activated by default. The use of the protocol in question should ensure that obtaining information from the index provides marked performance improvements.
However, the Rust developers do indicate that this new feature changes the path to the crate cache, requiring dependencies to be downloaded again.
Two new types and IsTerminal feature
Another feature update includes two new types for initializing shared data: OnceCell and OnceLock. The new types can be used at any point where “immediate construction” is not a desired behaviour. The stable new types also replace previously used crates such as ‘lazy_static’ and ‘once-cell’.
In addition, the feature IsTerminal is also introduced. This ensures that the method ‘is-terminal’ decides whether a certain file descriptor or handle represents a terminal or so-called ‘TTY’. Crate functionality was also already available for this purpose, but this feature is now built directly into the programming code.
Other new features
Also, it is now possible to name debug levels and the version no longer allows unstable test versions. As a result, it is no longer possible to choose different unstable options for the command line.
Furthermore, Rust v1.70.0 now features 37 new stable APIs.