Skip to content

2.3.0

Compare
Choose a tag to compare
@starkat99 starkat99 released this 24 Jun 22:57
· 32 commits to main since this release
837ec03

Added

  • Support for Kani Rust Verifier. By @cameron1024.
  • Support for rand_distr::Distribution implementations behind rand_distr optional cargo feature. By @coreylowman.
  • Floating point formatting options in Display and Debug implementations. By @eiz.

Changed

  • Breaking Change Minimum supported Rust version is now 1.70.
  • Breaking Change Minimum supported Rust version policy reverted to original policy of allowing minimum supported Rust version updates for minor releases instead of only major to avoid segmentation and allow optimizing hardware implementations without unnecessary major releases.
  • Hardware intrinsics/assembly is finally available on stable Rust, including using hardware feature detection (std only), including:
    • AArch64 now uses FP16 hardware instructions for conversions and math operations when available.
    • x86/x86-64 now uses F16C hardware instructions for conversions (but no math operations) when available. Fixes #54.

Deprecated

  • use-intrinsics cargo feature no longer used. Hardware support will now always be used whenever possible. A future version may output deprecation warnings if this feature is enabled.

Fixed

  • Improve code generation of leading_zeros functions by inlining. By @encounter.
  • Sum implementation of bf16 incorrectly performed product instead of sum. By @wx-csy.
  • Compile failed when serde cargo feature enabled but std not enabled.
  • Incorrect black boxing of benchmark tests.
  • Rustdoc cfg display on docs.rs not getting enabled.