diff --git a/.travis.yml b/.travis.yml index ebeeac7063a..9eb40444e7a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ rust: - nightly - beta - stable - - 1.30.0 + - 1.31.0 matrix: allow_failures: - rust: nightly diff --git a/CHANGELOG.md b/CHANGELOG.md index b64c052786c..d1fdd401af1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,43 @@ -## Unreleased + +## v2.33.0 (2019-04-06) + +#### New Sponsor + +* Stephen Oats is now a sponsor \o/ ([823457c0](https://github.com/kbknapp/clap-rs/commit/823457c0ef5e994ed7080cf62addbfe1aa3b1833)) +* **SPONSORS.md:** fixes Josh Triplett's info in the sponsor document ([24cb5740](https://github.com/kbknapp/clap-rs/commit/24cb574090a11159b48bba105d5ec2dfb0a20e4e)) + +#### Features + +* **Completions:** adds completion support for Elvish. ([e9d0562a](https://github.com/kbknapp/clap-rs/commit/e9d0562a1dc5dfe731ed7c767e6cee0af08f0cf9)) +* There is a new setting to disable automatic building of `--help` and `-h` flags (`AppSettings::DisableAutoHelp`) + +#### Improvements + +* **arg_matches.rs:** add Debug implementations ([47192b7a](https://github.com/kbknapp/clap-rs/commit/47192b7a2d84ec716b81ae4af621e008a8762dc9)) +* **macros:** Support shorthand syntax for ArgGroups ([df9095e7](https://github.com/kbknapp/clap-rs/commit/df9095e75bb1e7896415251d0d4ffd8a0ebcd559)) + +#### Documentation + +* Refer to macOS rather than OSX. ([ab0d767f](https://github.com/kbknapp/clap-rs/commit/ab0d767f3a5a57e2bbb97d0183c2ef63c8c77a6c)) +* **README.md:** use https for all links ([96a7639a](https://github.com/kbknapp/clap-rs/commit/96a7639a36bcb184c3f45348986883115ef1ab3a)) + +#### Bug Fixes + +* add debug assertion for missing args in subcommand ArgGroup ([2699d9e5](https://github.com/kbknapp/clap-rs/commit/2699d9e51e7eadc258ba64c4e347c5d1fef61343)) +* Restore compat with Rust 1.21 ([6b263de1](https://github.com/kbknapp/clap-rs/commit/6b263de1d42ede692ec5ee55019ad2fc6386f92e)) +* Dont mention unused subcommands ([ef92e2b6](https://github.com/kbknapp/clap-rs/commit/ef92e2b639ed305bdade4741f60fa85cb0101c5a)) +* **OsValues:** Add `ExactSizeIterator` implementation ([356c69e5](https://github.com/kbknapp/clap-rs/commit/356c69e508fd25a9f0ea2d27bf80ae1d9a8d88f4)) +* **arg_enum!:** + * Fix comma position for valid values. ([1f1f9ff3](https://github.com/kbknapp/clap-rs/commit/1f1f9ff3fa38a43231ef8be9cfea89a32e53f518)) + * Invalid expansions of some trailing-comma patterns ([7023184f](https://github.com/kbknapp/clap-rs/commit/7023184fca04e852c270341548d6a16207d13862)) +* **completions:** improve correctness of completions when whitespace is involved ([5a08ff29](https://github.com/kbknapp/clap-rs/commit/5a08ff295b2aa6ce29420df6252a0e3ff4441bdc)) +* **help message:** Unconditionally uses long description for subcommands ([6acc8b6a](https://github.com/kbknapp/clap-rs/commit/6acc8b6a621a765cbf513450188000d943676a30), closes [#897](https://github.com/kbknapp/clap-rs/issues/897)) +* **macros:** fixes broken pattern which prevented calling multi-argument Arg methods ([9e7a352e](https://github.com/kbknapp/clap-rs/commit/9e7a352e13aaf8025d80f2bac5c47fb32528672b)) +* **parser:** Better interaction between AllowExternalSubcommands and SubcommandRequired ([9601c95a](https://github.com/kbknapp/clap-rs/commit/9601c95a03d2b82bf265c328b4769238f1b79002)) #### Minimum Required Rust -* As of this release, `clap` requires `rustc 1.30.0` or greater. +* As of this release, `clap` requires `rustc 1.31.0` or greater. ## v2.32.0 (2018-06-26) diff --git a/Cargo.toml b/Cargo.toml index 98f0aad3662..47498c1ee5a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "clap" -version = "2.32.0" +version = "2.33.0" authors = ["Kevin K. "] exclude = ["examples/*", "clap-test/*", "tests/*", "benches/*", "*.png", "clap-perf/*", "*.dot"] repository = "https://github.com/clap-rs/clap" diff --git a/README.md b/README.md index 665007e62dc..c95f4940665 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,6 @@ It is a simple-to-use, efficient, and full-featured library for parsing command Table of Contents ================= -* [What's New](#whats-new) * [About](#about) * [FAQ](#faq) * [Features](#features) @@ -40,38 +39,6 @@ Table of Contents Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc) -## What's New - -Here's whats new in 2.32.0: - -* `clap` requires `rustc 1.30.0` or greater. -* **Completions:** adds completion support for Elvish. ([e9d0562a](https://github.com/clap-rs/clap/commit/e9d0562a1dc5dfe731ed7c767e6cee0af08f0cf9)) -* **ArgGroup and macros:** Support shorthand syntax for ArgGroups ([df9095e7](https://github.com/clap-rs/clap/commit/df9095e75bb1e7896415251d0d4ffd8a0ebcd559)) -* **OsValues:** Add `ExactSizeIterator` implementation ([356c69e5](https://github.com/clap-rs/clap/commit/356c69e508fd25a9f0ea2d27bf80ae1d9a8d88f4)) -* **arg_enum!:** Invalid expansions of some trailing-comma patterns ([7023184f](https://github.com/clap-rs/clap/commit/7023184fca04e852c270341548d6a16207d13862)) -* **help messages:** Unconditionally uses long description for subcommands ([6acc8b6a](https://github.com/clap-rs/clap/commit/6acc8b6a621a765cbf513450188000d943676a30), closes [#897](https://github.com/kbknapp/clap-rs/issues/897)) -* **Docs:** Refer to macOS rather than OSX. ([ab0d767f](https://github.com/clap-rs/clap/commit/ab0d767f3a5a57e2bbb97d0183c2ef63c8c77a6c)) - -Here's whats new in 2.31.x: - -* **Fish Completions:** fixes a bug that only allowed a single completion in in Fish Shell -* **AllowExternalSubcommands**: fixes a bug where external subcommands would be blocked by a similarly named subcommand -* Fixes some typos in the `README.md` -* **AllowMissingPositional:** improves the ability of `AppSetting::AllowMissingPositional` to allow "skipping" to the last positional arg with the `--` operator -* **Arg Indices:** adds the ability to query argument value indices - * implements an `Indices` iterator - * adds the documentation for the arg index querying methods -* **Improves PowerShell completions** - Uses the short help tool-tip for PowerShell completion scripts -* Adds WASM support (clap now compiles on WASM!) -* **Raw Args** adds a convenience function to `Arg` that allows implying all of `Arg::last` `Arg::allow_hyphen_values` and `Arg::multiple(true)` -* **CONTRIBUTING.md:** fix url to clippy upstream repo -* **Values Documentation:** improves the docs example of the Values iterator -* Updates README.md to hint that the `wrap_help` feature is a thing -* Use `codegen-units = 1` in release and bench profiles to improve bench performance -* Fix some typos and markdown issues in the docs - -For full details, see [CHANGELOG.md](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - ## About `clap` is used to parse *and validate* the string of command line arguments provided by a user at runtime. You provide the list of valid possibilities, and `clap` handles the rest. This means you focus on your *applications* functionality, and less on the parsing and validating of arguments. @@ -279,7 +246,7 @@ subcommands: Since this feature requires additional dependencies that not everyone may want, it is *not* compiled in by default and we need to enable a feature flag in Cargo.toml: -Simply change your `clap = "2.32"` to `clap = {version = "2.32", features = ["yaml"]}`. +Simply change your `clap = "2.33"` to `clap = {version = "2.33", features = ["yaml"]}`. Finally we create our `main.rs` file just like we would have with the previous two examples: @@ -380,7 +347,7 @@ For full usage, add `clap` as a dependency in your `Cargo.toml` () to use from c ```toml [dependencies] -clap = "~2.32" +clap = "~2.33" ``` (**note**: If you are concerned with supporting a minimum version of Rust that is *older* than the current stable Rust minus 2 stable releases, it's recommended to use the `~major.minor.patch` style versions in your `Cargo.toml` which will only update the patch version automatically. For more information see the [Compatibility Policy](#compatibility-policy)) @@ -403,7 +370,7 @@ To disable these, add this to your `Cargo.toml`: ```toml [dependencies.clap] -version = "2.32" +version = "2.33" default-features = false ``` @@ -411,7 +378,7 @@ You can also selectively enable only the features you'd like to include, by addi ```toml [dependencies.clap] -version = "2.32" +version = "2.33" default-features = false # Cherry-pick the features you'd like to use @@ -460,7 +427,7 @@ In order to keep from being surprised of breaking changes, it is **highly** reco ```toml [dependencies] -clap = "~2.32" +clap = "~2.33" ``` This will cause *only* the patch version to be updated upon a `cargo update` call, and therefore cannot break due to new features, or bumped minimum versions of Rust. @@ -477,11 +444,11 @@ Right now Cargo's version resolution is pretty naive, it's just a brute-force se # In one Cargo.toml [dependencies] -clap = "~2.32.0" +clap = "~2.33.0" # In another Cargo.toml [dependencies] -clap = "2.31.0" +clap = "2.33.0" ``` This is inherently an unresolvable crate graph in Cargo right now. Cargo requires there's only one major version of a crate, and being in the same workspace these two crates must share a version. This is impossible in this location, though, as these version constraints cannot be met. diff --git a/src/lib.rs b/src/lib.rs index 2587122be06..0a3e1bb676e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -517,7 +517,7 @@ //! [license]: https://raw.githubusercontent.com/clap-rs/clap/master/LICENSE-MIT #![crate_type = "lib"] -#![doc(html_root_url = "https://docs.rs/clap/2.32.0")] +#![doc(html_root_url = "https://docs.rs/clap/2.33.0")] #![deny(missing_docs, missing_debug_implementations, missing_copy_implementations, trivial_casts, unused_import_braces, unused_allocation)] // Lints we'd like to deny but are currently failing for upstream crates