Skip to content

Conversation

@red-hat-konflux
Copy link

@red-hat-konflux red-hat-konflux bot commented Aug 3, 2025

This PR contains the following updates:

Package Change Age Confidence
filippo.io/age v1.0.0 -> v1.2.1 age confidence

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

FiloSottile/age (filippo.io/age)

v1.2.1: age v1.2.1: security fix

Compare Source

This release fixes a security vulnerability that could allow an attacker to execute an arbitrary binary under certain conditions.

See GHSA-32gq-x56h-299c.

Plugin names may now only contain alphanumeric characters or the four special characters +-._.

Thanks to ⬡-49016 for reporting this issue.

v1.2.0: age v1.2.0

Compare Source

A small release to build the release binaries with a more recent Go toolchain, and to fix a couple CLI edge cases (#​491, #​555).

The Go module now exposes a plugin package that provides an age plugin client. That is, Recipient and Identity implementations that invoke a plugin binary, allowing the use of age plugins in Go programs.

Finally, Recipients can now return a set of "labels" by implementing RecipientWithLabels. This allows replicating the special behavior of the scrypt Recipient in third-party Recipients, or applying policy useful for authenticated or post-quantum Recipients.

// RecipientWithLabels can be optionally implemented by a Recipient, in which
// case Encrypt will use WrapWithLabels instead of Wrap.
//
// Encrypt will succeed only if the labels returned by all the recipients
// (assuming the empty set for those that don't implement RecipientWithLabels)
// are the same.
//
// This can be used to ensure a recipient is only used with other recipients
// with equivalent properties (for example by setting a "postquantum" label) or
// to ensure a recipient is always used alone (by returning a random label, for
// example to preserve its authentication properties).
type RecipientWithLabels interface {
	WrapWithLabels(fileKey []byte) (s []*Stanza, labels []string, err error)
}

v1.1.1: age v1.1.1

Compare Source

age v1.1.1 is a patch release to fix go install filippo.io/age/...@​latest.

See the release notes for v1.1.0 for changes since v1.0.0.

v1.1.0: age v1.1.0: plugin and YubiKeys support

Compare Source

The age logo, a wireframe of St. Peters dome in Rome, with the text: age, file encryption

age is a simple, modern and secure file encryption tool, format, and Go library. It features small explicit keys, no config options, and UNIX-style composability. Learn more by reading the README, the age(1) man page, the Go API reference, the format specification, or the full release changelog. Watch the repository or follow @​filippo@abyssdomain.expert to be notified of new releases.

🛠️ FYI, age now has an extensive test suite which all age implementations are encouraged to adopt.

Plugin support

The age CLI now supports plugins, such as age-plugin-yubikey by @​str4d. To try it on macOS with Homebrew:

$ brew upgrade age
$ brew install age-plugin-yubikey
$ age-plugin-yubikey # interactive setup
$ age -r age1yubikey1qwt50d05nh5vutpdzmlg5wn80xq5negm4uj9ghv0snvdd3yysf5yw3rhl3t
$ age -d -i age-yubikey-identity-388178f3.txt

Plugins must be loaded explicitly by using their respective recipient or identity, and are not tied to a specific header stanza type. This means plugins can be used not only to support new recipient types such as PIV tokens (i.e. YubiKeys) or cloud KMS solutions, but also to produce passphrase-encrypted files that can be decrypted without plugins, to store age native private keys on secure elements, or even for agent functionality or to proxy decryption operations to remote machines.

Plugins operate over a simple textual stdin/stdout protocol (C2SP/C2SP#5). Developers are encouraged to reach out with plugin ideas and announcements. Read more in the relevant man page section.

Breaking changes

If -i is used, passphrase-encrypted files are now rejected. Previously, a passphrase-encrypted file was auto-detected and the identity file was ignored. This could lead to unexpected behavior, such as a script blocking for user interaction, based on potentially untrusted input files. Now, age -d must be invoked without -i arguments to decrypt passphrase-encrypted files. A helpful error is printed otherwise. This should not break any automated system as passphrase decryption was always interactive.

Empty final chunks are now rejected. If a payload was a multiple of 64KiB long, there were two valid encryptions for it: with a "full" last chunk encrypting 64KiB, or with an additional "empty" chunk encrypting 0 bytes. age, rage, and all other known implementations only ever produced the former. (Note that age will forever decrypt files it generated.) The latter is now rejected. The specification has been updated (C2SP/C2SP#13) and test cases are included in the test suite.

Minor changes

PKCS#8-encoded Ed25519 private keys (such as 1Password exports) are now supported as SSH identities.

If an armored file is pasted into the terminal, age will now attempt to wait until the end of the file before prompting for a password.

Some invalid files are now correctly rejected, in particular encrypted files with trailing data. (Yay for the test suite!)

If /dev/tty is present but can't be opened, age will now fallback to trying to treat stdin as a terminal as if /dev/tty wasn't present. (Thanks @​brandsimon!)

Input prompts now go to the terminal, even if standard error is redirected.

Values of the new armor.Error type are now returned wrapped in decryption errors when appropriate.

Windows binary releases are now signed. (Thanks @​technion!)

Documentation and error messages were improved.


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.


  • If you want to rebase/retry this PR, check this box

To execute skipped test pipelines write comment /ok-to-test.


Documentation

Find out how to configure dependency updates in MintMaker documentation or see all available configuration options in Renovate documentation.

Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
@red-hat-konflux
Copy link
Author

ℹ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 3 additional dependencies were updated

Details:

Package Change
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 -> v0.24.0
golang.org/x/net v0.0.0-20220805013720-a33c5aa5df48 -> v0.21.0
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10 -> v0.21.0

@red-hat-konflux red-hat-konflux bot changed the title Update module filippo.io/age to v1.2.1 Update module filippo.io/age to v1.2.1 - autoclosed Oct 10, 2025
@red-hat-konflux red-hat-konflux bot closed this Oct 10, 2025
@red-hat-konflux red-hat-konflux bot deleted the konflux/mintmaker/master/filippo.io-age-1.x branch October 10, 2025 09:07
@red-hat-konflux red-hat-konflux bot changed the title Update module filippo.io/age to v1.2.1 - autoclosed Update module filippo.io/age to v1.2.1 Oct 10, 2025
@red-hat-konflux red-hat-konflux bot reopened this Oct 10, 2025
@red-hat-konflux red-hat-konflux bot force-pushed the konflux/mintmaker/master/filippo.io-age-1.x branch from 24a60d4 to e590386 Compare October 10, 2025 13:03
@red-hat-konflux red-hat-konflux bot changed the title Update module filippo.io/age to v1.2.1 Update module filippo.io/age to v1.2.1 - autoclosed Nov 25, 2025
@red-hat-konflux red-hat-konflux bot closed this Nov 25, 2025
@red-hat-konflux red-hat-konflux bot changed the title Update module filippo.io/age to v1.2.1 - autoclosed Update module filippo.io/age to v1.2.1 Nov 25, 2025
@red-hat-konflux red-hat-konflux bot reopened this Nov 25, 2025
@red-hat-konflux red-hat-konflux bot force-pushed the konflux/mintmaker/master/filippo.io-age-1.x branch from fb15664 to e590386 Compare November 25, 2025 13:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant