All notable changes to rpgp will be documented in this file.
0.13.1 - 2024-06-30
- Remove stray eprintln - (683c529)
0.13.0 - 2024-06-17
- Provide more FAQ items and improve comparisons - (374026f)
- (pgp) Release 0.13.0 - (66fbbb3)
0.12.0-alpha.3 - 2024-05-31
- (ecdh) [breaking] Implement support for nist p curves - (1b6d5dd)
- Update deps - (f0477f4)
- Enable SEIPDv2 decryption via the public API (#345) - (deb8a92)
- Add APIs to create and verify third-party certifications (#349) - (ab39417)
- Use sha1_checked for Sha1 hashing, except MDC - (7c5e6ae)
- Improve & simplify packet parsing logic - (3b71f41)
- (readme) Fixup copyright - (9773052)
- Nist p521 support for ECDH was merged in #304 (#335) - (8e67756)
- Fix typo "secret" -> "public" - (f68aa3d)
- Update and expand status and readme - (9b27d81)
- Small refinements/typo-fixes (#342) - (34d1c79)
- Add link to interop test suite - (cc46fa5)
- (echd) [breaking] Prepare for handling more curves - (35343e0)
- (pgp) Release 0.12.0-alpha.3 - (82d49b3)
- Remove unused ios-simulator code (#339) - (8bec797)
- Add codespell CI job; apply fixes (#341) - (a6b6ad7)
- Remove asm feature from windows - (56505aa)
- Pacify codespell - (06e840c)
0.12.0-alpha.2 - 2024-04-07
- Basic support for AEAD (#316) - (93ca7d8)
- Avoid Seek - (fa82b12)
- Cleartext framework support - (66b005c)
- (packet-parser) Increase buffer size for unknown size - (1013c13)
- Improve internal crypto abstractions to allow for more flexibility - (a3dd485)
- Break out ecdh unwrap - (bde459c)
- Move benches to criterion and expand benchmarks - (8e87774)
- Approximate decryption and signing operations with an OpenPGP card - (42cfa11)
- (pgp) Release 0.12.0-alpha.2 - (817bf65)
- Fix feature = "cargo-clippy" deprecation - (a75db54)
- Set debug in Cargo.toml to the normalized value - (29adca7)
0.12.0-alpha.1 - 2024-03-17
- 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)
- (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)
- Increase key_gen_ecdsa_p256 rounds - (f7fd18d)
- Restructure, implement argon2 - (6298c15)
0.11.0 - 2024-02-21
- 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)
- (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)
- Switch from num_derive to num_enum - (8014e49)
- (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)
- Avoid
concat
in sha1 checksum impl - (f56529f)
- 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)
- (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)
- Rename Indeterminated to Indeterminate - (5357815)
0.10.2 - 2023-07-24
- Implement
LowerHex
andUpperHex
forKeyId
(#244) - (9bb9d97) - Update dalek crypto deps (#247) - (93866d2)
- Update to released [email protected] - (9226269)
- (readme) Update a couple of minor points in README - (caf57aa)
- Update changelog - (659989b)
- Changelog for 0.10.2 - (8e762fa)
0.10.1 - 2023-03-30
- (ecdsa) Store original MPI to preserve padding - (848af8f)
- (signature) Return error on KeyId missmatch - (02bef50)
- (changelog) Prepare v0.10.1 - (fe3c69f)
- (pgp) Release 0.10.1 - (951b8f9)
0.10.0 - 2023-03-27
- (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)
- Update to new chrono apis - (8651965)
- Resolve merge issue - (ed98330)
- Edcsa support - (a463cca)
- Fixup doc comments - (f55c7a5)
- Nightly warnings - (0917b01)
- Remove unused param from
decrypt
- (810379f) - Followup to #214 - (3730457)
- Switch from buf_redux to buffer-redux - (8e42501)
- (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
- 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)
- Replace find_map with a find - (721b287)
- Remove unused circular dependency and also rewrite IV handling to not require lazy_static - (30aea2e)
0.8.0 - 2022-07-01
- 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)
- (pgp) Release 0.8.0 - (b3671d5)
- Switch to github actions - (202e7c1)
- Update release.toml - (fd6e45d)
0.7.2 - 2021-08-27
0.7.1 - 2020-09-17
- Update crypto deps - (cacb24d)
- (pgp) Release 0.7.1 - (eb4c151)
0.7.0 - 2020-08-24
- Make sign/verify utilize trait std::io::Read - (b77e20e)
0.6.1 - 2020-07-20
0.6.0 - 2020-06-11
- Update to the latest rustrcrypto deps - (218ddbd)
- Happy clippy - (709132b)
- Add a few doctests to showcase API usage - (c7b7442)
0.5.2 - 2020-04-02
- Handle short x25519 keys properly - (c07ecab)
- Introduce failing test for ecdh keygen - (b7d5ee4)
- (pgp) Release 0.5.2 - (ff0b43c)
0.5.1 - 2020-03-04
- Undo regression in base64_decoder - (e23fa4e)
- (pgp) Release 0.5.1 - (921a370)
0.5.0 - 2020-03-04
- Remove usage of slice_dequeu - (d176e2e)
- (pgp) Release 0.5.0 - (ef4a1ca)
0.4.1 - 2020-03-01
- Encode leading zeros in ECDH session key - (c53ade9)
- Correct typo in feature name for ringbuf - (52e2339)
- Happy clippy - (9ac9213)
- Encrypt 1000 times in test_x25519_encryption - (1cc0e22)
0.4.0 - 2019-12-11
- (key) Add Signed(Public|Secret)Key::expires_at() method - (8928a24)
- Update dependencies - (bcbd6b6)
- Update dependencies (#82) - (4d8af17)
- Remove unused enum_primitive dependency - (4cc60a1)
- (pgp) Release 0.4.0 - (a6cba1d)
0.3.2 - 2019-11-20
- (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)
- (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)
- Remove email module - (3dd50a7)
- Improve documentation and comments - (610f23f)
- (pgp) Release 0.3.2 - (33ff206)
0.3.1 - 2019-10-22
- Improve feature handling - (6008e8c)
- (readme) Merge security review info into Status - (ae230ea)
- (pgp) Release 0.3.1 - (4b04dd0)
0.3.0 - 2019-10-19
- Add nice api for standalone signatures - (bb18f39)
- (pgp) Release 0.3.0 - (fe1702f)
0.2.5 - 2019-10-18
- Expose api to parse signatures easily - (42ac01a)
- (pgp) Release 0.2.5 - (5bb4952)
0.2.4 - 2019-10-13
- Add experimental wasm support - (6e46489)
- Zero out memory for secret key structures - (0837833)
- Zero out memory for secret key structures (#57) - (1b8b3a8)
- (crypto) Do not panic on inputs being too short - (5a01b79)
- Typ in debug impl for public params - (86601ce)
- Improve some debug impls - (2bc8e43)
- (readme) Updates to reflect current status better - (e633dda)
- (readme) Improve layout a bit - (a073622)
- (readme) Move wasm note - (5a73721)
- (pgp) Release 0.2.4 - (eec5aed)
0.2.3 - 2019-10-09
- (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)
- (pgp) Release 0.2.3 - (004255c)
0.2.2 - 2019-09-26
- (ffi) Ensure dpeendency is found again - (15d274b)
- Handle incomplete packets in a safer way - (f0a831a)
- Migrate to 2018 edition - (27c7d4f)
- (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
- (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
- (cargo) Fix ffi nesting - (39cd03d)
0.2.0 - 2019-03-26
- (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)
- (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)
- (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)
- (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)
- Reduce allocations in key handling and armor writing - (1c10de5)
- Use smallvec for signature subpackets - (61069c6)
- Use more efficient ringbuffer when available - (ddbac31)
- (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)
- Impl aes - (bfdef22)
- Build on osx and linux - (f8d235a)