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