mirror of
https://github.com/pgpainless/pgpainless.git
synced 2025-12-07 12:51:07 +01:00
6.2 KiB
6.2 KiB
PGPainless Changelog
0.2.16
- Fix handling of subkey revocation signatures
- SOP: improve API use with byte arrays
- Fix
AssertionErrorwhen determining encryption subkeys from set containing unbound key - Add
ConsumerOptions.setMissingKeyPassphraseStrategy(strategy)to modify behavior when missing key passphrases are encountered during decryption
0.2.15
- Add
ConsumerOptions.setIgnoreMDCErrors()which can be used to consume broken messages. Not recommended! - Add
MessageInspector.isSignedOnly()which can be used to identify messages created viagpg --sign --armor - Workaround for BCs
PGPUtil.getDecoderStreammistaking plaintext for base64 encoded data - Cleanup of unused internal methods
- SOP: Fix
ArmorImplwriting data to provided output stream instead ofSystem.out - Fix hen and egg problem with streams in signature detaching implementation of SOP
- Make code REUSE compliant
0.2.14
- Export dependency on Bouncycastle's
bcprov-jdk15on - Rework Key Generation API
- Replace builder-chain structure with single
KeyRingBuilderclass
- Replace builder-chain structure with single
- Change return value of
CleartextSignatureProcessor.process()toDecryptionStream - Rename
CleartextSignatureProcessor.process()toCleartextSignatureProcessor.getVerificationStream() - Add support for creating cleartext signed messages by calling
ProducerOptions.setCleartextSigned() - Add examples for signing messages in the
examplespackage.
0.2.13
- Add
MessageInspectorclass 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_CHECKSUMby changing S2K usage toUSAGE_SHA1 - Repair keys with
USAGE_CHECKSUMwhen 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
ConsumerOptionsclass for verification - Return
OpenPgpMetadataobject as result of verification
- Reuse
- Change default compression algorithm from
UNCOMPRESSEDtoZIP - 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 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-messagesubcommand - Add support for environment variables
- Remove
-allow-nested
- Add
- 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-picoclimodule - 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-javamodule
Contains Java interfaces modelling the Stateless OpenPGP Protocol - Introduce
sop-java-picocli
Command Line Interface frontend forsop-javabased OpenPGP implementations pgpainless-sopnow contains an implementation ofsop-javausingpgpainless-corepgpainless-clinow contains a ready to use OpenPGP command line application
It simply plugspgpainless-sopintosop-java-picocli.
- Introduce
- Remove deprecated encryption API
- Remove deprecated decryption API
- Add
PGPainless.extractCertificate()andPGPainless.asciiArmor()methods OpenPgpMetadata:getDecryptionKey()andgetVerifiedSignatures()now returnSubkeyIdentifierobjectsKeyRingReadernow properly ignores marker packets- Encryption: File-related metadata (e.g. file name) moved to
ProducerOptions pgpainless-cli/pgpainless-cliexecutable script: Fix piping and parameter passingsop-java-picocli: Addhelpcommand- When changing passphrases: Subkeys with
GNU_DUMMY_S2Kwill 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
examplepackage 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
NullPointerExceptioninKeyRingInfo.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, #72, #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: AddgetSignatureDigestPrefix()method- Add
KeyIdUtilwhich 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