packages feed

crypto-token-0.2.1: ChangeLog.md

# ChangeLog for crypto-token

## 0.2.1

* `tokenLifetime` is exact.  A token carries its issue time and is refused
  once older than `tokenLifetime`; before, it could expire up to one
  `interval` early.
* A `tokenLifetime` shorter than `interval`, or spanning 65536 intervals or
  more, no longer makes every token operation divide by zero.
  `spawnTokenManager` throws an `IOError` for a non-positive `interval`.
* The AES-GCM nonce is 96 bits, the length GCM is designed for, rather
  than 64.
* The token header is encrypted rather than masked, so tokens no longer
  reveal how their counters relate.
* The rotation thread survives a failed rotation, and its wait no longer
  overflows a 32-bit `Int`.
* Tokens are 14 bytes longer: an 8-byte issue time and a 16-byte header
  instead of 10.  Tokens never outlive the process that made them, so no
  token from an earlier version is affected.
* The lower bound on base moves to 4.11, where `GHC.Clock` is.