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