Version 1.29.2 (2018-10-11)
- Workaround for an aliasing-related LLVM bug, which caused miscompilation.
- The
rls-previewcomponent on the windows-gnu targets has been restored.
Version 1.29.1 (2018-09-25)
Security Notes
-
The standard library's
str::repeatfunction contained an out of bounds write caused by an integer overflow. This has been fixed by deterministically panicking when an overflow happens.Thank you to Scott McMurray for responsibly disclosing this vulnerability to us.
Version 1.29.0 (2018-09-13)
Compiler
- Bumped minimum LLVM version to 5.0.
- Added
powerpc64le-unknown-linux-musltarget. - Added
aarch64-unknown-hermitandx86_64-unknown-hermittargets. - Upgraded to LLVM 7.
Libraries
Once::call_onceno longer requiresOnceto be'static.BuildHasherDefaultnow implementsPartialEqandEq.Box<CStr>,Box<OsStr>, andBox<Path>now implementClone.- Implemented
PartialEq<&str>forOsStringandPartialEq<OsString>for&str. Cell<T>now allowsTto be unsized.SocketAddris now stable on Redox.
Stabilized APIs
Cargo
- Cargo can silently fix some bad lockfiles. You can use
--lockedto disable this behavior. cargo-installwill now allow you to cross compile an install using--target.- Added the
cargo-fixsubcommand to automatically move project code from 2015 edition to 2018. cargo doccan now optionally document private types using the--document-private-itemsflag.
Misc
rustdocnow has the--cap-lintsoption which demotes all lints above the specified level to that level. For example--cap-lints warnwill demotedenyandforbidlints towarn.rustcandrustdocwill now have the exit code of1if compilation fails and101if there is a panic.- A preview of clippy has been made available through rustup.
You can install the preview with
rustup component add clippy-preview.
Compatibility Notes
str::{slice_unchecked, slice_unchecked_mut}are now deprecated. Usestr::get_unchecked(begin..end)instead.std::env::home_diris now deprecated for its unintuitive behavior. Consider using thehome_dirfunction from https://crates.io/crates/dirs instead.rustcwill no longer silently ignore invalid data in target spec.cfgattributes and--cfgcommand line flags are now more strictly validated.