chore(deps): update dependency age to v1.3.1 #22
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v1.2.1→v1.3.1Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
FiloSottile/age (AGE)
v1.3.1Compare Source
v1.3.1 is a minor release to restore version injection from downstream package build processes.
See the v1.3.0 release notes for an overview of recent additions.
v1.3.0: age v1.3.0: post-quantum (and more)!Compare Source
Exactly six years after the first age beta release, v1.3.0 brings post-quantum resistance to age, along with a couple long-requested features, built-in support for recipients compatible with hardware plugins, I/O API improvements, and many usability enhancements.
Post-quantum recipients
age now has native post-quantum recipients based on HPKE with a hybrid ML-KEM-768 KEM. The recipients start with
age1pq1..., and the identities start withAGE-SECRET-KEY-PQ-1....To generate a post-quantum keypair:
If you have your own age implementation, C2SP has the specification, and CCTV has test vectors for the new hybrid recipient types.
(If you are using an older age client, an optional plugin is available that provides out-of-the-box support for encryption to hybrid recipients. Hybrid identities can be converted to work with the plugin with
age-plugin-pq -identity.)New I/O APIs
The new DecryptReaderAt API implements seeking decryption, which can be used with zip.NewReader.
The new EncryptReader API implements pull-based encryption by wrapping an io.Reader, as opposed to wrapping an io.Writer like Encrypt.
age-inspect
The new age-inspect(1) tool presents the metadata of an age file without decrypting it.
Built-in recipients compatible with hardware plugins
age(1) now supports encrypting to
age1tag1...andage1tagpq1...recipients, which are compatible with hardware plugins. The latest or upcoming versions of age-plugin-yubikey, age-plugin-tpm, and age-plugin-se will support producing these recipients for existing and new keys, and decrypting files encrypted to them.The filippo.io/age/tag package provides an implementation, including a Recipient.Tag method useful to plugin implementations.
C2SP has the specification for these recipient types.
(For users that are using older age clients, there are compatiblity plugins that can be shipped along with the hardware plugins.)
Non-interactive passphrase input
We have long resisted implementing non-interactive CLI passphrase input, because most use cases are more securely and/or efficiently served by native keys or passphrase-encrypted identities. However, there are some residual use cases.
This is now available through the batchpass plugin, but we invite everyone to read the warning in the man page and help text.
Go framework for implementing plugins
The filippo.io/age/plugin package now provides a framework for exposing age.Recipient and age.Identity implementations as standalone CLI plugins.
For example, this is the entire age-plugin-tagpq compatibility implementation:
Moreover, the new plugin.NewTerminalUI function provides a ready-to-use terminal-based ClientUI implementation for the existing plugin client API.
Armor fixes
The CLI now allows some leading whitespace before the armor header, as the API always did. The API and CLI now reject empty lines in armored data, as required by the spec.
Detached headers
The new set of APIs ExtractHeader, DecryptHeader, and NewInjectedFileKeyIdentity allow working with detached age headers, where the file key is unwrapped separately from the actual file decryption. This can be useful for efficiency or to delegate unwrapping without exposing the file contents.
Usability improvements
The CLI will now refuse to output decrypted binary data to the terminal. (We did this before attending the gpg.fail talk!)
Native identities are now tried first when decrypting through both the CLI and the API, since they can't require interaction. Order is otherwise preserved.
NoIdentityMatchError now exposes the stanza types of the header, unwraps to the errors returned by the Identity.Unwrap method calls, and prints the underlying error if only one identity was provided.
Virtual terminal processing is now enabled on Windows terminals that don't enable it by default, so that ANSI escape sequences work as expected.
Many improved and more proactively helpful error messages.
The release artifacts now include a source tarball with vendored dependencies.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.