Skip to content
This repository has been archived by the owner on Sep 13, 2023. It is now read-only.

Latest commit

 

History

History
165 lines (112 loc) · 5.18 KB

Changelog.md

File metadata and controls

165 lines (112 loc) · 5.18 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

0.4.0 - 2018-12-06

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().

0.3.1 - 2018-10-03

Changed

  • Updated failure to 0.1.2 and use iter_cause() to silence deprecation warnings

0.3.0 - 2018-06-10

Added

  • The full code of the example projects from the guides is now also available in the repository's examples/ directory.
  • A full-throttle feature was added and is enabled by default. Most dependencies are now optional and only available when this feature (or the dependency itself) is enabled. In practice, this means you can easily opt-out of default quicli features and only enable what you need.

Fixed

  • Verbosity flag works for hyphenated package names

Changed

  • prelude::LoggerBuiler has been renamed to prelude::LoggerBuilder

  • Now prints all causes after printing error in main!

  • Update rayon to 1.0

  • We now use the new clap-verbosity-flag crate for adding that -v flag:

    #[derive(Debug, StructOpt)]
    struct Cli {
        #[structopt(flatten)]
        verbosity: Verbosity,
    }

0.2.0 - 2018-02-11

Fixed

  • The verbosity flag of the main! macro now actually works! (#45)

Changed

  • Upgrade structopt to 0.2:
    • No need to add structopt to you dependencies anymore (just delete the line in the Cargo.toml)

    • Their handling of "occurrences of" parameters changed, so, for verbosity you now need to write:

      #[structopt(long = "verbosity", short = "v", parse(from_occurrences))]
      verbosity: u8,

0.1.4 - 2018-02-09

Changed

  • Reverts "main! now uses the more permissive std::result::Result enum and std::error::Error trait." from 0.1.3 which broke existing code

0.1.3 - 2018-02-01 - Yanked!

Changed

  • main! now uses the more permissive std::result::Result enum and std::error::Error trait.
  • Fixed a bunch of typos in the docs (thanks everyone!)
  • Extended the Getting Started guide

0.1.2 - 2018-01-28

Added

  • A website with guides!
  • glob
  • create_dir
  • Re-export Rayon traits
  • Export Result type alias using failure's Error

Removed

  • All the examples are now guides

Changed

  • main! now sets up logging in all cases
  • Use buffered reading/writing in fs functions

0.1.1 - 2018-01-28

Added

  • Re-export log macros
  • Automatically set up env_logger in main!
  • main! parameter for Cli struct and its logging level field
  • Readme fixes
  • Expose fs module

0.1.0 - 2018-01-28

Added

  • main! macro
  • Re-exports of failure, serde, structopt
  • Commit Message generator example
  • read/write file functions