New
v0.19.0
⛰️ Features
- Add helper to use multiple secret keys for decryption - (4176c07)
- Add back capability to build a SignedPublicKey from a key held externally (#678) - (066d0c5)
- Expand zeroizing of secret values - (4db0b6d)
🐛 Bug Fixes
- Support RSA keys up to 8k by default (#664) - (4c42ec1)
- Loosen trait requirements to KeyDetails, where appropriate (#680) - (9221ea1)
- Adds CertCasual (#691) - (a3e387c)
- Ensure trailing packets are consumed - (16c2457)
- Recursion issues in deeply nested messages - (e82f2c7)
- Handling of multiple trailing zeros in ecdh for malformed-artifact-compat - (7eb0682)
🚜 Refactor
- [breaking] Drop encrypt methods from secret key types (#670) - (cf8a770)
- [breaking] Simplify key generation by always signing immediately - (e111ba1)
- [breaking] Introduce EncryptionKey trait (#668) - (4a85df9)
- [breaking] New structure for key traits (#672) - (90999d9)
- [breaking] Adjust subpacket name "Issuer Key ID", to align with RFC 9580 (#674) - (23214a8)
- [breaking] Replace chrono::DateTime with custom Timestamp (#673) - (2435971)
- [breaking] Verify -> verify_bindings (#675) - (7ac79b7)
- [breaking] Introduce DecryptionKey (#679) - (86881b3)
- [breaking] Don't export symbols in duplicate - (96d94e3)
- Move support for large rsa keys into a separate feature (#696) - (135017f)
- Move some unused decryption code behind cfg(test) - (73cb9d1)
- [breaking] Distinguish can_encrypt_comms and can_encrypt_storage in key builder (#685) - (7e3b6c0)
- [breaking] Clearly mark v3 key expiration fields as legacy (#695) - (f2aefc8)
📚 Documentation
- Reorganize some module-level documentation (#677) - (e2242d6)
- Add some more API docs (#640) - (29a668e)
🧪 Testing
- (fuzz) Port to current API (#701) - (5fd74d0)
- Armor with very long line (#704) - (36125a5)
- Cleartext message with "NotDashEscaped" header - (21b56ad)