rage v0.10.0
rage
Added
- Russian translation!
rage-keygen -y IDENTITY_FILEto convert identity files to recipients.- Elvish completions to the Debian package. These are not automatically discovered; Elvish users will need to manually import them.
- Localized manpages to the Debian package.
Changed
- MSRV is now 1.65.0.
- Migrated from
gumdroptoclapfor argument parsing. -R/--recipients-fileand-i/--identitynow support "read-once" files, like those used by process substitution (-i <(other_binary get-age-identity)) and named pipes.- The filename
-(hyphen) is now treated as an explicit request to read from standard input when used with-R/--recipients-fileor-i/--identity. It must only occur once across the-R/--recipients-fileand-i/--identityflags, and the input file. It cannot be used if the input file is omitted.
Fixed
- OpenSSH private keys passed to
-i/--identitythat contain invalid public keys are no longer ignored when encrypting, and instead cause an error. - Weak
ssh-rsapublic keys that are smaller than 2048 bits are now rejected. rage-keygenno longer overwrites existing key files with the-o/--outputflag. This was its behaviour prior to 0.6.0, but was unintentionally changed whenragewas modified to overwrite existing files. Key file overwriting can still be achieved by omitting-o/--outputand instead piping stdout to the file.rage-keygennow prints fatal errors directly instead of them being hidden behind theRUST_LOG=errorenvironment variable. It also now sets its return code appropriately instead of always returning 0.- The Debian package now uses the correct installation paths for fish and Zsh completions.
age
Added
- Russian translation!
age::cli_common:file_io:FileReaderimpl Debug for {LazyFile, OutputFormat, OutputWriter, StdoutWriter}
StdinGuardread_recipients
age::identity::IdentityFile::from_input_reader(behindcli-commonfeature flag).impl Eq for age::ssh::{ParseRecipientKeyError, UnsupportedKey}impl {Debug, PartialEq, Eq, Hash} for age::x25519::Recipient
Changed
- MSRV is now 1.65.0.
- Migrated to
base64 0.21,rsa 0.9. age::cli_common:file_io:InputReader::Fileenum variant now containsFileReaderinstead ofstd::fs::File.OutputWriter::newnow takes anallow_overwriteboolean argument. IfOutputWriterwill write to a file, this boolean enables the caller to control whether the file will be overwritten if it exists (instead of the implicit behaviour that was previously changed in 0.6.0).
read_identitiesnow takes an&mut StdinGuardargument, andfilenamesmay now contain at most one entry of"-", which will be interpreted as reading from standard input.ReadErrorhas new variants:EncryptedIdentitiesInvalidRecipientInvalidRecipientsFileMissingRecipientsFileMultipleStdinRsaModulusTooLargeRsaModulusTooSmall
age::ssh:ParseRecipientKeyErrorhas new variants:RsaModulusTooLargeRsaModulusTooSmall
- The following trait implementations now return
Err(ParseRecipientKeyError::RsaModulusTooLarge)instead ofErr(ParseRecipientKeyError::Unsupported(_))when encountering an RSA public key with a modulus larger than 4096 bits:impl FromStr for Recipientimpl TryFrom<Identity> for Recipient
Fixed
age::Encryptor::with_user_passphrasewill now re-measure thescryptwork factor until it is measurable, instead of setting the work factor to maximum.age::cli_common:UiCallbacks::confirmno longer requires erasing the confirmation message before it will accept a response.UiCallbacks::request_public_stringno longer prepends the description to the response string.
- Weak
ssh-rsapublic keys that are smaller than 2048 bits are now rejected from all string-parsing APIs. TheRecipient::SshRsaenum variant can still be manually constructed with such keys; this will be fixed in a future crate refactor.
age-plugin 0.5.0
Changed
- MSRV is now 1.65.0.
- Migrated to
age-core 0.10. age_plugin::run_state_machinenow takes optional arguments, to enable the creation of recipient-only or identity-only plugins.
age-core
Added
impl Eq for age_core::format::Stanza
Changed
- MSRV is now 1.65.0.
New Contributors
- @WesleyAC made their first contribution in #400
- @thibmeu made their first contribution in #406
- @gibbz00 made their first contribution in #420
- @ehaupt made their first contribution in #467
- @hexanova made their first contribution in #471
Full Changelog: v0.9.2...v0.10.0