Releases: rpgp/rpgp
Releases · rpgp/rpgp
v0.14.0 - Upgrading to RFC9580 aka V6
With this release, rpgp gains support for the latest and greatest version of the OpenPGP spec, namely RFC9580!
⛰️ Features
- Improve more debug impls - (3d73320)
- Password protection removal and setting for secret key packets - (700cba2)
- Improve API of LiteralData to provide more flexibility - (34728e0)
- Rfc9580 keys - (f09666c)
- Make
SignatureConfig::hash_signature_datamore flexible - (c6d6b2c) - Rfc9580 encryption - (5d3547a)
🐛 Bug Fixes
- Decrypted data must contain exactly one message - (00ee8ee)
- V6 ESK may only be combined with v2 SEIPD - (5ec3578)
- Parameter ordering for set_password - (39dd449)
- Add special error message for packet 20 - (49c8403)
- Revert to producing short padding for ecdh - (7c94189)
- Parameter name - (c9cdfaf)
- Reject unknown critical subpackets while hashing for signature verification - (b8b43a7)
- Implement various constraints that rfc 9580 mandates - (5682b08)
- Limit the use of S2K KDF with weak hash algorithms - (cb26cfd)
- When verifying signatures, check alignment between key version and signature version - (b771b78)
- Message parser: drop esk packets with versions that are not aligned with the encrypted container - (5b27240)
- Fail composed key parsing on hard errors during packet parsing - (a9de958)
🚜 Refactor
- Remove bigger macros in favor of direct types - (0b1d778)
- Smaller refactors - (8dcba01)
- Derive debug impls - (d714064)
- Remove unused Deserialize trait - (b18f046)
- Cleanup and improve Mpi API - (1803407)
📚 Documentation
- Update RFC links (#414) - (9473cf5)
- Add/improve comments - (73c89d0)
- Update text about implementation status (#417) - (92123ee)
🧪 Testing
- Roundtrip ecdh test against rPGP 0.10 - (1dd91ea)
- Ignore another sks-dump test failure - (1c0cd84)
- Rename "opengpg-interop" to "openpgp-interop" - (f3292f7)
- Skip writing files by default (#404) - (6e51094)
- Add signature verification tests (RFC 9580 Annex A.6 and A.7) (#409) - (0439dd5)
- Exercise SEIPDv2 encrypt/decrypt for a range of message sizes - (f9c48dd)
⚙️ Miscellaneous Tasks
- Rename PublicKeyAlgorithm::EdDSA to EdDSALegacy - (d30ce26)
- Rename PublicKeyTrait::to_writer_old into serialize_for_hashing - (017be15)
- Bump MSRV to 1.75 - (67551a8)
- Update push from master to main (#386) - (7b5f5b7)
- Use write_u8 - (882dcc3)
- Add cargo deny check - (d4a7905)
- Add PkeskVersion, SkeskVersion types - (bc79460)
- Rework ecdh public params to be able to represent opaque data - (276768e)
v0.13.2
v0.13.1
v0.13.0
chore: Release pgp version 0.13.0
v0.12.0-alpha.2
⛰️ Features
- Basic support for AEAD (#316) - (93ca7d8)
- Avoid Seek - (fa82b12)
- Cleartext framework support - (66b005c)
🐛 Bug Fixes
- (packet-parser) Increase buffer size for unknown size - (1013c13)
🚜 Refactor
- Improve internal crypto abstractions to allow for more flexibility - (a3dd485)
- Break out ecdh unwrap - (bde459c)
- Move benches to criterion and expand benchmarks - (8e87774)
🧪 Testing
- Approximate decryption and signing operations with an OpenPGP card - (42cfa11)
⚙️ Miscellaneous Tasks
- Fix feature = "cargo-clippy" deprecation - (a75db54)
- Set debug in Cargo.toml to the normalized value - (29adca7)
Bench
v0.11.0
⛰️ Features
- Add Signature::verify_key_binding_primary_back_sig - (2764b39)
- Implement support for Secp256k1 (#275) - (0d8e580)
- Add dsa support - (4ed459b)
- Generalize packet parsing to accept more unknown values; packet parser error type distinguishes "hard and soft" errors. - (48af40c)
- Handle distinction between hard and soft packet parsing errors - (6752d83)
- Implement From for SignedPublicKey and From for SignedPublicSubKey - (43370c5)
🐛 Bug Fixes
- (terminology) Use "certification" where we mean signatures that confirm identities - (44bccd3)
- Handle other RevocationCode values - (6167e99)
- Return an error in Message::verify if we don't know what to verify - (e29d089)
- Handle expiration times as Duration - (1cb17a1)
- Check SHA-1 checksum before parsing - (fd36c23)
- Normalize line endings when hashing data for a Text signature - (65c9e46)
- Move line ending normalization from Message::verify to Signature::verify - (20dd658)
- Debug output cleanup - (4e7ba07)
- Do not allow decryption with "Plaintext" algorithm - (9201b7e)
- Enforce Partial Body Length "MUST" from RFC 4880 - (d37a7b5)
- Clarify use of subpackets from hashed and unhashed areas - (7f1ae5c)
- [breaking] Generalize issuer subpacket checks - (7c43d22)
- Make ECDH unpadding more robust - (bf7a3f3)
🚜 Refactor
- Switch from num_derive to num_enum - (8014e49)
📚 Documentation
- (readme) Fix CI status image and rust version badge - (59c9d73)
- Remove unnecessary backticks (#252) - (2b17b30)
- Roughly reflect formats/mechanisms from draft-ietf-openpgp-crypto-refresh - (97edf8f)
- Clarify parameters in verify_key_binding_internal - (b82cd3f)
- Switch to git-cliff for changelog - (39444e5)
⚡ Performance
- Avoid
concatin sha1 checksum impl - (f56529f)
🧪 Testing
- Read signature with "other" revocation code - (dd3742b)
- Add test for normalization of line endings with text-mode signatures - (19c3d1d)
- Test that verifying unsigned messages fails - (5a1e8c7)
⚙️ Miscellaneous Tasks
- Fix deprecation warning reported by clippy - (a9a7a0b)
- Fix vec performance lint - (7aa80c9)
- Use 1.72 stabley toolchain instead of stable for mips - (334c0b8)
- Set Rust version to 1.67 - (0e673a2)
- Fix clippy lint - (8c4c27f)
- Fix clippy lints in tests - (30b15e7)
- Update dalek deps and fix nightly on CI - (414250a)
- Bump to Rust 1.70 - (1dd37d2)
Cleanup
- Rename Indeterminated to Indeterminate - (5357815)
v0.10.0
v0.2.0-alpha-50-g76ee05a: chore(cargo): fix ffi nesting
Former-commit-id: 9d1b5e1b9a0e71e0cd6635def2d815aef7636c9a