commit 528d9cf07ca756fb5422cab174849fe0708620d0
parent 4b60f861160b15b88ee5eb1e7f3d0e057776dc77
Author: Jared Tobin <jared@jtobin.io>
Date: Thu, 8 Jan 2026 22:39:19 +0400
release: v0.2.5
Diffstat:
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG b/CHANGELOG
@@ -1,5 +1,16 @@
# Changelog
+- 0.2.5 (2026-01-08)
+ * We now check if the ARM cryptographic extensions are available, and,
+ if so, use them to calculate hashes. If they're unavailable we
+ simply use the pure implementation as a fallback. This yields about
+ a 5x performance boost for 'hash' and 3.5x boost for 'hmac' (again,
+ when available).
+
+ * Allocation for both the 'hash' and 'hmac' functions has been reduced
+ dramatically, mostly by optimising the padding internals, and is now
+ constant with respect to input.
+
- 0.2.4 (2025-12-28)
* Adds an 'llvm' build flag and tests with GHC 9.10.3.
@@ -12,6 +23,7 @@
- 0.2.1 (2024-10-13)
* Adds an INLINE pragma to an internal step function.
+
* 'hmac' no longer calls 'hmac_lazy', which has no practical effect
other than to clean up profiling reports generated by GHC.
diff --git a/ppad-sha256.cabal b/ppad-sha256.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: ppad-sha256
-version: 0.2.4
+version: 0.2.5
synopsis: The SHA-256 and HMAC-SHA256 algorithms
license: MIT
license-file: LICENSE