Version 1.0
- Add privacy manifest and signed framework binary
- Adds methods to PGPKey to add and remove UserIds

Version 0.99.4
- Signature verification properly handle compressed messages #224

Version 0.99.3
- Update build targets to match recent Xcode requirements.
- Stop providing armv7 binaries.
- Prevent crash when read armored message. #219
- `decrypt` return plaintext (eg. from signed data).

Version 0.99.2
- Fix ECDH secret subkey binding signature generation. #195

Version 0.99.1
- Fix ED25119 signature calculation. #192
- Generate ECC keys. #190
- Support compression in siguature packet. #191

Version 0.99.0
- Elliptic-Curves support (RFC6637 https://datatracker.ietf.org/doc/html/rfc6637). #141
    - Elliptic-curve Diffie–Hellman.
    - Elliptic Curve Digital Signature Algorithm.
- Enabling encrypt-only algorithms to encrypt. #187
- Other fixes and improvements.

Version 0.17.0
- macOS arm64 support
- update dependencies
- Swift Package Manager support
- Available as XCFramework

Version 0.16.0
- Fixes detection whether message can be encrypted with a key. #115 #158

Version 0.15.0
- Fixes key expiration dates (again).
- Detect and reject malformed packets.

Version 0.14.0
- Improve decryption memory usage.
- Fixes key expiration dates.

Version 0.13.0
- Fixes issue where expirationData value was missing for expired keys. Fixes #120.
- Improves logging setup by respecting PGP_LOG_LEVEL setting.
- Updates cryptography engine.

Version 0.12.3
- No more NSException is returned. Check for error or or return status instead.
- Use NS_NOESCAPE for Objective-C and Swift.

Version 0.12.2
- Fixes multiple users keys certificates support. Fixes #113

Version 0.12.1
- By convention, the subkeys provide encryption services if flags doesn't specify otherwise.

Version 0.12.0
- Adds Elgamal support.
- Improves reading armored messages.
- API: Exposes primaryUser for the key.

Version 0.11.0
- Fixes signature verification bypass (CM-02-003)
- Fixes dearmoring ignores unknown characters (CM-02-004)
- Fixes armored header-footer bug (CM-02-005)
- Fixes handling of unexpected packets (CM-02-007)
- Fixes crash in `-[PGPKeyring importKey:fromPath:]`

Version 0.10.0
- Adds Symmetrically Encrypted Data Packet support. Fixes #91
- Adds multikey signatures.
- Adds Symmetric-Key Encrypted Session Key Packets support.
- Adds TwoFish cipher support.
- Adds ability to determine keys that a message has been encrypted.
- Adds support for custom OpenPGP CFB mode used in Symmetrically Encrypted Data Packets. Fixes #99
- Improves decryption and signed messages validation.
- Improves "gnu-dummy" GPG extension support.
- Fixes partial length packets calculations.
- Fixes reading armored messages without checksum.
- Fixes password protected DSA keys support. #106
- API: Refactor and simplyfy public API of `ObjectivePGP` due to internal improvements.
- API: PGPPartialKeyPublic -> PGPKeyTypePublic
- API: PGPPartialKeySecret -> PGPKeyTypeSecret
- API: Introduces PGPKeyring.

Version 0.9.5
- Methods that get keys as parameter are now class methods, +[ObjectivePGP ...]
- Adds decrypt:usingKeys:....
- Adds Blowfish cipher support.
- Adds user image attribute support.
- Improves verify calls to accept armored data.

Version 0.9.4
- Fixes generation subkeys with passphrase.
- Improves memory usage when reading messages.

Version 0.9.3
- Fixes public key equality checks.
- Ignores invalid/broken signature subpackets.

Version 0.9.2
- Fixes nullability and undefined behaviours issues.
- Fixes issue where subkey should be used to sign for some keys.
- Fixes packets equality issues.
- Improves gnu-dummy support.
- Improves ZIP compression support.
- Sets default key size for key generator to 3072 bits.
- Improves error handling.

Version 0.9.1
- Fixes subkeys generation.
- Adds support for embedded signatures.
- PGPArmor return String now.

Version 0.9
- Fixes keys management (import/export issues).
- Fixes instances equality.
- Fixes partial packets with zero body length.
- Improves objects copying (NSCopying for packets).
- Reverts NSSet collections to NSArray.
- Updates public API (cleanups).
- Updates tests.
- Updates documentations.

Version 0.8
- Adds public and private keys generation feature with PGPKeyGenerator
- Adds methods to import and remove key instance
- Adds expirationDate property to a key instance
- Improves subkeys handling
- Exports keys data without reusing imported raw data.
- Fixes edge cases of decryption data with password encrypted key
- Fixes exporting private macros
- Fixes packets equality checks
- Fixes signature verifying flow, return on fail
- Fixes parsing corrupted input data.

Version 0.7
- Fixes TripleDSA decryption.
- Fixes MPI memleak.
- Fixes reading certificate sym. algs.
- Improves DSA keys support.
- Improves signature subpackets.
- Apply OpenPGP errata #2270.

Version 0.6.2
- Avoids assertion failing to decrypt packet when signing
- Supports "critical bit"

Version 0.6.1
- Adds PGPKey.keyID property
- Adds Swift Playground with a sample Swift code
- Builds dynamic frameworks for iOS and macOS
- Builds ObjC and Swift modules

Version 0.6
- Update public API
- Update documentation
- Use modern Objective-C
- Annotate nullability
- Improve PGPKey in the way that the single key consists of two partial keys. (#44)
- Improve support for private and public key in the single file (#44, #49)
- Calculate incremental S2K hash to reduce memory overhead (#49)
- Support for gnu-dummy S2K (#53)
- Fixes buffer overrun in RSA
- Build Static Frameworks for iOS and macOS
- Assume that by convention, the top-level key provides signature services
- Drop external openssl dependency.

Version 0.5
- Improve BZip2 compression
- Fix exporting keys
- Fix decryption for some RSA keys
- minor improvements and fixes
- Extend library with One-Pass encryption
- Removed newline transformation in PGPLiteralPacket
- Partial Packet Length Support
- ZIP compression support
- Signature Verification: find the correct key by the issuerKeyID
- Harden Signature verification
- Support integrity protected status

Version 0.4.2
- Fix length header for some double-octet length

Version 0.4.0
- ObjectivePGP goes Open Source

Version 0.3.2
- CHANGE error handling for sign/verify methods
- FIX disable check for signing key while it can be public to verify.

Version 0.3.1

- NEW multiple keys for single encryption
- NEW error codes PGPErrorPassphraseRequired, PGPErrorPassphraseInvalid
- CHANGE export armored data with \n instead \r\n
- FIX decrypt message using key encrypted with password
- FIX handling armored data regarding newline

Version 0.3

- NEW encrypt for multiple recipients at once
- NEW decrypt with multiple recipients
- NEW read key from file without importing to keyring
- NEW import keys with or without duplicates
- NEW Support for V3 of signature packets
- NEW armv7s binary added
- IMPROVED overall error handling
- IMPROVED preferred key algorithm chooser
- FIX handle DSA keys for encryption
- FIX self certificate validation check
- FIX export multiple keys to single file
- FIX reading user id packet
- FIX other minor fixes