This release adds initial NIST FIPS post quantum support, by adding a new key exchange type based on a Curve25519+ML-KEM-1024 hybrid, and a new signature type based on a Ed25519+SLH-DSA-SHAKE-128f hybrid. This also includes a new public controller test, to ensure pq signing works in all operating modes.
See associated pull requests, 3, 4, 5, for details.
Compatibility Notes
1. Adding full pq support required a change to the `CryptoKey` API, so alternative implementations will need to be modified to support the additional functions required for multi-signature chain support: `limit_spk, get_id_spk, get_num_spk`.
2. The CryptoKey API changes mean that once updated to this version, you cannot roll back to older versions without manually downgrading the file storage format for the file-backed CryptoKey (if used), and without moving the entry in the KafkaCryptoConfig file from the new `chains` section back to its original location.
3. There should be full compatibility between producers/consumers/controllers/chain-servers running different versions, but of course key exchange is only possible if they share at least one signature and one key exchange type.