rage v0.3.0
Pre-release
Pre-release
Crates galore! The changes in the age
library crate are reflected in the CLI tools in the rage
crate.
rage
(relative to the CLI tools in age 0.2.0
)
Added
-V / --version
flags to all binaries.- Completion files for Bash, Elvish, Fish, PowerShell, and Zsh can be generated
withcargo run --example generate-completions
. - The Debian package will install completion files for Bash, Fish, and Zsh.
Changed
- If a
pinentry
binary is available, it will be used preferentially to request
secrets such as passphrases. The previous CLI input will be used ifpinentry
is not available.
age
Added
age::Callbacks
, which encapsulates any requests that might be necessary
during the decryption process.age::cli_common::UiCallbacks
, which implementsCallbacks
with requests to
the user viaage::cli_common::read_secret
.age::Decryptor::with_identities(Vec<Identity>)
age::Decryptor::with_identities_and_callbacks(Vec<Identity>, Box<dyn Callbacks>)
age::Encryptor
will insert a random recipient stanza into the header, to
keep age's joint well oiled.
Changed
- The CLI tools have been moved into the
rage
crate. - The
age::Decryptor::Keys
enum case has been renamed toIdentities
and
altered to store aBox<dyn Callbacks>
internally. age::Decryptor::trial_decrypt
andage::Decryptor::trial_decrypt_seekable
both no longer take arequest_passphrase
argument.age::cli_common::read_secret
:- Takes an additional
prompt
parameter. - Uses the system
pinentry
binary for requesting secrets if available. - Returns
pinentry::Error
instead ofio::Error
.
- Takes an additional
age::cli_common::read_or_generate_passphrase
now returnspinentry::Error
instead ofio::Error
.- Core age parsers and serializers have been moved into the
age-core
crate.
Fixed
- Fixed several crashes in the armored format reader, found by fuzzing. The
reader also now correctly enforces a canonical armor marker and line lengths. - Recipient stanzas with empty bodies are correctly parsed.
age-core
(relative to age 0.2.0
)
Fixed
- Base64 padding is now correctly rejected by the age stanza parser.