Skip to content

Upgrading ahash 0.7 to 0.8

Breaking0.7.8 → 0.8.12Breaking2Security1Platform1New1Changed11Fixed6Other7

BreakingUpgrade verdict

2 breaking changes and a platform requirement change and a security fix.

  • Instead of checking during the build whether a random number generator is available, the library now uses a switch called a cargo feature, which is turned on unless you turn it off.
  • The library's programming interface changed, so some programs that used the old version may need edits before they compile or work.
  • The crate now requires Rust 1.60.0 or newer.
  • Closes a security weakness that could let an attacker recover the internal key.
4 items need code or config changes

Requires Rust 1.60.0 from 0.8.9 (none stated before).

Adds cfg-if ^1.0, hashbrown ^0.14.3, pcg-mwc ^0.2.1, portable-atomic ^1.0.0, smallvec ^1.13.1, zerocopy ^0.8.24.

Drops atomic-polyfill.

Installs 93 packages in all (was 89).

Also installs allocator-api2, r-efi, wasip2, wit-bindgen.

No longer installs critical-section, rand_hc.

Moves getrandom 0.1.16, 0.2.17 → 0.2.17, 0.3.4, rand 0.7.3 → 0.8.8, rand_chacha 0.2.2 → 0.3.1, rand_core 0.5.1 → 0.6.4, wasi 0.11.1+wasi-snapshot-preview1, 0.9.0+wasi-snapshot-preview1 → 0.11.1+wasi-snapshot-preview1. Your build may pick other versions.

Breaking2
Removes build time detection of a runtime random number generator in favor of the runtime-rng cargo feature, on by default.
runtime-rng
Improves the API from 0.7 and may require code changes for some applications.
Security1
Fixes an intermediate key recovery attack.
Platform1
Adds MSRV 1.60.0.