Skip to content

rage v0.8.0

Compare
Choose a tag to compare
@github-actions github-actions released this 02 May 01:08
· 416 commits to main since this release
61df0db

rage

Changed

  • MSRV is now 1.56.0.
  • When both reading input from the terminal (e.g. if the user is typing the plaintext to be encrypted) and writing output to the terminal, rage now buffers the output until the input is finished, so the output doesn't get in the way of typing.
  • A warning is now displayed if rage detects that the file being encrypted starts with the age magic string or armor begin marker (indicating that an age-encrypted file is being double-encrypted). The file is still encrypted.
  • A message is now printed if a plugin takes longer than 10 seconds to encrypt or decrypt its header entry (for example, if the plugin is waiting on some user interaction that hasn't occurred yet).

Fixed

  • Decryption now returns an error when given a passphrase-encrypted file if -i/--identity is present. Previously this could result in scripts hanging forever (given that passphrase decryption is intentionally not scriptable).

age

Added

  • age::Callbacks::confirm to request that the user provides confirmation for some action.
  • age::cli_common::file_io::InputReader::is_terminal
  • age::ssh::ParseRecipientKeyError, which was previously in the public API but unnameable and could not be matched upon.

Changed

  • MSRV is now 1.56.0.
  • age::Callbacks now requires Clone + Send + Sync + 'static bounds.
  • age::cli_common::file_io::OutputWriter::new now takes an input_is_tty boolean argument. If input_is_tty is set to true, then if OutputWriter will write to a stdout TTY, it buffers the entire output so it doesn't get in the way of typing the input, and then writes the buffered output to stdout during OutputWriter::flush.
  • Ciphertexts are now required to end in a non-empty STREAM chunk, unless it is the only chunk (meaning that the plaintext is empty). Neither age nor rage generate non-empty files ending in an empty chunk, instead marking the final full chunk as the last chunk.

age-plugin 0.3.0

Added

  • age_plugin::Callbacks::confirm

Changed

  • MSRV is now 1.56.0.

age-core

Added

  • age_core::io::{DebugReader, DebugWriter}
  • age_core::plugin::Error::Unsupported
  • age_core::plugin::Reply::ok_with_metadata

Changed

  • MSRV is now 1.56.0.
  • age_core::plugin:
    • Connection::open now returns the debugging-friendly concrete type Connection<DebugReader<ChildStdout>, DebugWriter<ChildStdin>>.
    • BidirSend::{send, send_stanza} now return Ok(Error::Unsupported) when an unsupported response is received, instead of Err(io::Error), making it easier for plugins to implement fallback strategies.