sop-java/CHANGELOG.md

187 lines
8.1 KiB
Markdown
Raw Normal View History

2022-01-15 14:45:13 +01:00
<!--
SPDX-FileCopyrightText: 2022 Paul Schaub <vanitasvitae@fsfe.org>
SPDX-License-Identifier: Apache-2.0
-->
2022-01-11 13:46:05 +01:00
# Changelog
2024-12-15 18:19:30 +01:00
## 10.1.0-SNAPSHOT
- `sop-java`:
- Remove `label()` option from `armor()` subcommand
- Move test-fixtures artifact built with the `testFixtures` plugin into
its own module `sop-java-testfixtures`, which can be consumed by maven builds.
- `sop-java-picocli`:
- Properly map `MissingParameterException` to `MissingArg` exit code
- `revokeKey` command: Allow mutliple
- As a workaround for native builds using graalvm:
- Do not re-set message bundles dynamically (fails in native builds)
- Prevent an unmatched argument error
- `change-key-password`: Properly pass key passwords as indirect parameters
2024-10-14 16:20:33 +02:00
## 10.0.2
2024-10-14 15:50:40 +02:00
- Downgrade `logback-core` to `1.2.13`
2024-10-14 14:41:34 +02:00
## 10.0.1
2024-09-19 20:16:11 +02:00
- Remove `label()` option from `Armor` operation
- Fix exit code for 'Missing required option/parameter' error
- Fix `revoke-key`: Allow for multiple invocations of `--with-key-password` option
2024-10-14 13:40:25 +02:00
- Fix `EncryptExternal` use of `--sign-with` parameter
- Fix `NullPointerException` in `DecryptExternal` when reading lines
- Fix `DecryptExternal` use of `verifications-out`
- Test suite: Ignore tests if `UnsupportedOption` is thrown
2024-10-14 13:44:17 +02:00
- Bump `logback-core` to `1.4.14`
2024-09-19 20:16:11 +02:00
## 10.0.0
- Update implementation to [SOP Specification revision 10](https://www.ietf.org/archive/id/draft-dkg-openpgp-stateless-cli-10.html).
- Throw `BadData` when passing KEYS where CERTS are expected
- Introduce `sopv` interface subset with revision `1.0`
- Add `sop version --sopv`
2023-11-22 18:19:13 +01:00
## 8.0.1
- `decrypt`: Do not throw `NoSignature` exception (exit code 3) if `--verify-with` is provided, but `VERIFICATIONS` is empty.
2023-11-15 18:59:50 +01:00
## 8.0.0
2023-11-15 18:58:14 +01:00
- Rewrote `sop-java` in Kotlin
- Rewrote `sop-java-picocli` in Kotlin
- Rewrote `external-sop` in Kotlin
2023-10-31 16:16:32 +01:00
- Update implementation to [SOP Specification revision 08](https://www.ietf.org/archive/id/draft-dkg-openpgp-stateless-cli-08.html).
- Add `--no-armor` option to `revoke-key` and `change-key-password` subcommands
2023-11-15 18:58:14 +01:00
- `armor`: Deprecate `--label` option in `sop-java` and remove in `sop-java-picocli`
2023-10-31 16:16:32 +01:00
- `encrypt`: Add `--session-key-out` option
- Slight API changes:
- `sop.encrypt().plaintext()` now returns a `ReadyWithResult<EncryptionResult>` instead of `Ready`.
- `EncryptionResult` is a new result type, that provides access to the session key of an encrypted message
- Change `ArmorLabel` values into lowercase
- Change `EncryptAs` values into lowercase
- Change `SignAs` values into lowercase
2023-07-12 15:41:47 +02:00
## 7.0.0
2023-07-12 01:10:47 +02:00
- Update implementation to [SOP Specification revision 07](https://www.ietf.org/archive/id/draft-dkg-openpgp-stateless-cli-07.html).
- Add support for new `revoke-key` subcommand
- Add support for new `change-key-password` subcommand
- Add support for new `--signing-only` option of `generate-key` subcommand
2023-07-11 21:27:51 +02:00
- Add `dearmor.data(String)` utility method
2023-07-12 15:41:47 +02:00
- Fix typos in, and improve i18n of CLI help pages
2023-07-11 21:27:51 +02:00
2023-04-27 14:46:52 +02:00
## 6.1.0
2023-04-26 16:12:32 +02:00
- `listProfiles()`: Add shortcut methods `generateKey()` and `encrypt()`
- Add DSL for testing `Verification` results
2023-04-27 14:28:07 +02:00
- `Verification`
- Return `Optional<SignatureMode>` for `getSignatureMode()`
- Return `Optional<String>` for `getDescription()`
- `Profile`
- Add support for profiles without description
- Return `Optional<String>` for `getDescription()`
- Add `parse(String)` method for parsing profile lines
2023-04-27 13:26:01 +02:00
- `sop-java`: Add dependency on `com.google.code.findbugs:jsr305` for `@Nullable`, `@Nonnull` annotations
- `UTCUtil`: `parseUTCDate()` is now `@Nonnull` and throws a `ParseException` for invalid inputs
- `UTF8Util`: `decodeUTF8()` now throws `CharacterCodingException` instead of `SOPGPException.PasswordNotHumanReadable`
- `external-sop`: Properly map error codes to new exception types (ported from `5.0.1`):
2023-04-26 16:12:32 +02:00
- `UNSUPPORTED_PROFILE`
- `INCOMPATIBLE_OPTIONS`
## 5.0.1
- `external-sop`: Properly map error codes to new exception types:
- `UNSUPPORTED_PROFILE`
- `INCOMPATIBLE_OPTIONS`
2023-04-17 15:43:01 +02:00
## 6.0.0
- Update implementation to [SOP Specification revision 06](https://www.ietf.org/archive/id/draft-dkg-openpgp-stateless-cli-06.html).
- Add option `--profile=XYZ` to `encrypt` subcommand
- Add option `--sop-spec` to `version` subcommand
- `Version`: Add different getters for specification-related values
2023-04-17 14:21:34 +02:00
## 5.0.0
- Update implementation to [SOP Specification revision 05](https://www.ietf.org/archive/id/draft-dkg-openpgp-stateless-cli-05.html).
- Add the concept of profiles
- Add `list-profiles` subcommand
- Add option `--profile=XYZ` to `generate-key` subcommand
- `Verification` objects can now optionally indicate the type of the signature (`mode:text` or `mode:binary`)
- `Verification` objects can now contain an optional description of the signature
- `inline-sign` now throws an error if incompatible options `--as=clearsigned` and `--no-armor` are used
2023-01-31 18:41:13 +01:00
## 4.1.1
2023-01-22 17:35:48 +01:00
- Restructure test suite to allow simultaneous testing of multiple backends
- Fix IOException in `sop sign` due to premature stream closing
2023-01-31 18:25:59 +01:00
- Allow for downstream implementations of `sop-java` to reuse the test suite
- Check out Javadoc of `sop-java/src/testFixtures/java/sop/testsuite/SOPInstanceFactory` for details
2023-01-22 17:35:48 +01:00
2023-01-13 19:06:19 +01:00
## 4.1.0
2023-01-13 19:03:33 +01:00
- Add module `external-sop`
- This module implements the `sop-java` interfaces and allows the use of an external SOP binary
2023-01-12 15:52:16 +01:00
- `decrypt`: Rename `--not-before`, `--not-after` to `--verify-not-before`, `--verify-not-after`
2023-01-13 17:45:15 +01:00
- `decrypt`: Throw `NoSignature` error if no verifiable signature found, but signature verification is requested using `--verify-with`.
2023-01-12 15:52:16 +01:00
- `inline-sign`: Fix parameter label of `--as=clearsigned`
2023-01-13 18:52:13 +01:00
- `ArmorLabel`, `EncryptAs`, `SignAs`: make `toString()` return lowercase
2023-01-12 15:52:16 +01:00
2022-11-23 20:18:29 +01:00
## 4.0.7
2022-11-23 20:10:47 +01:00
- Make i18n string for `--stacktrace` option translatable
- Make manpages generation reproducible
- `dearmor`: Transform `IOException` into `BadData`
2022-11-15 15:30:31 +01:00
## 4.0.6
- Add support for file descriptors on unix / linux systems
2022-11-11 15:59:41 +01:00
2022-11-11 13:22:13 +01:00
## 4.0.5
2022-11-11 12:47:28 +01:00
- `inline-sign`: Make possible values of `--as` option lowercase
- `inline-sign`: Rename value `cleartextsigned` of option `--as` to `clearsigned`
## 4.0.4
- Not found
2022-11-07 16:44:33 +01:00
## 4.0.3
2022-11-07 15:32:54 +01:00
- `decrypt`: Rename option `--verify-out` to `--verifications-out`, but keep `--verify-out` as 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
2022-11-06 14:56:36 +01:00
## 4.0.2
2022-11-05 18:11:02 +01:00
- Fix: `verify`: Do not include detached signature in list of certificates
- Fix: `inline-verify`: Also include the first argument in list of certificates
2022-11-06 14:43:22 +01:00
- Hide stacktraces by default and add `--stacktrace` option to print them
- Properly throw `CannotDecrypt` exception when message could not be decrypted
2022-11-05 18:11:02 +01:00
2022-08-04 13:56:16 +02:00
## 4.0.1
- Use shared resources for i18n
- Fix strings not being resolved properly when downstream renames `sop` command
2022-06-19 18:10:58 +02:00
## 4.0.0
- Switch to new versioning format to indicate implemented SOP version
- Implement SOP specification version 04
- Add `--with-key-password` to `sop generate-key`
- Add `--with-key-password` to `sop sign`
- Add `--with-key-password` to `sop encrypt`
- Add `--with-key-password` to `sop decrypt`
- Rename `sop detach-inband-signature-and-message` to `sop inline-detach`
- `sop inline-detach`: Add support for inline-signed messages
- Implement `sop inline-sign`
- Implement `sop inline-verify`
- Rename `Sign` to `DetachedSign`
- Rename `Verify` to `DetachedVerify`
- `SignAs`: Remove `Mime` option
- `sop-java-picocli`: Implement i18n and add German translation
2022-04-29 16:49:24 +02:00
## 1.2.3
2022-04-26 00:37:24 +02:00
- Bump Mockito version to `4.5.1`
2022-04-11 14:09:30 +02:00
## 1.2.2
- Add SOP parent command name and description
2022-04-11 12:38:17 +02:00
## 1.2.1
2022-02-21 15:22:58 +01:00
- Bump dependencies
- `com.ginsberg:junit5-system-exit` from `1.1.1` to `1.1.2`
- `org.mockito:mockito-core` from `4.2.0` to `4.3.1`
- `info.picocli:picocli` from `4.6.2` to `4.6.3`
2022-03-11 17:23:56 +01:00
- Add hidden `generate-completion` subcommand
2022-04-11 12:17:36 +02:00
- Document exit codes
2022-02-21 15:22:58 +01:00
## 1.2.0
- `encrypt`, `decrypt`: Interpret arguments of `--with-password` and `--with-session-key` as indirect data types (e.g. file references instead of strings)
2022-01-11 13:46:05 +01:00
## 1.1.0
- Initial release from new repository
2022-02-21 15:22:58 +01:00
- Implement SOP specification version 3