Skip to content

Releases: rpgp/rpgp

v0.14.0 - Upgrading to RFC9580 aka V6

25 Sep 10:00
Compare
Choose a tag to compare

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_data more 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

🧪 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

17 Aug 10:44
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Revert to producing short padding for ecdh - (e60ecdf)
  • Revert to producing short padding for ecdh. (#385) - (c5df70c)

🧪 Testing

  • Roundtrip ecdh test against rPGP 0.10 - (d8b2058)

⚙️ Miscellaneous Tasks

  • Update msrv and branch conditoins - (1710ef3)

v0.13.1

17 Aug 10:43
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Remove stray eprintln - (683c529)

📚 Documentation

  • (readme) Fix the example - (cd7a253)
  • (readme) Some more example adjustments - (99daf15)

v0.13.0

17 Aug 10:43
Compare
Choose a tag to compare
chore: Release pgp version 0.13.0

v0.12.0-alpha.2

07 Apr 16:21
Compare
Choose a tag to compare
v0.12.0-alpha.2 Pre-release
Pre-release

⛰️ Features

🐛 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

21 Feb 15:54
Compare
Choose a tag to compare

⛰️ 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 concat in 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

27 Mar 09:31
Compare
Choose a tag to compare

Breaking

  • Update MSRV to 1.65

Added

  • ECDSA support for P256 and P384 #204 and #215.
  • Expand cipher support to include Camellia and Idea #198.
  • Improved support for unicode and UTF8 #221.

Removed

Changed

v0.2.0-alpha-50-g76ee05a: chore(cargo): fix ffi nesting

30 Mar 09:24
Compare
Choose a tag to compare
Former-commit-id: 9d1b5e1b9a0e71e0cd6635def2d815aef7636c9a