pgp
OpenPGP implementation in Rust
0.20.0
5.7M downloads/mo
#4248 most downloaded on crates.io
rpgp/rpgp
What this package is like to depend on
Last release 2 months ago
23 Jun 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 35 of 37 stable releases
1 version withdrawn
withdrawn after publishing
9 years old
45 releases · first in 2017
4 releases in the last 12 months
see the full history below
Release timeline
45 releases · Sep 2017 to Jun 2026
2018
2019
2020
2021
2022
2023
2024
2025
2026
Releases
latest 45-
0.20.023 Jun 2026Release notes
Open source →⛰️ Features
- Derive Ord for Timestamp (#738) - (12e61b3)
- Implement more functionality from draft-wussler-openpgp-forwarding (#723) - (47a0ce2)
- [breaking] By default, MDC-check first when decrypting SEIPDv1; allow optional streaming (#662) - (8e0ef98)
- Handling of ECDSA/EdDSA secret key packets with unknown curve (#796) - (1e3a886)
🐛 Bug Fixes
- Abort on all-zero x25519 shared secret - (35e98dd)
- Don't panic in legacy_key_id() for v2/3 keys with very short RSA modulus (#760) - (970b18f)
- Improve draft-forwarding implementation - (e0910fe)
- Catch underflow in a controlled manner - (c33f55b)
- Subpacket length handling (#764) - (c9b0955)
- Timestamp::now() panics in WASM (#784) - (a4dafc8)
- Allow verifying signatures over empty payload - (010a2df)
🚜 Refactor
- Replace
regexwithmemchrfor newline normalization (#744) - (0800991) - Replace try_key! macro with plain functions - (a162c07)
📚 Documentation
- Add GpgFrontend to notable users and libraries (#769) - (2a943ae)
- Document what ADSK in key flags means - (2df698c)
🧪 Testing
- Don't run a test by default that requires "tests/tests" (#748) - (02d1536)
- Dearmorer gets confused (in debug builds) - (747dd37)
- Parse incomplete armored data (#765) - (5007673)
- Add unit test for #146 (#766) - (a8a0790)
⚙️ Miscellaneous Tasks
Api
- [breaking] Mark legacy ECC curves as such - (a888a7f)
Release notes
Open source →⛰️ Features
- Derive Ord for Timestamp (#738) - (12e61b3)
- Implement more functionality from draft-wussler-openpgp-forwarding (#723) - (47a0ce2)
- [breaking] By default, MDC-check first when decrypting SEIPDv1; allow optional streaming (#662) - (8e0ef98)
- Handling of ECDSA/EdDSA secret key packets with unknown curve (#796) - (1e3a886)
🐛 Bug Fixes
- Abort on all-zero x25519 shared secret - (35e98dd)
- Don't panic in legacy_key_id() for v2/3 keys with very short RSA modulus (#760) - (970b18f)
- Improve draft-forwarding implementation - (e0910fe)
- Catch underflow in a controlled manner - (c33f55b)
- Subpacket length handling (#764) - (c9b0955)
- Timestamp::now() panics in WASM (#784) - (a4dafc8)
- Allow verifying signatures over empty payload - (010a2df)
🚜 Refactor
- Replace
regexwithmemchrfor newline normalization (#744) - (0800991) - Replace try_key! macro with plain functions - (a162c07)
📚 Documentation
- Add GpgFrontend to notable users and libraries (#769) - (2a943ae)
- Document what ADSK in key flags means - (2df698c)
🧪 Testing
- Don't run a test by default that requires "tests/tests" (#748) - (02d1536)
- Dearmorer gets confused (in debug builds) - (747dd37)
- Parse incomplete armored data (#765) - (5007673)
- Add unit test for #146 (#766) - (a8a0790)
⚙️ Miscellaneous Tasks
Api
- [breaking] Mark legacy ECC curves as such - (a888a7f)
-
0.19.002 Feb 2026Release notes
Open source →⛰️ 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)
⚙️ Miscellaneous Tasks
Release notes
Open source →⛰️ 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)
⚙️ Miscellaneous Tasks
-
0.18.016 Nov 2025Release notes
Open source →⛰️ Features
- Add Signature::verify_key_third_party - (91f8a02)
- [breaking] Improve handling of large RSA keys - (466ec9d)
- [breaking] Decryption support for draft-wussler-openpgp-forwarding (#637) - (1e6ac17)
🐛 Bug Fixes
- Handle edge case in NormalizedReader LF mode - (caf31af)
🚜 Refactor
📚 Documentation
- Update status information in README (#645) - (f92caf5)
- Expand "users" section (#646) - (cfe71ab)
- Simplify README example code; minor tweaks (#647) - (035d2f6)
- Add example + references for encrypt_to_key on Builder - (dfe1f01)
⚙️ Miscellaneous Tasks
- Bump MSRV to 1.88 - (ad00ed9)
- Happier clippy - (a02cf93)
- [breaking] Drop unintended visibilities - (204c51f)
Cleanup
- [breaking] Drop some high-level semantics functions from the API - (0f58ea1)
Release notes
Open source →⛰️ Features
- Add Signature::verify_key_third_party - (91f8a02)
- [breaking] Improve handling of large RSA keys - (466ec9d)
- [breaking] Decryption support for draft-wussler-openpgp-forwarding (#637) - (1e6ac17)
🐛 Bug Fixes
- Handle edge case in NormalizedReader LF mode - (caf31af)
🚜 Refactor
📚 Documentation
- Update status information in README (#645) - (f92caf5)
- Expand "users" section (#646) - (cfe71ab)
- Simplify README example code; minor tweaks (#647) - (035d2f6)
- Add example + references for encrypt_to_key on Builder - (dfe1f01)
⚙️ Miscellaneous Tasks
- Bump MSRV to 1.88 - (ad00ed9)
- Happier clippy - (a02cf93)
- [breaking] Drop unintended visibilities - (204c51f)
Cleanup
- [breaking] Drop some high-level semantics functions from the API - (0f58ea1)
-
0.17.025 Sep 2025Release notes
Open source →⛰️ Features
- (deps) Update bitfields to 1.0 (#588) - (617f6e0)
- Helpers for improved string handling - (80977ca)
- Adds
signature::Signercompatibility wrappers - (854387a) - [breaking] Improve Signature api - (500c52e)
- Add EcdsaPublicParams::curve and is_supported (#586) - (7d20b3e)
- Improve and expand string APIs (#587) - (4687bcf)
- Decryption of v5 SKESK (GnuPG proprietary) - (a5a9f93)
- Decryption of packet type 20 AEAD format (GnuPG proprietary) - (ab0deb8)
- Implement several standard library extension traits for
Fingerprint(#600) - (e0357f2) - [breaking] Configurable signature type for user id/attribute third party certifications - (e9847b5)
- Allow custom signature subpacket configuration in message builder (#610) - (3542021)
- Allow user-provided session key in message builder (#611) - (f168ff3)
- Handle utf-8 literal data in message builder (#612) - (85439d2)
- Implement signing in DetachedSignature - (5298f1a)
- Support optional handling of some malformed artifacts (#636) - (e8798c1)
🐛 Bug Fixes
- Handle parsing of unknown PKESK packets (#568) - (09a6b1e)
- Handle PQC algorithms in PublicKeyTrait::is_*_key (#589) - (9a558f8)
- Make user id self certifications as CertPositive - (45a318a)
- Make user id self certifications as CertPositive - (9cec3bb)
- Always produce IssuerFingerprint subpacket for signatures (#609) - (d2275c1)
- Disable crc24 check while dearmoring, by default (#604) - (e7825d4)
- Message::Encrypted may contain zero ESKs (#615) - (f376798)
- Skip non-critical packets in message reader - (c60d2b6)
- If ops metadata doesn't match signature, don't validate (#616) - (a9038e3)
- Csf handling for mixed CR+LF and LF endings (#626) - (7c64f67)
- Limit length of DSA public parameters (#627) - (26734bb)
- Use correct key size when using s2k derive_key (#644) - (3bd7801)
🚜 Refactor
- Restructure Tag ranges to align with RFC 9580 - (b08c08a)
- Rename StandaloneSignature to DetachedSignature - (47d0581)
- Use bare signature packets in CleartextSignedMessage - (3f7b661)
- Minor code cleanup (#635) - (cb2c08a)
📚 Documentation
- Update FAQ entry about PQC (#566) - (aaea3c6)
- Fix top level example in README (#598) - (89ce8b7)
- Typo fix (#608) - (d945332)
- Add examples of key generation and encryption/decryption (#601) - (cccb248)
- Examples README (#631) - (850cf82)
- Notes on weak hash algorithms in SECURITY_STATUS.md - (c64708e)
- Some OpenPGP context, outline rPGP's scope - (90ea61d)
- Move information about features to README (#642) - (e38cafd)
⚡ Performance
- Avoid double buffering in aead decryptor (#576) - (c8e8035)
- [breaking] Improve encrypt and decrypt performance - (c359bea)
🧪 Testing
- (fuzz) Adjust to rPGP API (#621) - (cec6cc0)
- (fuzz) Some improvements to the fuzz tests (#633) - (2d571f8)
- Impl proptest for encrypted data packets (#606) - (5af9c10)
⚙️ Miscellaneous Tasks
- Run Windows tests with the specified target triple - (8dd4843)
- Happy clippy - (7bf62ef)
- Cleanup crate-type (#594) - (8250edb)
Adapter
Cleanup
Release notes
Open source →⛰️ Features
- (deps) Update bitfields to 1.0 (#588) - (617f6e0)
- Helpers for improved string handling - (80977ca)
- Adds
signature::Signercompatibility wrappers - (854387a) - [breaking] Improve Signature api - (500c52e)
- Add EcdsaPublicParams::curve and is_supported (#586) - (7d20b3e)
- Improve and expand string APIs (#587) - (4687bcf)
- Decryption of v5 SKESK (GnuPG proprietary) - (a5a9f93)
- Decryption of packet type 20 AEAD format (GnuPG proprietary) - (ab0deb8)
- Implement several standard library extension traits for
Fingerprint(#600) - (e0357f2) - [breaking] Configurable signature type for user id/attribute third party certifications - (e9847b5)
- Allow custom signature subpacket configuration in message builder (#610) - (3542021)
- Allow user-provided session key in message builder (#611) - (f168ff3)
- Handle utf-8 literal data in message builder (#612) - (85439d2)
- Implement signing in DetachedSignature - (5298f1a)
- Support optional handling of some malformed artifacts (#636) - (e8798c1)
🐛 Bug Fixes
- Handle parsing of unknown PKESK packets (#568) - (09a6b1e)
- Handle PQC algorithms in PublicKeyTrait::is_*_key (#589) - (9a558f8)
- Make user id self certifications as CertPositive - (45a318a)
- Make user id self certifications as CertPositive - (9cec3bb)
- Always produce IssuerFingerprint subpacket for signatures (#609) - (d2275c1)
- Disable crc24 check while dearmoring, by default (#604) - (e7825d4)
- Message::Encrypted may contain zero ESKs (#615) - (f376798)
- Skip non-critical packets in message reader - (c60d2b6)
- If ops metadata doesn't match signature, don't validate (#616) - (a9038e3)
- Csf handling for mixed CR+LF and LF endings (#626) - (7c64f67)
- Limit length of DSA public parameters (#627) - (26734bb)
- Use correct key size when using s2k derive_key (#644) - (3bd7801)
🚜 Refactor
- Restructure Tag ranges to align with RFC 9580 - (b08c08a)
- Rename StandaloneSignature to DetachedSignature - (47d0581)
- Use bare signature packets in CleartextSignedMessage - (3f7b661)
- Minor code cleanup (#635) - (cb2c08a)
📚 Documentation
- Update FAQ entry about PQC (#566) - (aaea3c6)
- Fix top level example in README (#598) - (89ce8b7)
- Typo fix (#608) - (d945332)
- Add examples of key generation and encryption/decryption (#601) - (cccb248)
- Examples README (#631) - (850cf82)
- Notes on weak hash algorithms in SECURITY_STATUS.md - (c64708e)
- Some OpenPGP context, outline rPGP's scope - (90ea61d)
- Move information about features to README (#642) - (e38cafd)
⚡ Performance
- Avoid double buffering in aead decryptor (#576) - (c8e8035)
- [breaking] Improve encrypt and decrypt performance - (c359bea)
🧪 Testing
- (fuzz) Adjust to rPGP API (#621) - (cec6cc0)
- (fuzz) Some improvements to the fuzz tests (#633) - (2d571f8)
- Impl proptest for encrypted data packets (#606) - (5af9c10)
⚙️ Miscellaneous Tasks
- Run Windows tests with the specified target triple - (8dd4843)
- Happy clippy - (7bf62ef)
- Cleanup crate-type (#594) - (8250edb)
Adapter
Cleanup
-
0.16.029 May 2025Release notes
Open source →Release notes
Open source → -
0.16.0-alpha.327 May 2025 pre-release -
0.16.0-alpha.226 May 2025 pre-releaseRelease notes
Open source →⛰️ Features
- Implement PQC draft 08 - (a843ebf)
- Add support for V6 keygen (#539) - (33097df)
- Implement PublicKeyAlgorithm::is_pqc (#552) - (6e6fa24)
- Imprint function - (c17d370)
- Implement primary key binding signing; cleanup fn names - (976a03c)
- Update pqc tests and links to draft-ietf-openpgp-pqc-09 - (7dfdf40)
🐛 Bug Fixes
- (message) Remove done state in sym_encrypted reader - (9c78e99)
- Make KeyDetails::new public again (#557) - (cff8ea2)
- Check primary key binding signature for signing capable subkeys - (cd4ca99)
- Produce and handle embedded primary key binding (backsig) - (af4fb28)
🚜 Refactor
- Move subkey binding creation to packet - (4834bde)
📚 Documentation
- Add a bit of text (#532) - (e83f4e9)
- Add doctest example for listing User IDs in a key (#553) - (21c735b)
🧪 Testing
- Generate key with signing capable subkey, check embedded signature - (e4cc899)
Cleanup
Release notes
Open source →⛰️ Features
- Implement PQC draft 08 - (a843ebf)
- Add support for V6 keygen (#539) - (33097df)
- Implement PublicKeyAlgorithm::is_pqc (#552) - (6e6fa24)
- Imprint function - (c17d370)
- Implement primary key binding signing; cleanup fn names - (976a03c)
- Update pqc tests and links to draft-ietf-openpgp-pqc-09 - (7dfdf40)
🐛 Bug Fixes
- (message) Remove done state in sym_encrypted reader - (9c78e99)
- Make KeyDetails::new public again (#557) - (cff8ea2)
- Check primary key binding signature for signing capable subkeys - (cd4ca99)
- Produce and handle embedded primary key binding (backsig) - (af4fb28)
🚜 Refactor
- Move subkey binding creation to packet - (4834bde)
📚 Documentation
- Add a bit of text (#532) - (e83f4e9)
- Add doctest example for listing User IDs in a key (#553) - (21c735b)
🧪 Testing
- Generate key with signing capable subkey, check embedded signature - (e4cc899)
Cleanup
-
0.16.0-alpha.110 Apr 2025 pre-releaseRelease notes
Open source →⛰️ Features
🐛 Bug Fixes
- Handle empty dash-escaped lines in CSF - (29ee830)
- Handle unknown key material - (ed5805b)
- Fmt - (d86fb72)
- Do not stringify errors wrapped in io::error - (f54c52b)
- Correctly handle more unknown data - (d226255)
- Typo - (e148e03)
- Undo not needed changes - (f5857da)
- Undo match statements - (a34bf93)
🚜 Refactor
- Extract aead error types - (94b5480)
- Extract aes_kw error - (68cbfbb)
- Extract checksum errors - (406b062)
- Handle unknown signature versions - (f06b6d6)
- Hash specfic error - (c3193f3)
- Explicit imports of macros - (1be4727)
- Allow better error handling on the MessageBuilder - (63d4fd4)
- Cleanup deps in Cargo.toml - (300ac60)
⚡ Performance
- Small refactors to optimize parsing - (c9f1fbb)
🧪 Testing
- Rename OpenPGP files from .gpg to .pgp - (ddbd52c)
- Update error counts - (e6e9b09)
- Single decompression of quine is ok - (58998d1)
- Avoid pulling in [email protected] - (d3058d0)
- Normalize line endings for windows - (49dd58d)
⚙️ Miscellaneous Tasks
- Fix typos - (7fcc23d)
- Remove empty file - (d2a92c4)
- Reorder - (4b7955b)
- Check curve on other OSes as well - (96afabc)
- Disable x448 on windows - (397d6e3)
Deps
- Stop using derive-more beta - (e333bdb)
Wip
- Unkown algorithme ops - (6a399b3)
-
0.16.0-alpha.002 Apr 2025 pre-releaseRelease notes
Open source →⛰️ Features
- (message builder) Allow password and public key encryption to be mixed - (01b5c3e)
- Introduce mmap based file parsing - (a893ee2)
- Start setting up a message builder - (98a9350)
- Avoid allocations in signature calculations - (f3303a1)
- Roundtrip elgamal secret keys properly - (28012d8)
- Implement new type
SubpacketLength- (3ffc914) - Introduce dyn compatible SigningKey trait - (8b2e1ce)
- Implement seipdv2 support for the message builder - (21f259c)
- Type safe chunk sizes for seipdv2 - (58d3534)
- Implement ascii armor writing - (003f1ee)
- Start work on streaming based message reader - (cc17c24)
- Handle invalid trailing data - (934920d)
- Allow for legacy decryption - (7f8bada)
- Add encrypt_to_key_anonymous functions - (0e3ff66)
🐛 Bug Fixes
- PublicKeyAlgorithm 16 is ElGamal encrypt only - (5538d80)
- Handle ElgamalEncrypt secret key material - (f4c1297)
- Handle invalid subpackets properly - (a32a6af)
- Remove plural - (164c970)
- Correctly handle multiple nested signed messages - (e9674ce)
- Implement full handling of known keyflags - (a988e23)
- Handle nested marker for OPS - (907c337)
- Handle empty CSF message body - (03439a0)
- Check that fixed part is as long as it claims to be (#497) - (86cc9fa)
- Handle trailing data in symencryptedprotected reader - (26e2521)
- Do not try to parse v5 signatures as v4 - (2154f0d)
- Do not attempt to allocate overy large buffers when parsing - (1370a3f)
- Enforce Send for Message - (b0f7b83)
- Do not loose signing information on the message builder - (4837145)
- Correctly propagate packetheader version - (cbb44a1)
🚜 Refactor
- Use bytes internally - (b0026ba)
- Pass bytes through - (dbc4cb2)
- Remove macro usage in sym crypto - (202c584)
- Avoid intermediary allocations in packet writing - (556a7c1)
- Store public keys better - (a00f3ad)
- Store dsa public params as key - (c25f0dd)
- Store ed25519 public params as keys - (61e4998)
- Store x25519 public params as key - (e164d94)
- Split up public params into mods - (cbef72b)
- Make signer trait more type safe - (5111dad)
- Merge secretkeyrepr and plainsecretparams - (2e802fe)
- Cleanup keyid - (dffc8f0)
- Remove unused PublicParams from Signer trait - (e97fd46)
- Normalize secret key generation - (ad5f029)
- Replace bstr with bytes - (03c405c)
- Start replacing nom with custom bytes parsing - (ab4f266)
- Switch to extension methods - (73fbd4a)
- Extract pkeskbytes - (6f0d2b0)
- Cleanup user attribute packet - (ac64021)
- Sym_key_encrypted_session_key - (ee869e3)
- One_pass_signature - (09ad24e)
- Update signature parsing - (5355d27)
- Packet header parsing - (9d3115c)
- Introduce packetbody - (8b0ec45)
- Fully extract packetheaders and their versions - (17c38b9)
- Convert public and secret key parsing - (99f9634)
- Back to a single mpi type - (c384f36)
- Remove dead code from utils - (25e9ee3)
- Remove bitfield dep - (97c5d35)
- Make passwords bytes based - (d61f733)
- Cleanup hash implementation - (e96fa25)
- Apply rust naming convention to hashalgorithm - (9dd2e74)
- Builder encryption is now based on type states - (a3c96e5)
- Move decrypt_session_key - (10182d0)
- Split readers into their own files - (85b14b9)
- Normalize mod.rs -> <name>.rs convention - (65f884c)
- Move base64 related code into its own module - (085c9ca)
- Cleanup imports using cargo-make - (fe8c5d0)
- Cleanup types module - (dc96aeb)
- MpiBytes -> Mpi - (6b75d02)
- Remove toplevel reexports - (15c4ab1)
- Deduplicate exports in composed - (af09ae4)
📚 Documentation
- Add note on compatibility reasons to use seipdv1 - (24cd29c)
- Include crate README in docs for automatic example validation (#468) - (8dd2efc)
⚡ Performance
🧪 Testing
- Update dump tests for dsa - (f2c9655)
- Load Carol test key from openpgp-samples - (ee0cb7a)
- Add failing test for subpacket key length - (2b08dce)
- Parse CSF messages with pgp::Any::from_armor - (31a384f)
- Drop leniency tests for now (#498) - (f4fea91)
- Packet excess consumption (#508) - (ffcb250)
- Port fuzz tests - (ce0e221)
⚙️ Miscellaneous Tasks
- Fixup versions - (dcf7ad2)
- Fixup - (20b38c2)
- Make
cargonot pull the tests submodule when referencing rpgp via git - (4f9ffd0) - Don't handle text-mode literals; but allow explictly setting signature type (#496) - (dda1ed4)
- Run doctests (#487) - (be19029)
- Run cross tests in release mode - (191c463)
- Bring back deny unsafe - (0322ad1)
- Ignore Cargo.lock for fuzz - (3cab978)
Builder
- Handle unencrypted - (2d3513b)
- Implement handling of different data modes - (5641fc6)
- Cleanup seipd configuration - (544cd96)
- Fix first partial chunk size being sized wrong - (89c0b40)
Errors
- Capture optional backtraces - (216200f)
Reader
- Support for partial packets - (c691625)
Wip
Release notes
Open source →v0.16.0-alpha.0 - Stream all the things Pre-release
Pre-release
Compare
Choose a tag to compare
-
0.15.029 Jan 2025Release notes
Open source →⛰️ Features
- Implement TryFrom for Signed{Public,Secret}Key - (f9e7694)
- [breaking] Implement feature gate for x448 - (e16fa47)
- Update deps - (8222112)
🐛 Bug Fixes
- Correctly deal with multi buffer reads in dearmoring - (7637f18)
🚜 Refactor
- Remove unused feature flags - (d800fb5)
📚 Documentation
🧪 Testing
- Add cargo fuzz testing harnesses - (de9dcf1)
- Move some slow tests to ignore, to speed up default tests - (7d16c1c)
- Split up key tests for better speed - (3bc007f)
- Split up tests more - (9abb7fa)
⚙️ Miscellaneous Tasks
Release notes
Open source →⛰️ Features
- Implement TryFrom<PublicOrSecret> for Signed{Public,Secret}Key - (f9e7694)
- [breaking] Implement feature gate for x448 - (e16fa47)
- Update deps - (8222112)
🐛 Bug Fixes
- Correctly deal with multi buffer reads in dearmoring - (7637f18)
🚜 Refactor
- Remove unused feature flags - (d800fb5)
📚 Documentation
🧪 Testing
- Add cargo fuzz testing harnesses - (de9dcf1)
- Move some slow tests to ignore, to speed up default tests - (7d16c1c)
- Split up key tests for better speed - (3bc007f)
- Split up tests more - (9abb7fa)
⚙️ Miscellaneous Tasks
-
0.14.205 Dec 2024Release notes
Open source →🐛 Bug Fixes
- Fix CVE-2024-53857 "Potential Resource Exhaustion when handling Untrusted Messages"
📚 Documentation
- Update changelog - (d9aef6a)
-
0.14.105 Dec 2024Release notes
Open source →⛰️ Features
🐛 Bug Fixes
- Fix CVE-2024-53856: "Panics on Malformed Untrusted Input"
- Make strip_leading_zeros_vec() work correctly - (57e11c5)
- Csf normalization for signing - (8439a6d)
- Extend is_signing_key() and is_encryption_key() for RFC 9580 algorithms (#434) - (a1d9d5c)
- Enable the zeroize feature for argon2 and sha1-checked (#440) - (0c45660)
🚜 Refactor
- Optimize
Displayimplementation forBlockType- (00b5027) - Merge write_packet_len into write_packet_length - (33dcc83)
🧪 Testing
⚙️ Miscellaneous Tasks
-
0.14.025 Sep 2024Release notes
Open source →⛰️ 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)
-
0.13.217 Aug 2024Nothing published for this version
-
0.13.130 Jun 2024Release notes
Open source →🐛 Bug Fixes
- Remove stray eprintln - (683c529)
📚 Documentation
⚙️ Miscellaneous Tasks
- (pgp) Release 0.13.1 - (36023a4)
-
0.13.017 Jun 2024Release notes
Open source →📚 Documentation
- Provide more FAQ items and improve comparisons - (374026f)
⚙️ Miscellaneous Tasks
- (pgp) Release 0.13.0 - (66fbbb3)
-
0.12.0-alpha.331 May 2024 pre-releaseRelease notes
Open source →⛰️ Features
- (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)
🚜 Refactor
- Improve & simplify packet parsing logic - (3b71f41)
📚 Documentation
- (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)
🧪 Testing
⚙️ Miscellaneous Tasks
-
0.12.0-alpha.207 Apr 2024 pre-releaseRelease notes
Open source →⛰️ 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
- (pgp) Release 0.12.0-alpha.2 - (817bf65)
- Fix feature = "cargo-clippy" deprecation - (a75db54)
- Set debug in Cargo.toml to the normalized value - (29adca7)
Bench
-
0.12.0-alpha.117 Mar 2024 pre-releaseRelease notes
Open source →⛰️ 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
S2k
- Restructure, implement argon2 - (6298c15)
-
0.11.021 Feb 2024Release notes
Open source →⛰️ 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<SignedSecretKey> for SignedPublicKey and From<SignedSecretSubKey> 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
- (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.224 Jul 2023Release notes
Open source →⛰️ Features
- Implement
LowerHexandUpperHexforKeyId(#244) - (9bb9d97) - Update dalek crypto deps (#247) - (93866d2)
🐛 Bug Fixes
- Update to released [email protected] - (9226269)
🚜 Refactor
📚 Documentation
- (readme) Update a couple of minor points in README - (caf57aa)
- Update changelog - (659989b)
- Changelog for 0.10.2 - (8e762fa)
⚙️ Miscellaneous Tasks
- Implement
-
0.10.130 Mar 2023Release notes
Open source →🐛 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
⚙️ Miscellaneous Tasks
- (pgp) Release 0.10.1 - (951b8f9)
-
0.10.027 Mar 2023 withdrawnRelease notes
Open source →⛰️ 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
- Update to new chrono apis - (8651965)
- Resolve merge issue - (ed98330)
- Edcsa support - (a463cca)
- Fixup doc comments - (f55c7a5)
- Nightly warnings - (0917b01)
🚜 Refactor
- Remove unused param from
decrypt- (810379f) - Followup to #214 - (3730457)
- Switch from buf_redux to buffer-redux - (8e42501)
📚 Documentation
⚙️ Miscellaneous Tasks
-
0.9.007 Nov 2022Release notes
Open source →⛰️ 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
⚙️ Miscellaneous Tasks
-
0.8.001 Jul 2022Release notes
Open source →⛰️ 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
⚙️ Miscellaneous Tasks
-
0.7.227 Aug 2021 -
0.7.117 Sep 2020Release notes
Open source → -
0.7.024 Aug 2020Release notes
Open source → -
0.6.120 Jul 2020Release notes
Open source → -
0.6.011 Jun 2020 -
0.5.202 Apr 2020Release notes
Open source →🐛 Bug Fixes
- Handle short x25519 keys properly - (c07ecab)
🧪 Testing
- Introduce failing test for ecdh keygen - (b7d5ee4)
⚙️ Miscellaneous Tasks
- (pgp) Release 0.5.2 - (ff0b43c)
-
0.5.104 Mar 2020Release notes
Open source →🐛 Bug Fixes
- Undo regression in base64_decoder - (e23fa4e)
⚙️ Miscellaneous Tasks
- (pgp) Release 0.5.1 - (921a370)
-
0.5.004 Mar 2020Release notes
Open source →🐛 Bug Fixes
- Remove usage of slice_dequeu - (d176e2e)
⚙️ Miscellaneous Tasks
- (pgp) Release 0.5.0 - (ef4a1ca)
-
0.4.101 Mar 2020Release notes
Open source →🐛 Bug Fixes
- Encode leading zeros in ECDH session key - (c53ade9)
- Correct typo in feature name for ringbuf - (52e2339)
🚜 Refactor
- Happy clippy - (9ac9213)
🧪 Testing
- Encrypt 1000 times in test_x25519_encryption - (1cc0e22)
⚙️ Miscellaneous Tasks
-
0.4.011 Dec 2019 -
0.3.220 Nov 2019Release notes
Open source →⛰️ 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
- Remove email module - (3dd50a7)
📚 Documentation
- Improve documentation and comments - (610f23f)
⚙️ Miscellaneous Tasks
- (pgp) Release 0.3.2 - (33ff206)
-
0.3.122 Oct 2019Release notes
Open source →🐛 Bug Fixes
- Improve feature handling - (6008e8c)
📚 Documentation
- (readme) Merge security review info into Status - (ae230ea)
⚙️ Miscellaneous Tasks
- (pgp) Release 0.3.1 - (4b04dd0)
-
0.3.019 Oct 2019Release notes
Open source →⛰️ Features
- Add nice api for standalone signatures - (bb18f39)
⚙️ Miscellaneous Tasks
- (pgp) Release 0.3.0 - (fe1702f)
-
0.2.518 Oct 2019Release notes
Open source →⛰️ Features
- Expose api to parse signatures easily - (42ac01a)
⚙️ Miscellaneous Tasks
- (pgp) Release 0.2.5 - (5bb4952)
-
0.2.413 Oct 2019Release notes
Open source →⛰️ 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
- (pgp) Release 0.2.4 - (eec5aed)
-
0.2.309 Oct 2019 -
0.2.226 Sep 2019Release notes
Open source →🐛 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
-
0.2.128 May 2019 -
0.2.026 Mar 2019Release notes
Open source →⛰️ 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
⚙️ 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
Crypto
- Impl aes - (bfdef22)
Key
Travis
- Build on osx and linux - (f8d235a)
-
0.1.016 Sep 2017Nothing published for this version