quicli v0.4.0 Release Notes

Release Date: 2018-12-06 // over 5 years ago
  • ๐Ÿš€ This release is only compatible with Rust 1.31.0 and later.

    โž• Added

    • The CliResult type alias was added as an easy to write type to be used as an return type in main functions. It uses the exitfailure crate internally.
    • The remove_dir_all function that works as expected on all platforms.

    โœ‚ Removed

    • ๐Ÿšš The Result type alias has been removed from the prelude.

    To migrate from 0.3, please replace Result<$X> with Result<$X, Error>.

    • Structopt is no longer re-exported.

    To migrate from 0.3, please add structopt = "0.2" to your Cargo.toml, and add use structopt::StructOpt; to your source files.

    • ๐Ÿšš The main! macro has been removed. It was the cause of much confusion and was originally introduced to work around the lack of support for using the ? operator in the main function.

    To migrate from 0.3, you should use a regular main function like fn main() -> CliResult { Ok(()) }. You'll need to return Ok(()) at the end to indicate the program was successful.

    To get access to your CLI arguments, use let args = Cli::from_args(); (adjust the Cli name with the name of your struct that derives StructOpt.)

    To enable logging, it is easiest to add the line args.verbosity.setup_env_logger(&env!("CARGO_PKG_NAME"))?; right after the previous one loading the CLI arguments. You can also initialize a custom logger with the right log level directly by accessing args.verbosity.log_level().

Previous changes from v0.3.1

  • ๐Ÿ”„ Changed

    • โšก๏ธ Updated failure to 0.1.2 and use iter_cause() to silence deprecation warnings