PackageTrack
Sign in Get early access

polyval

POLYVAL is a GHASH-like universal hash over GF(2^128) useful for constructing a Message Authentication Code (MAC)

0.7.3 156M downloads/mo #598 most downloaded on crates.io RustCrypto/universal-hashes

What this package is like to depend on

Last release 1 months ago

17 Jul 2026

Release timing varies

gaps range from 8 days to 11 months

Nearly every release is documented

notes for 24 of 25 stable releases

1 version withdrawn

withdrawn after publishing

7 years old

40 releases · first in 2019

12 releases in the last 12 months

see the full history below

Release timeline

40 releases · Aug 2019 to Jul 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 40
  1. 0.7.3 17 Jul 2026
    Release notes

    Fixed

    • Restore accidentally removed Zeroize impl on FieldElement (#350)
    Open source →
    Release notes

    Fixed

    • Restore accidentally removed Zeroize impl on FieldElement (#350)
    Open source →
  2. 0.7.2 11 Jul 2026
    Release notes

    Fixed

    • Actually detect avx+pclmulqdq as [#317] actually was detecting
      256-bit PCLMULQDQ (#347)
    Open source →
    Release notes

    Changed

    • Tweak zeroization (#343)

    Fixed

    • Actually detect avx+pclmulqdq as [#317] actually was detecting 256-bit PCLMULQDQ (#347)
    Open source →
  3. 0.7.1 28 Feb 2026
    Release notes

    Fixed

    • Detect avx+pclmulqdq features on x86/x86_64 targets (#317, #318)
    Open source →
    Release notes

    Fixed

    • Detect avx+pclmulqdq features on x86/x86_64 targets (#317, #318)
    Open source →
  4. 0.7.0 27 Feb 2026 withdrawn
    Release notes

    Added

    • hazmat feature that exposes FieldElement type (#279)

    Changed

    • Edition changed to 2024 and MSRV bumped to 1.85 (#228)
    • Relax MSRV policy and allow MSRV bumps in patch releases
    • Replace polyval_force_soft with polyval_backend="soft" (#259)
    • Use cpubits crate for soft backend selection (#261)
    • Bump cpufeatures to v0.3 (#292)
    • Use [Reduction/Field algorithm] for parallel block processing on
      aarch64/x86(_64) (#294)
    • polyval::mulx moved to FieldElement::mulx (#296)
    • Update to universal-hash v0.6 (#310)

    Removed

    • cfg(polyval_armv8) - now enabled by default (#214)
    Open source →
    Release notes

    NOTE: yanked due to SIGILL bug which was fixed in [#317].

    Added

    • hazmat feature that exposes FieldElement type (#279)

    Changed

    • Edition changed to 2024 and MSRV bumped to 1.85 (#228)
    • Relax MSRV policy and allow MSRV bumps in patch releases
    • Replace polyval_force_soft with polyval_backend="soft" (#259)
    • Use cpubits crate for soft backend selection (#261)
    • Bump cpufeatures to v0.3 (#292)
    • Use Reduction/Field algorithm for parallel block processing on aarch64/x86(_64) (#294)
    • polyval::mulx moved to FieldElement::mulx (#296)
    • Update to universal-hash v0.6 (#310)

    Removed

    • cfg(polyval_armv8) - now enabled by default (#214)
    Open source →
  5. 0.7.0-rc.9 10 Feb 2026 pre-release
    Release notes

    polyval v0.7.0-rc.9 (#304)

    Open source →
  6. 0.7.0-rc.8 10 Feb 2026 pre-release
    Release notes

    Releases the following:

    • ghash v0.6.0-rc.6
    • poly1305 v0.9.0-rc.6
    • polyval v0.7.0-rc.8
    Open source →
  7. 0.7.0-rc.7 02 Feb 2026 pre-release

    Nothing published for this version

  8. 0.7.0-rc.6 28 Jan 2026 pre-release

    Nothing published for this version

  9. 0.7.0-rc.5 27 Jan 2026 pre-release

    Nothing published for this version

  10. 0.7.0-rc.4 25 Jan 2026 pre-release

    Nothing published for this version

  11. 0.7.0-rc.3 05 Nov 2025 pre-release

    Nothing published for this version

  12. 0.7.0-rc.2 03 Sep 2025 pre-release

    Nothing published for this version

  13. 0.7.0-rc.1 30 May 2025 pre-release

    Nothing published for this version

  14. 0.7.0-rc.0 26 Jul 2024 pre-release

    Nothing published for this version

  15. 0.7.0-pre.0 08 Mar 2024 pre-release

    Nothing published for this version

  16. 0.6.2 03 Mar 2024
    Release notes

    Added

    • add new_with_init_block (#195)

    Changed

    • implement Karatsuba multiplication for arm64 (#181)
    Open source →
  17. 0.6.1 16 Jun 2023
    Release notes

    Added

    • Support for polyval_armv8 on Rust 1.61+ (#179)
    Open source →
  18. 0.6.0 31 Jul 2022
    Release notes

    Added

    Changed

    • Remove sse4.1 from CPU feature requirements for PCLMUL backend (#143)
    • Relax zeroize constraints (#147)
    • Upgrade to Rust 2021 edition (#147)
    • Use stable aarch64_target_feature (#154)
    • Replace armv8/force-soft features with cfg attributes (#159)
    • Bump universal-hash to v0.5 (#155, #162)
    Open source →
  19. 0.6.0-pre.2 24 Jul 2022 pre-release

    Nothing published for this version

  20. 0.6.0-pre.1 20 Jul 2022 pre-release

    Nothing published for this version

  21. 0.6.0-pre 17 Jul 2022 pre-release

    Nothing published for this version

  22. 0.5.3 27 Aug 2021
    Release notes

    Changed

    • Bump cpufeatures dependency to v0.2 (#136, #138)
    • Remove use of ARMv8 crypto feature (#137)
    Open source →
  23. 0.5.2 20 Jul 2021
    Release notes

    Changed

    • Pin zeroize dependency to v1.3 (#134)
    Open source →
  24. 0.5.1 31 May 2021
    Release notes

    Added

    • Nightly-only ARMv8 intrinsics support gated under the armv8 feature (#126)
    Open source →
  25. 0.5.0 29 Apr 2021
    Release notes

    Changed

    • Use ManuallyDrop unions; MSRV 1.49+ (#113, #114)
    • Replace cpuid-bool with cpufeatures (#116)

    Removed

    • mulx feature: now always built-in (#118)
    Open source →
  26. 0.4.5 26 Dec 2020
    Release notes

    Changed

    • Use u128 to impl mulx (#111)
    Open source →
  27. 0.4.4 26 Dec 2020
    Release notes

    Added

    • Debug impl using opaque-debug (#105)
    • mulx feature (#107)
    Open source →
  28. 0.4.3 08 Dec 2020
    Release notes

    Added

    • CLMUL detection (#92)
    Open source →
  29. 0.4.2 25 Nov 2020
    Release notes

    Added

    • KEY_SIZE constant (#82)

    Changed

    • Bump cfg-if from v0.1 to v1.0.0 (#86)
    Open source →
  30. 0.4.1 29 Sep 2020
    Release notes

    Changed

    • Performance improvements (#75)
    Open source →
  31. 0.4.0 06 Jun 2020
    Release notes

    Changed

    • Bump universal-hash dependency to v0.4; MSRV 1.41 (#52, #57)
    • Rename result methods to to finalize (#56)
    Open source →
  32. 0.3.3 21 Dec 2019
    Release notes

    Changed

    • Match ideal assembly implementation on x86/x86_64 (#43, #44)
    Open source →
  33. 0.3.2 05 Dec 2019
    Release notes

    Added

    • Constant-time 32-bit software implementation (#39)

    Changed

    • Use cfg-if crate to reduce duplication (#40)
    Open source →
  34. 0.3.1 14 Nov 2019
    Release notes

    Changed

    • Upgrade to zeroize 1.0 (#33)
    Open source →
  35. 0.3.0 05 Oct 2019
    Release notes

    Removed

    • Remove pub from field module (#28)
    Open source →
  36. 0.2.0 04 Oct 2019
    Release notes

    Changed

    • Upgrade to universal-hash crate v0.3 (#22)
    Open source →
  37. 0.1.1 01 Oct 2019
    Release notes

    Changed

    • Upgrade to zeroize v1.0.0-pre (#19)
    Open source →
  38. 0.1.0 19 Sep 2019
    Release notes

    Added

    • Constant time software implementation (#7)

    Changed

    • Update to Rust 2018 edition (#3)
    • Use UniversalHash trait (#6)
    • Removed generics/traits from field::Element API (#12)

    Removed

    • insecure-soft cargo feature (#7)
    Open source →
  39. 0.0.1 26 Aug 2019
    Release notes
    • Initial release
    Open source →
  40. 0.0.0 13 Aug 2019

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive