CHANGELOG (1122B)
1 # Changelog 2 3 - 0.3.4 (2026-07-17) 4 * Adds an optimization-opaque barrier to MAC equality comparison 5 to prevent LLVM from introducing variable-time instructions when 6 compiling with the LLVM backend. 7 8 - 0.3.3 (2026-07-17) 9 * Uses a different algorithm for constant-time MAC comparison. 10 This version seems to produce less microarchitectural variance on 11 aarch64/darwin. 12 13 - 0.3.2 (2026-05-16) 14 * Bumps the poly1305 dependency to a version that returns its MAC in a 15 custom type having a constant-time Eq instance. 16 17 - 0.3.1 (2025-12-28) 18 * Tests with GHC 9.10.3. 19 20 - 0.3.0 (2025-12-27) 21 * Updates the poly1305 dependency to a version that uses ppad-fixed for 22 fixed-width words and constant-time primitives internally. Also swaps 23 a naïve ByteString equality check out for a constant-time version. 24 25 - 0.2.0 (2025-06-21) 26 * The 'encrypt' and 'decrypt' functions are now total, returning 'Left 27 InvalidKey', 'Left InvalidNonce', or 'Left InvalidMAC' values when 28 passed the corresponding bad inputs. 29 30 - 0.1.0 (2025-03-09) 31 * Initial release, supporting the ChaCha20-Poly1305 configuration. 32 33