- Float‑to‑int casts (`as`) now saturate instead of causing undefined behaviour; use `to_int_unchecked` for the old semantics (breaking change).
- Function‑like procedural macros can now be used in expression, pattern, and statement positions, and many new library APIs (e.g., `PartialOrd` for `SocketAddr`, char range iteration, `FromStr` for `OsString`, saturating arithmetic method...
- Compiler gains flags for forced unwind tables and embed LLVM bitcode (default on), support for overriding individual target features, and new tier‑3 target support; Rustdoc adds strikethrough markdown and deprecation emojis (docs).