Rust 1.77.1, a Patch Release to Fix an Issue with Windows
The Rust Release Team last week introduced Rust 1.77.1, a patch release to fix an issue with Windows introduced in Rust 1.77.0.
“The Rust team has published a new point release of Rust, 1.77.1. Rust is a programming language that is empowering everyone to build reliable and efficient software,” the Rust release team wrote in a blog post.
The team noted that if developers have a previous version of Rust installed via rustup, getting Rust 1.77.1 is as easy as:
rustup update stable
However, if they don’t have Rust installed developers can get rustup from the Rust team’s website, the post said.
“Cargo enabled stripping of debuginfo in release builds by default in Rust 1.77.0. However, due to a pre-existing issue, debuginfo stripping does not behave in the expected way on Windows with the MSVC toolchain,” the Rust team wrote in the post.
“Rust 1.77.1 therefore disables the new Cargo behavior on Windows for targets that use MSVC. There are no changes for other targets. We plan to eventually re-enable debuginfo stripping in release mode in a later Rust release,” the post reads.
“Looking into the source files of the change, specifically a comment that ‘Using -Cstrip=debuginfo in release mode by default is temporarily disabled on Windows due to https://github.com/rust-lang/rust/issues/122857’ on lines 635-636, it seems that a bug preventing stack traces to appear was the cause,” Tim McNamara, a New Zealand-based software consultant and coach, founder of Accelerant and author of Rust in Action, told The New Stack via email.
“Since this a point or patch release, there doesn’t necessarily have to be much added to it as something like 1.77.0 was, Joel Marcey, director of technology for The Rust Foundation, told The New Stack.
Thus, the notes in the blog post may be all there is to say about the release, Marcey added. The same notes are in GitHub too.
Rust 1.77.0
Speaking of Rust 1.77.0, which the Rust team released exactly one week before Rust 1.77.1 at the end of March, it was considered a “relatively minor” release. Yet, “as always, even incremental improvements lead to a greater whole,” the team wrote in a blog post on Rust 1.77.0.
Rust 1.77.0 added support for C-string literals.
“Rust now supports C-string literals (c"abc") which expand to a nul-byte terminated string in memory of type &'static CStr,” the team said in the post. “This makes it easier to write code interoperating with foreign language interfaces which require nul-terminated strings, with all of the relevant error checking (e.g., lack of interior nul byte) performed at compile time.”
Other new features in Rust 1.77.0 included support for recursion in async fn. 1.77.0 stabilizes offset_of! for struct fields, which provides access to the byte offset of the relevant public field of a struct. Rust 1.77.0 also enabled strip in release profiles by default, and stabilized several APIs, according to the post.