mirror of
https://codeberg.org/PGPainless/sop-java.git
synced 2025-12-05 04:41:09 +01:00
10 KiB
10 KiB
Changelog
14.0.2
sop: Prevent error message for unmatched--locale=argument- Bump gradlew to
8.8 - Fix manpage generation
14.0.1
- add
VerificationAssertmethods to testVerificationobjects sop: Add missingwithKeyPassword(CharArray)methods- Introduce optional
sop-java-json-gsonmodule external-sop: Depend onjunit-platform-suiteto avoid needing to inherit test suite classes
14.0.0
- Update implementation to SOP Specification revision 14,
including changes from revisions
11,12,13,14.- Implement newly introduced operations
update-key'fixes' everything wrong with a keymerge-certsmerges a certificate with other copiescertify-useridcreate signatures over user-ids on certificatesvalidate-useridvalidate signatures over user-ids
- Add new exceptions
UnspecificFailuremaps generic application errorsKeyCannotCertifysignals that a key cannot be used for third-party certificationsNoHardwareKeyFoundsignals that a key backed by a hardware device cannot be foundHardwareKeyFailuresignals a hardware device failurePrimaryKeyBadsignals an unusable or bad primary keyCertUserIdNoMatchsignals that a user-id cannot be found/validated on a certificate
Verification: Add support for JSON description extensions
- Implement newly introduced operations
- Remove
animalsnifferfrom build dependencies - Bump
logbackto1.5.13
10.1.1
- Prepare jar files for use in native images, e.g. using GraalVM by generating and including configuration files for reflection, resources and dynamic proxies.
- gradle: Make use of jvmToolchain functionality
- gradle: Improve reproducibility
- gradle: Bump animalsniffer to
2.0.0
10.1.0
sop-java:- Remove
label()option fromarmor()subcommand - Move test-fixtures artifact built with the
testFixturesplugin into its own modulesop-java-testfixtures, which can be consumed by maven builds.
- Remove
sop-java-picocli:- Properly map
MissingParameterExceptiontoMissingArgexit code - As a workaround for native builds using graalvm:
- Do not re-set message bundles dynamically (fails in native builds)
- Prevent an unmatched argument error
- Properly map
10.0.3
- CLI
change-key-password: Fix indirect parameter passing for new and old passwords (thanks to @dkg for the report) - Backport:
revoke-key: Allow for multiple password options
10.0.2
- Downgrade
logback-coreto1.2.13
10.0.1
- Remove
label()option fromArmoroperation - Fix exit code for 'Missing required option/parameter' error
- Fix
revoke-key: Allow for multiple invocations of--with-key-passwordoption - Fix
EncryptExternaluse of--sign-withparameter - Fix
NullPointerExceptioninDecryptExternalwhen reading lines - Fix
DecryptExternaluse ofverifications-out - Test suite: Ignore tests if
UnsupportedOptionis thrown - Bump
logback-coreto1.4.14
10.0.0
- Update implementation to SOP Specification revision 10.
- Throw
BadDatawhen passing KEYS where CERTS are expected - Introduce
sopvinterface subset with revision1.0 - Add
sop version --sopv
- Throw
8.0.2
- CLI
change-key-password: Fix indirect parameter passing for new and old passwords (thanks to @dkg for the report) - Backport:
revoke-key: Allow for multiple password options
8.0.1
decrypt: Do not throwNoSignatureexception (exit code 3) if--verify-withis provided, butVERIFICATIONSis empty.
8.0.0
- Rewrote
sop-javain Kotlin - Rewrote
sop-java-picocliin Kotlin - Rewrote
external-sopin Kotlin - Update implementation to SOP Specification revision 08.
- Add
--no-armoroption torevoke-keyandchange-key-passwordsubcommands armor: Deprecate--labeloption insop-javaand remove insop-java-picocliencrypt: Add--session-key-outoption
- Add
- Slight API changes:
sop.encrypt().plaintext()now returns aReadyWithResult<EncryptionResult>instead ofReady.EncryptionResultis a new result type, that provides access to the session key of an encrypted message- Change
ArmorLabelvalues into lowercase - Change
EncryptAsvalues into lowercase - Change
SignAsvalues into lowercase
7.0.2
- CLI
change-key-password: Fix indirect parameter passing for new and old passwords (thanks to @dkg for the report) - Backport: revoke-key command: Allow for multiple '--with-key-password' options
7.0.1
decrypt: Do not throwNoSignatureexception (exit code 3) if--verify-withis provided, butVERIFICATIONSis empty.
7.0.0
- Update implementation to SOP Specification revision 07.
- Add support for new
revoke-keysubcommand - Add support for new
change-key-passwordsubcommand - Add support for new
--signing-onlyoption ofgenerate-keysubcommand
- Add support for new
- Add
dearmor.data(String)utility method - Fix typos in, and improve i18n of CLI help pages
6.1.0
listProfiles(): Add shortcut methodsgenerateKey()andencrypt()- Add DSL for testing
Verificationresults Verification- Return
Optional<SignatureMode>forgetSignatureMode() - Return
Optional<String>forgetDescription()
- Return
Profile- Add support for profiles without description
- Return
Optional<String>forgetDescription() - Add
parse(String)method for parsing profile lines
sop-java: Add dependency oncom.google.code.findbugs:jsr305for@Nullable,@NonnullannotationsUTCUtil:parseUTCDate()is now@Nonnulland throws aParseExceptionfor invalid inputsUTF8Util:decodeUTF8()now throwsCharacterCodingExceptioninstead ofSOPGPException.PasswordNotHumanReadableexternal-sop: Properly map error codes to new exception types (ported from5.0.1):UNSUPPORTED_PROFILEINCOMPATIBLE_OPTIONS
5.0.1
external-sop: Properly map error codes to new exception types:UNSUPPORTED_PROFILEINCOMPATIBLE_OPTIONS
6.0.0
- Update implementation to SOP Specification revision 06.
- Add option
--profile=XYZtoencryptsubcommand - Add option
--sop-spectoversionsubcommand Version: Add different getters for specification-related values
- Add option
5.0.0
- Update implementation to SOP Specification revision 05.
- Add the concept of profiles
- Add
list-profilessubcommand - Add option
--profile=XYZtogenerate-keysubcommand Verificationobjects can now optionally indicate the type of the signature (mode:textormode:binary)Verificationobjects can now contain an optional description of the signatureinline-signnow throws an error if incompatible options--as=clearsignedand--no-armorare used
4.1.1
- Restructure test suite to allow simultaneous testing of multiple backends
- Fix IOException in
sop signdue to premature stream closing - Allow for downstream implementations of
sop-javato reuse the test suite- Check out Javadoc of
sop-java/src/testFixtures/java/sop/testsuite/SOPInstanceFactoryfor details
- Check out Javadoc of
4.1.0
- Add module
external-sop- This module implements the
sop-javainterfaces and allows the use of an external SOP binary
- This module implements the
decrypt: Rename--not-before,--not-afterto--verify-not-before,--verify-not-afterdecrypt: ThrowNoSignatureerror if no verifiable signature found, but signature verification is requested using--verify-with.inline-sign: Fix parameter label of--as=clearsignedArmorLabel,EncryptAs,SignAs: maketoString()return lowercase
4.0.7
- Make i18n string for
--stacktraceoption translatable - Make manpages generation reproducible
dearmor: TransformIOExceptionintoBadData
4.0.6
- Add support for file descriptors on unix / linux systems
4.0.5
inline-sign: Make possible values of--asoption lowercaseinline-sign: Rename valuecleartextsignedof option--astoclearsigned
4.0.4
- Not found
4.0.3
decrypt: Rename option--verify-outto--verifications-out, but keep--verify-outas alias- Fix:
decrypt: Flush output stream in order to prevent empty file as result of--session-key-out - Fix: Properly format session key for
--session-key-out - Be less finicky about input session key formats
- Allow upper- and lowercase hexadecimal keys
- Allow trailing whitespace
4.0.2
- Fix:
verify: Do not include detached signature in list of certificates - Fix:
inline-verify: Also include the first argument in list of certificates - Hide stacktraces by default and add
--stacktraceoption to print them - Properly throw
CannotDecryptexception when message could not be decrypted
4.0.1
- Use shared resources for i18n
- Fix strings not being resolved properly when downstream renames
sopcommand
- Fix strings not being resolved properly when downstream renames
4.0.0
- Switch to new versioning format to indicate implemented SOP version
- Implement SOP specification version 04
- Add
--with-key-passwordtosop generate-key - Add
--with-key-passwordtosop sign - Add
--with-key-passwordtosop encrypt - Add
--with-key-passwordtosop decrypt - Rename
sop detach-inband-signature-and-messagetosop inline-detach sop inline-detach: Add support for inline-signed messages- Implement
sop inline-sign - Implement
sop inline-verify
- Add
- Rename
SigntoDetachedSign - Rename
VerifytoDetachedVerify SignAs: RemoveMimeoptionsop-java-picocli: Implement i18n and add German translation
1.2.3
- Bump Mockito version to
4.5.1
1.2.2
- Add SOP parent command name and description
1.2.1
- Bump dependencies
com.ginsberg:junit5-system-exitfrom1.1.1to1.1.2org.mockito:mockito-corefrom4.2.0to4.3.1info.picocli:picoclifrom4.6.2to4.6.3
- Add hidden
generate-completionsubcommand - Document exit codes
1.2.0
encrypt,decrypt: Interpret arguments of--with-passwordand--with-session-keyas indirect data types (e.g. file references instead of strings)
1.1.0
- Initial release from new repository
- Implement SOP specification version 3