Skip to content

rage v0.3.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 09 Feb 21:00
v0.3.0
56b974c

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
    with cargo 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 if pinentry
    is not available.

age

Added

  • age::Callbacks, which encapsulates any requests that might be necessary
    during the decryption process.
  • age::cli_common::UiCallbacks, which implements Callbacks with requests to
    the user via age::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 to Identities and
    altered to store a Box<dyn Callbacks> internally.
  • age::Decryptor::trial_decrypt and age::Decryptor::trial_decrypt_seekable
    both no longer take a request_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 of io::Error.
  • age::cli_common::read_or_generate_passphrase now returns pinentry::Error
    instead of io::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.