Skip to content

Latest commit

 

History

History
681 lines (450 loc) · 45.7 KB

CHANGELOG.md

File metadata and controls

681 lines (450 loc) · 45.7 KB

Changelog

All notable changes to rpgp will be documented in this file.

0.12.0-alpha.2 - 2024-04-07

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

0.12.0-alpha.1 - 2024-03-17

⛰️ Features

  • Export a crate VERSION string - (1808c99)
  • Obfuscate symmetric key length with ecdh padding - (2fc374a)
  • Implement hash_alg() and public_params() for SecretKeyTrait - (bb7782d)
  • Implement support for ECDSA over NIST P-521 - (14d0f6a)
  • Eadd reader functions that autodetect armored vs. binary - (efd27c0)

🐛 Bug Fixes

  • (ecdsa) Never pad ecdsa secret MPIs - (87cb242)
  • (parser) There should be no edata except after ESKs - (cadccd5)
  • (test) Adjust to changed message decryption interface - (e57c49a)
  • Avoid stack overflow when verifying recursively compressed message - (bfa34bb)
  • Configure hash_alg based on signing key type - (6cda288)

🧪 Testing

  • Increase key_gen_ecdsa_p256 rounds - (f7fd18d)

⚙️ Miscellaneous Tasks

  • (pgp) Release 0.12.0-alpha.1 - (2d255ed)
  • Adjust to chrono deprecations - (d0bf0fd)

S2k

  • Restructure, implement argon2 - (6298c15)

0.11.0 - 2024-02-21

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

  • (pgp) Release 0.11.0 - (20335b3)
  • 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)

0.10.2 - 2023-07-24

⛰️ Features

🐛 Bug Fixes

  • Update to released rsa@0.9.0 - (9226269)

🚜 Refactor

  • (packet) Make members of OnePassSignature public - (6036902)
  • Fix warnings - (1e300ac)

📚 Documentation

  • (readme) Update a couple of minor points in README - (caf57aa)
  • Update changelog - (659989b)
  • Changelog for 0.10.2 - (8e762fa)

⚙️ Miscellaneous Tasks

0.10.1 - 2023-03-30

🐛 Bug Fixes

  • (ecdsa) Store original MPI to preserve padding - (848af8f)
  • (signature) Return error on KeyId missmatch - (02bef50)

📚 Documentation

  • (changelog) Prepare v0.10.1 - (fe3c69f)

🧪 Testing

  • Check critical bit encoding roundtrips - (cc78011)
  • Skip non validating keys again - (a0556f5)

⚙️ Miscellaneous Tasks

0.10.0 - 2023-03-27

⛰️ Features

  • (crypto) Add missing symmetric cipher support - (1648fbb)
  • (deps) Update base64 and derive_builder - (59dcda7)
  • Implement support for ECDSA keys - (65e2f86)
  • Update nom to v7 - (be4eaaa)
  • Update to latest dependencies (#218) - (013923b)
  • Move from String to BString - (b388e4e)

🐛 Bug Fixes

🚜 Refactor

  • Remove unused param from decrypt - (810379f)
  • Followup to #214 - (3730457)
  • Switch from buf_redux to buffer-redux - (8e42501)

📚 Documentation

⚙️ Miscellaneous Tasks

  • (crypto/sym) Drop unused block size arguments - (5beeb40)
  • (pgp) Release 0.10.0 - (69db862)
  • Happy clippy - (30d83a8)
  • Remove old release config - (a8ced15)

0.9.0 - 2022-11-07

⛰️ Features

  • Remove unused clear_on_drop dependency - (446c91b)
  • Allow subkeys to be created with the authentication flag enabled - (e37e921)
  • Update to RSA 0.7.0 interfaces - (c57232e)
  • Edition 2021 and update crypto deps - (a0a71cc)

🚜 Refactor

  • Replace find_map with a find - (721b287)
  • Remove unused circular dependency and also rewrite IV handling to not require lazy_static - (30aea2e)

📚 Documentation

  • (readme) Update msrv - (ac20fa0)
  • Add comma in README for clearer message (#185) - (28c80c8)

⚙️ Miscellaneous Tasks

  • (pgp) Release 0.9.0 - (e07f443)
  • Upgrade pretty_assertions to 1 - (0277001)

0.8.0 - 2022-07-01

⛰️ Features

  • Update deps & introduce MSRV - (5d86ab3)
  • Add a method to construct a PublicKey from parameters - (f0d3fa8)
  • Derive Clone on hasher types - (d878faa)
  • Apply clippy and update some deps - (66c4f76)

🐛 Bug Fixes

  • (deps) Fix zeroize version - (e8ca41c)
  • Disable oldtime feature of chrono - (9d24203)

⚙️ Miscellaneous Tasks

0.7.2 - 2021-08-27

🐛 Bug Fixes

  • Do not panic on IDEA cipher - (1b7e2d5)
  • Update & freeze deps to ensure build (#135) - (054e00b)

⚙️ Miscellaneous Tasks

0.7.1 - 2020-09-17

⛰️ Features

⚙️ Miscellaneous Tasks

0.7.0 - 2020-08-24

⛰️ Features

  • Make sign/verify utilize trait std::io::Read - (b77e20e)

⚙️ Miscellaneous Tasks

0.6.1 - 2020-07-20

⚙️ Miscellaneous Tasks

  • (pgp) Release 0.6.1 - (5c5b2d0)
  • Update some dependencies - (cbb8b14)

0.6.0 - 2020-06-11

⛰️ Features

  • Update to the latest rustrcrypto deps - (218ddbd)

🚜 Refactor

📚 Documentation

  • Add a few doctests to showcase API usage - (c7b7442)

⚙️ Miscellaneous Tasks

0.5.2 - 2020-04-02

🐛 Bug Fixes

  • Handle short x25519 keys properly - (c07ecab)

🧪 Testing

  • Introduce failing test for ecdh keygen - (b7d5ee4)

⚙️ Miscellaneous Tasks

0.5.1 - 2020-03-04

🐛 Bug Fixes

  • Undo regression in base64_decoder - (e23fa4e)

⚙️ Miscellaneous Tasks

0.5.0 - 2020-03-04

🐛 Bug Fixes

  • Remove usage of slice_dequeu - (d176e2e)

⚙️ Miscellaneous Tasks

0.4.1 - 2020-03-01

🐛 Bug Fixes

  • Encode leading zeros in ECDH session key - (c53ade9)
  • Correct typo in feature name for ringbuf - (52e2339)

🚜 Refactor

🧪 Testing

  • Encrypt 1000 times in test_x25519_encryption - (1cc0e22)

⚙️ Miscellaneous Tasks

0.4.0 - 2019-12-11

⛰️ Features

  • (key) Add Signed(Public|Secret)Key::expires_at() method - (8928a24)
  • Update dependencies - (bcbd6b6)
  • Update dependencies (#82) - (4d8af17)

🐛 Bug Fixes

  • Remove unused enum_primitive dependency - (4cc60a1)

⚙️ Miscellaneous Tasks

0.3.2 - 2019-11-20

⛰️ Features

  • (ci) Add cargo audit job - (aca6121)
  • Return the same error from decrypt_protected on invalid MDC - (83f7c03)
  • Add is_encryption_key for KeyTrait - (4a82994)
  • Turn info!() that are used for debugging/tracing into debug!() - (5da47f4)

🐛 Bug Fixes

  • (line-reader) Improve correctness of LineReader::seek - (2a8e22a)
  • Do not log sensitive information - (b47b07f)
  • Clarify error message for EdDSA encryption - (347c804)
  • Return true from is_signing_key for ECDSA keys - (6977b14)

🚜 Refactor

📚 Documentation

  • Improve documentation and comments - (610f23f)

⚙️ Miscellaneous Tasks

0.3.1 - 2019-10-22

🐛 Bug Fixes

  • Improve feature handling - (6008e8c)

📚 Documentation

  • (readme) Merge security review info into Status - (ae230ea)

⚙️ Miscellaneous Tasks

0.3.0 - 2019-10-19

⛰️ Features

  • Add nice api for standalone signatures - (bb18f39)

⚙️ Miscellaneous Tasks

0.2.5 - 2019-10-18

⛰️ Features

  • Expose api to parse signatures easily - (42ac01a)

⚙️ Miscellaneous Tasks

0.2.4 - 2019-10-13

⛰️ Features

  • Add experimental wasm support - (6e46489)
  • Zero out memory for secret key structures - (0837833)
  • Zero out memory for secret key structures (#57) - (1b8b3a8)

🐛 Bug Fixes

  • (crypto) Do not panic on inputs being too short - (5a01b79)
  • Typ in debug impl for public params - (86601ce)

🚜 Refactor

  • Improve some debug impls - (2bc8e43)

📚 Documentation

  • (readme) Updates to reflect current status better - (e633dda)
  • (readme) Improve layout a bit - (a073622)
  • (readme) Move wasm note - (5a73721)

⚙️ Miscellaneous Tasks

0.2.3 - 2019-10-09

🐛 Bug Fixes

  • (packet) Correct string creation for LiteralData::to_string - (dec514c)
  • (packet) Correct string creation for LiteralData::to_string (#52) - (4498a32)
  • Make armor parsing more resilient - (425e76e)

⚙️ Miscellaneous Tasks

0.2.2 - 2019-09-26

🐛 Bug Fixes

  • (ffi) Ensure dpeendency is found again - (15d274b)
  • Handle incomplete packets in a safer way - (f0a831a)

🚜 Refactor

  • Migrate to 2018 edition - (27c7d4f)

⚙️ Miscellaneous Tasks

  • (pgp) Release 0.2.2 - (b9b505e)
  • Update toolchain - (2f89841)
  • Update clippy rules and rust-toolchain - (b40641b)
  • Configure release - (840582b)

0.2.1 - 2019-05-28

🐛 Bug Fixes

  • (armor) Normalize line writing to ensure no empty new lines are written - (0c17c48)
  • (ffi) Compress messages by default - (83c1e10)
  • (packets) Handle incomplete packets properly - (b9ecee8)
  • (signature) Generate non nested one pass signature packets by default - (44d6a44)

0.2.0-alpha - 2019-03-26

⚙️ Miscellaneous Tasks

  • (cargo) Fix ffi nesting - (39cd03d)

0.2.0 - 2019-03-26

⛰️ Features

  • (build) Better feature selections - (20ad4b8)
  • (crypto) Bring back blowfish and twofish - (eb18f39)
  • (errors) Implement From for nom::Err - (b175ede)
  • (ffi) Add from_bytes and fingerprint methods - (a1fd36d)
  • (ffi) Implement skey_from_bytes - (460efdd)
  • (ffi) Add error handling and is_public, is_secret - (ea196bd)
  • (ffi) Implement decryption - (4a8d3a3)
  • (ffi) Add instructions to build for ios - (3632230)
  • (ffi) Enable some optimizations for building - (81ae4ec)
  • (ffi) Better flags setting - (370888f)
  • (hash) Add support for SHA3 - (1dfb7f7)
  • (key) Initial implementation of private key parsing - (856b29f)
  • (key) Setup infrastructure for decrypting private keys, decode rsa private keys - (de45a64)
  • (key) Handle expiration and creation time - (c314d09)
  • (key) Add fingerprint placeholder methods - (62b4aef)
  • (key) Import private rsa keys into openssl - (11ce8e4)
  • (message) Implement basic public key encryption - (a2f6aeb)
  • (message) Implement password based encryption and decryption - (a28167c)
  • (message) Implement signing - (8c4f8f3)
  • (messages) Handle more test cases - (e7bffdc)
  • (packet) Add nids to ecccurve - (23c89e3)
  • (pgp-ffi) Implement public key encryption & signing - (7f89d3a)
  • (pgp-ffi) Add hashing and password en/decryption - (6a667ed)
  • (sig) Serialize all subpackets - (85ec336)
  • (sym) Add support for blowfish - (2376d47)
  • (util) Add mpi_big - (4a0ac3b)
  • Upgrade deps - (a77d542)
  • Add cast5 support - (519974b)
  • Add zlib support - (4c4abb9)
  • Armor parsing is now fully streaming - (a258ab7)
  • Less panics, no more unwraps, better error handling - (f0bc505)
  • Packet parsing is now an iterator - (9335fbe)
  • Print warning when skipping packets - (c8d8680)
  • Run tests and cross compile for more envs - (ab9e87a)
  • Signature parsing for v3 sigs - (2c7795f)
  • Start setting up infra structure for signature validation - (2b03025)
  • Start implementation of packet serialization - (91ebdf2)
  • Validat subkey bindings - (91a4235)
  • Validate v2/v3 signatures - (c3b0978)
  • Signature verification - round 1 - (d335fd5)
  • Better serialization for signatures and key packets - (f53e068)
  • Handle partial body lengths packets - (605374f)
  • Basic ascii armor message serialization - (c2012b0)
  • Handle more serialization cases - (1fd92b0)
  • Much better key serialization - (574ae42)
  • More custom debug impls - (d8ed5a3)
  • Initial setup for key gen and signature generation - (7e1ab66)
  • Implement secret key encryption - (eedad02)
  • Public key export - (14b9615)
  • Basic C FFI - (9710f20)
  • Upgrade rand and use thread_rng by default - (833971f)
  • Improved decrypt and KeyId handling - (0f0046d)
  • Expose armor headers - (c3ee4b3)
  • Switch to upstream dependencies - (9b8ee1a)

🐛 Bug Fixes

  • (ci) Correct testing for pgp-ffi - (6674760)
  • (ffi) Improve Makefile voodoo - (280372e)
  • (ffi) Do not depend on generated files, clean the stamp file - (61c81c0)
  • (ffi) Msg_decrypt_no_pw: use fingerprints instead of ids - (8d712fb)
  • (ffi) Update crate name in the makefile - (3a5e12f)
  • (ffi) Typo in Makefile - (005cde0)
  • (sym) Disable broken blowfish - (b63fa44)
  • Partial boy reading with partial content - (1b5d770)
  • Proper random prefix in symmetric encryption - (eb1ea53)
  • Correct handling of indeterminated length packets - (86e8b77)
  • Update x25519 libs - (cdf7bc8)
  • Include secret subkeys when converting to a public key - (7508827)
  • Gperftools dep - (df364c8)
  • Split asm and nightly flags - (fa5932e)
  • Strip leading zeros when creating signatures - (60366fc)
  • Stray newline - (758327c)

🚜 Refactor

  • (composed) Remove code duplication in keyid and fingerprint generation - (ceaad5a)
  • (pgp-ffi) Split into multiple files - (de978e4)
  • Cleanup packet module - (01b0ac9)
  • Improve type structure for public/private keys - (127018b)
  • Use derive(FromPrimitive) - (d84faa7)
  • Message parser as an iterator - (2d9fe6f)
  • Key parser is now an iterator - (41d4c46)
  • Message decryption as iterator - (3b8abbd)
  • Split up composed key into multiple files - (b0f620d)
  • Move logic for secret params into its own place - (d81c13a)
  • More cleanup - (da49313)
  • Cleanup message code - (9dfb076)
  • Pull params into their own module - (5f69b2c)
  • Cleanup crypto code - (a75d381)
  • Extract proper type for mpis - (9378195)
  • Split sks-dump tests into their own git submodule - (1b69d70)

📚 Documentation

  • (cargo) Add some more metadata - (a7b27a8)
  • (readme) Update appveyor badge - (cdd824d)
  • (readme) Update for current ci status - (250bc57)
  • (status) Fix typo - (170a98c)
  • (status) Update - (7fba149)
  • (status) Update - (5dd57de)
  • (status) Update - (1834c95)
  • Fix typo - (c01ebb0)
  • Update references and clarify some things - (50ce46d)
  • Document current status - (c016c32)
  • Move platform suppport to its own document - (a5bbdb3)

⚡ Performance

  • Reduce allocations in key handling and armor writing - (1c10de5)
  • Use smallvec for signature subpackets - (61069c6)
  • Use more efficient ringbuffer when available - (ddbac31)

🧪 Testing

  • Import openpgp test suite - (20c1429)
  • Update key dump test numbers - (2bb794a)

⚙️ Miscellaneous Tasks

  • (cargo) Exclude submodule from publishing - (6d98faf)
  • (cargo) Fix keywords - (a37e24f)
  • (ci) Try and fix appveyor - (1370640)
  • (ci) Appveyor fixes - (69e2e48)
  • (ci) Stop installing openssl - (080f518)
  • (ci) Switch to circle ci - (dfbaab5)
  • Cleanup unused test files - (7f65c54)
  • Drop gitmodules - (694cfd7)
  • Include testcases manually - (0096947)
  • Remove test file - (1a6f9ad)
  • Remove profile files - (affd2e4)
  • Update dependencies - (0d76a71)
  • Move to org - (5426d46)
  • Update to latest nightly - (c09c47f)

Bench

  • (key) Add key gen benchmarks - (4f325cd)
  • (message) Fix compile errors - (86525a1)

Crypto

Key

  • Add revocation key option - (cd75dca)
  • Add issuer fingerprint subpacket - (944e6b6)

Travis

  • Build on osx and linux - (f8d235a)