mirror of
https://github.com/pgpainless/pgpainless.git
synced 2024-11-16 01:12:05 +01:00
113 lines
5.5 KiB
Markdown
113 lines
5.5 KiB
Markdown
# PGPainless Changelog
|
|
|
|
## 0.2.15-SNAPSHOT
|
|
- Add `ConsumerOptions.setIgnoreMDCErrors()` which can be used to consume broken messages. Not recommended!
|
|
- Add `MessageInspector.isSignedOnly()` which can be used to identify messages created via `gpg --sign --armor`
|
|
- Workaround for BCs `PGPUtil.getDecoderStream` mistaking plaintext for base64 encoded data
|
|
|
|
## 0.2.14
|
|
- Export dependency on Bouncycastle's `bcprov-jdk15on`
|
|
- Rework Key Generation API
|
|
- Replace builder-chain structure with single `KeyRingBuilder` class
|
|
- Change return value of `CleartextSignatureProcessor.process()` to `DecryptionStream`
|
|
- Rename `CleartextSignatureProcessor.process()` to `CleartextSignatureProcessor.getVerificationStream()`
|
|
- Add support for creating cleartext signed messages by calling `ProducerOptions.setCleartextSigned()`
|
|
- Add examples for signing messages in the `examples` package.
|
|
|
|
## 0.2.13
|
|
- Add `MessageInspector` class to determine IDs of recipient keys.
|
|
- PGPainless now tries decryption using keys with available passphrases first and only then request key passphrases using callbacks.
|
|
|
|
## 0.2.12
|
|
- Fix: Add workaround for BC defaulting to S2K `USAGE_CHECKSUM` by changing S2K usage to `USAGE_SHA1`
|
|
- Repair keys with `USAGE_CHECKSUM` when changing passphrase
|
|
|
|
## 0.2.11
|
|
- Fix: When changing expiration date of keys, also consider generic and casual certifications
|
|
|
|
## 0.2.10
|
|
- Cleartext Signature Framework
|
|
- Reuse `ConsumerOptions` class for verification
|
|
- Return `OpenPgpMetadata` object as result of verification
|
|
- Change default compression algorithm from `UNCOMPRESSED` to `ZIP`
|
|
- Cleanup: Move Signature Verification code to dedicated internal stream
|
|
|
|
## 0.2.9
|
|
- Allow customization of ASCII armor comment and version headers
|
|
- Small bug fixes of SOP implementation
|
|
- Readability fixes
|
|
- Switch from JUL to [slf4j](http://www.slf4j.org/) for logging
|
|
- SOP: Native support for verify-not-before and verify-not-after
|
|
- SOP: Adopt changes for SOP spec version 2
|
|
- Add `detach-inband-signatures-and-message` subcommand
|
|
- Add support for environment variables
|
|
- Remove `-allow-nested`
|
|
- Cleartext Signature Framework: Fix handling of trailing newlines
|
|
|
|
## 0.2.8
|
|
- Encrypt to all capable subkeys by default
|
|
- Ignore missing CRC checksums in ASCII Armor
|
|
|
|
## 0.2.7
|
|
- Fix writing data to standard out in the `java-sop-picocli` module
|
|
- Improve handling of signatures with missing issuer-key-id packets
|
|
- Properly ignore marker packets
|
|
- Add issuer-fingerprint packets to message signatures by default
|
|
- Fix ordering (bracketing) and nested-ness of one-pass-signatures
|
|
- Fix interoperability issue with Thunderbird
|
|
- Some keys caused wrong partial-length encodings for integrity protected session packets
|
|
|
|
## 0.2.6
|
|
- Actually properly detect CRC checksum errors in ASCII armor
|
|
|
|
## 0.2.5
|
|
- Explicitly reject non-self-signatures when picking user-id self-signatures
|
|
- pgpainless-cli: Set executable name in help text
|
|
- Properly detect CRC checksum errors in ASCII armor
|
|
|
|
## 0.2.4
|
|
- Java based Stateless OpenPGP Protocol
|
|
- Introduce `sop-java` module
|
|
Contains Java interfaces modelling the Stateless OpenPGP Protocol
|
|
- Introduce `sop-java-picocli`
|
|
Command Line Interface frontend for `sop-java` based OpenPGP implementations
|
|
- `pgpainless-sop` now contains an implementation of `sop-java` using `pgpainless-core`
|
|
- `pgpainless-cli` now contains a ready to use OpenPGP command line application
|
|
It simply plugs `pgpainless-sop` into `sop-java-picocli`.
|
|
- Remove deprecated encryption API
|
|
- Remove deprecated decryption API
|
|
- Add `PGPainless.extractCertificate()` and `PGPainless.asciiArmor()` methods
|
|
- `OpenPgpMetadata`: `getDecryptionKey()` and `getVerifiedSignatures()` now return `SubkeyIdentifier` objects
|
|
- `KeyRingReader` now properly ignores marker packets
|
|
- Encryption: File-related metadata (e.g. file name) moved to `ProducerOptions`
|
|
- `pgpainless-cli/pgpainless-cli` executable script: Fix piping and parameter passing
|
|
- `sop-java-picocli`: Add `help` command
|
|
- When changing passphrases: Subkeys with `GNU_DUMMY_S2K` will now be ignored
|
|
|
|
## 0.2.3
|
|
- Introduce new simplified decryption API
|
|
The new API (`withOptions(ConsumerOptions)`) resembles the encryption API and is more friendly to dynamic
|
|
construction of decryption properties
|
|
The old API has been deprecated and will be removed in a future release
|
|
- Add `example` package in the JUnit tests
|
|
This package contains always-up-to-date usage examples for the PGPainless' API and various use cases
|
|
- Add `KeyRingInfo.getVersion`
|
|
- Add `CachingSecretKeyRingProtector.addPassphrase(OpenPgpV4Fingerprint, Passphrase)`
|
|
- Make builds of all jars reproducible
|
|
- Fix `NullPointerException` in `KeyRingInfo.getExpirationDateForUse()`
|
|
|
|
## 0.2.2
|
|
- Fix bug where adding a subkey would ignore the user-requested key flags
|
|
This would cause subkeys to erroneously carry the certify-others key flag
|
|
|
|
## 0.2.1
|
|
- Bump Bouncycastle dependency to `1.69`
|
|
This fixes a number of issues ([#70](https://github.com/pgpainless/pgpainless/issues/70),
|
|
[#72](https://github.com/pgpainless/pgpainless/issues/72), [#84](https://github.com/pgpainless/pgpainless/issues/84)).
|
|
As a result the test suite should now run more smoothly \o/
|
|
- Remove Android SDK build dependency
|
|
We can now build PGPainless without the need to have the Android SDK installed
|
|
- `SignatureUtils`: Add `getSignatureDigestPrefix()` method
|
|
- Add `KeyIdUtil` which allows converting 16 digit hex fingerprints to key-ids
|
|
- `SignatureSubpacketsUtil`: Add methods to get notations by name
|
|
- Add public key algorithm policy to reject signatures made by weak signing keys
|