CHANGELOG (1316B)
1 # Changelog 2 3 - 0.4.4 (2026-07-06) 4 * Reverts the unrolled MAC comparison introduced in 0.4.3, which was 5 found to introduce timing variation on both aarch64 and x86-64 when 6 compiled via the LLVM backend (the NCG backend was unaffected). 7 8 - 0.4.3 (2026-07-06) 9 * The constant-time 'Eq' on 'MAC' now folds over the two buffers 10 directly, rather than materialising an intermediate ByteString 11 holding their XOR on the heap. Semantics are unchanged. 12 13 * Improves the performance of constant-time MAC comparison. 14 15 - 0.4.2 (2026-05-16) 16 * Features order-of-magnitude performance improvements, especially 17 on ARM platforms where NEON intrinsics are available. 18 19 - 0.4.1 (2025-12-28) 20 * Bumps the ppad-fixed lower-bound version and tests with GHC 9.10.3. 21 22 - 0.4.0 (2025-12-27) 23 * Switches from variable-size 'Integer' to fixed-width words and 24 constant-time primitives supplied by ppad-fixed. The implementation now 25 runs about 25x faster and in time constant with respect to secrets. 26 27 - 0.3.0 (2025-06-21) 28 * The 'mac' function is now total, returning 'Nothing' when supplied 29 with an invalid-length one-time key. 30 31 - 0.2.0 (2025-03-10) 32 * Fix a bug in which small produced MAC's were not being padded to 128 33 bits. 34 35 - 0.1.0 (2025-03-09) 36 * Initial release, supporting the Poly1305 MAC. 37