-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(deps): update rust crate clap to 3.2.25 - autoclosed #23
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
December 2, 2021 19:03
09358ec
to
d6f016c
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.0.0-beta.5
fix(deps): update rust crate clap to 3.0.0-rc.0
Dec 8, 2021
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
December 8, 2021 20:14
d6f016c
to
47f5e80
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.0.0-rc.0
fix(deps): update rust crate clap to 3.0.0-rc.1
Dec 9, 2021
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
December 9, 2021 15:57
47f5e80
to
d93b6ec
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.0.0-rc.1
fix(deps): update rust crate clap to 3.0.0-rc.3
Dec 10, 2021
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
2 times, most recently
from
December 10, 2021 22:42
096e30a
to
6143a15
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.0.0-rc.3
fix(deps): update rust crate clap to 3.0.0-rc.4
Dec 10, 2021
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.0.0-rc.4
fix(deps): update rust crate clap to 3.0.0-rc.5
Dec 15, 2021
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
December 15, 2021 17:54
6143a15
to
b144322
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.0.0-rc.5
fix(deps): update rust crate clap to 3.0.0-rc.6
Dec 16, 2021
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
December 16, 2021 16:02
b144322
to
1d0477b
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.0.0-rc.6
fix(deps): update rust crate clap to 3.0.0-rc.7
Dec 16, 2021
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
December 16, 2021 20:16
1d0477b
to
8a31b5b
Compare
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
December 23, 2021 21:16
8a31b5b
to
d902f90
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.0.0-rc.7
fix(deps): update rust crate clap to 3.0.0-rc.8
Dec 23, 2021
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.0.0-rc.8
fix(deps): update rust crate clap to 3.0.0-rc.9
Dec 27, 2021
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
December 27, 2021 23:27
d902f90
to
baad0c0
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.0.0-rc.9
fix(deps): update rust crate clap to 3.0.0-rc.11
Dec 30, 2021
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
December 30, 2021 22:00
baad0c0
to
8335c36
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.0.0-rc.11
fix(deps): update rust crate clap to 3.0.0-rc.12
Dec 31, 2021
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
2 times, most recently
from
December 31, 2021 21:39
24bcc0d
to
fa8c36e
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.0.0-rc.12
fix(deps): update rust crate clap to 3.0.0
Dec 31, 2021
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.0.0
fix(deps): update rust crate clap to 3.0.1
Jan 3, 2022
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
January 3, 2022 20:57
fa8c36e
to
17dc122
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.0.1
fix(deps): update rust crate clap to 3.0.2
Jan 4, 2022
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
2 times, most recently
from
January 4, 2022 20:30
976c987
to
4e42d70
Compare
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
June 15, 2022 18:30
93a526a
to
4e1339c
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.2.4
fix(deps): update rust crate clap to 3.2.5
Jun 15, 2022
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
June 21, 2022 16:58
4e1339c
to
4965794
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.2.5
fix(deps): update rust crate clap to 3.2.6
Jun 21, 2022
bors r+ |
bors bot
added a commit
that referenced
this pull request
Jun 22, 2022
22: fix(deps): update rust crate dirs to v4 r=jaysonsantos a=renovate[bot] [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [dirs](https://togithub.com/soc/dirs-rs) | dependencies | major | `3.0.2` -> `4.0.0` | --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/jaysonsantos/kustomize-sops-rs). 23: fix(deps): update rust crate clap to 3.2.6 r=jaysonsantos a=renovate[bot] [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [clap](https://togithub.com/clap-rs/clap) | dependencies | minor | `3.0.0-beta.4` -> `3.2.6` | --- ### Release Notes <details> <summary>clap-rs/clap</summary> ### [`v3.2.6`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​326---2022-06-21) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.2.5...v3.2.6) ##### Fixes - Don't panic when parsing `--=` ### [`v3.2.5`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​325---2022-06-15) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.2.4...v3.2.5) ##### Fixes - *(derive)* Fix regression with `#[clap(default_value_os_t ...)]` introduced in v3.2.3 ### [`v3.2.4`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​324---2022-06-14) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.2.3...v3.2.4) ##### Fixes - *(derive)* Provide more clearer deprecation messages for `#[clap(parse)]` attribute ([#​3832](https://togithub.com/clap-rs/clap/issues/3832)) ### [`v3.2.3`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​323---2022-06-14) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.2.2...v3.2.3) ##### Fixes - Moved deprecations to be behind the `deprecated` Cargo.toml feature ([#​3830](https://togithub.com/clap-rs/clap/issues/3830)) - For now, it is disabled by default though we are considering enabling it by default as we release the next major version to help draw attention to the deprecation migration path ### [`v3.2.2`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​322---2022-06-14) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.2.1...v3.2.2) ##### Fixes - *(derive)* Improve the highlighted code for deprecation warnings **gated behind `unstable-v4`** - *(derive)* Default to `#[clap(value_parser, action)]` instead of `#[clap(parse)]` ([#​3827](https://togithub.com/clap-rs/clap/issues/3827)) ### [`v3.2.1`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​321---2022-06-13) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.2.0...v3.2.1) ### [`v3.2.0`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​320---2022-06-13) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.18...v3.2.0) ##### Compatibility MSRV is now 1.56.0 ([#​3732](https://togithub.com/clap-rs/clap/issues/3732)) Behavior - Defaults no longer satisfy `required` and its variants ([#​3793](https://togithub.com/clap-rs/clap/issues/3793)) - When misusing `ArgMatches::value_of` and friends, debug asserts were turned into panics Moving (old location deprecated) - `clap::{PossibleValue, ValueHint}` to `clap::builder::{PossibleValue, ValueHint}` - `clap::{Indices, OsValues, ValueSource, Values}` to `clap::parser::{Indices, OsValues, ValueSource, Values}` - `clap::ArgEnum` to `clap::ValueEnum` ([#​3799](https://togithub.com/clap-rs/clap/issues/3799)) Replaced - `Arg::allow_invalid_utf8` with `Arg::value_parser(value_parser!(PathBuf))` ([#​3753](https://togithub.com/clap-rs/clap/issues/3753)) - `Arg::validator` / `Arg::validator_os` with `Arg::value_parser` ([#​3753](https://togithub.com/clap-rs/clap/issues/3753)) - `Arg::validator_regex` with users providing their own `builder::TypedValueParser` ([#​3756](https://togithub.com/clap-rs/clap/issues/3756)) - `Arg::forbid_empty_values` with `builder::NonEmptyStringValueParser` / `builder::PathBufValueParser` ([#​3753](https://togithub.com/clap-rs/clap/issues/3753)) - `Arg::possible_values` with `Arg::value_parser([...])`, `builder::PossibleValuesParser`, or `builder::EnumValueParser` ([#​3753](https://togithub.com/clap-rs/clap/issues/3753)) - `Arg::max_occurrences` with `arg.action(ArgAction::Count).value_parser(value_parser!(u8).range(..N))` for flags ([#​3797](https://togithub.com/clap-rs/clap/issues/3797)) - `Arg::multiple_occurrences` with `ArgAction::Append` or `ArgAction::Count` though positionals will need `Arg::multiple_values` ([#​3772](https://togithub.com/clap-rs/clap/issues/3772), [#​3797](https://togithub.com/clap-rs/clap/issues/3797)) - `Command::args_override_self` with `ArgAction::Set` ([#​2627](https://togithub.com/clap-rs/clap/issues/2627), [#​3797](https://togithub.com/clap-rs/clap/issues/3797)) - `AppSettings::NoAutoVersion` with `ArgAction` or `Command::disable_version_flag` ([#​3800](https://togithub.com/clap-rs/clap/issues/3800)) - `AppSettings::NoHelpVersion` with `ArgAction` or `Command::disable_help_flag` / `Command::disable_help_subcommand` ([#​3800](https://togithub.com/clap-rs/clap/issues/3800)) - `ArgMatches::{value_of, value_of_os, value_of_os_lossy, value_of_t}` with `ArgMatches::{get_one,remove_one}` ([#​3753](https://togithub.com/clap-rs/clap/issues/3753)) - `ArgMatches::{values_of, values_of_os, values_of_os_lossy, values_of_t}` with `ArgMatches::{get_many,remove_many}` ([#​3753](https://togithub.com/clap-rs/clap/issues/3753)) - `ArgMatches::is_valid_arg` with `ArgMatches::{try_get_one,try_get_many}` ([#​3753](https://togithub.com/clap-rs/clap/issues/3753)) - `ArgMatches::occurrences_of` with `ArgMatches::value_source` or `ArgAction::Count` ([#​3797](https://togithub.com/clap-rs/clap/issues/3797)) - `ArgMatches::is_present` with `ArgMatches::contains_id` or `ArgAction::SetTrue` ([#​3797](https://togithub.com/clap-rs/clap/issues/3797)) - `ArgAction::StoreValue` with `ArgAction::Set` or `ArgAction::Append` ([#​3797](https://togithub.com/clap-rs/clap/issues/3797)) - `ArgAction::IncOccurrences` with `ArgAction::SetTrue` or `ArgAction::Count` ([#​3797](https://togithub.com/clap-rs/clap/issues/3797)) - *(derive)* `#[clap(parse(...))]` replaced with: ([#​3589](https://togithub.com/clap-rs/clap/issues/3589), [#​3794](https://togithub.com/clap-rs/clap/issues/3794)) - For default parsers (no `parse` attribute), deprecation warnings can be silenced by opting into the new behavior by adding either `#[clap(action)]` or `#[clap(value_parser)]` (ie requesting the default behavior for these attributes). Alternatively, the `unstable-v4` feature changes the default away from `parse` to `action`/`value_parser`. - For `#[clap(parse(from_flag))]` replaced with `#[clap(action = ArgAction::SetTrue)]` ([#​3794](https://togithub.com/clap-rs/clap/issues/3794)) - For `#[clap(parse(from_occurrences))]` replaced with `#[clap(action = ArgAction::Count)]` though the field's type must be `u8` ([#​3794](https://togithub.com/clap-rs/clap/issues/3794)) - For `#[clap(parse(from_os_str)]` for `PathBuf`, replace it with `#[clap(value_parser)]` (as mentioned earlier this will call `value_parser!(PathBuf)` which will auto-select the right `ValueParser` automatically). - For `#[clap(parse(try_from_str = ...)]`, replace it with `#[clap(value_parser = ...)]` - For most other cases, a type implementing `TypedValueParser` will be needed and specify it with `#[clap(value_parser = ...)]` ##### Features - Parsed, typed arguments via `Arg::value_parser` / `ArgMatches::{get_one,get_many}` ([#​2683](https://togithub.com/clap-rs/clap/issues/2683), [#​3732](https://togithub.com/clap-rs/clap/issues/3732)) - Several built-in `TypedValueParser`s available with an API open for expansion - `value_parser!(T)` macro for selecting a parser for a given type ([#​3732](https://togithub.com/clap-rs/clap/issues/3732)) and open to expansion via the `ValueParserFactory` trait ([#​3755](https://togithub.com/clap-rs/clap/issues/3755)) - `[&str]` is implicitly a value parser for possible values - All `ArgMatches` getters do not assume required arguments ([#​2505](https://togithub.com/clap-rs/clap/issues/2505)) - Add `ArgMatches::remove_*` variants to transfer ownership - Add `ArgMatches::try_*` variants to avoid panics for developer errors ([#​3621](https://togithub.com/clap-rs/clap/issues/3621)) - Add a `get_raw` to access the underlying `OsStr`s - `PathBuf` value parsers imply `ValueHint::AnyPath` for completions ([#​3732](https://togithub.com/clap-rs/clap/issues/3732)) - Explicit control over parsing via `Arg::action` ([#​3774](https://togithub.com/clap-rs/clap/issues/3774)) - `ArgAction::StoreValue`: existing `takes_value(true)` behavior - `ArgAction::IncOccurrences`: existing `takes_value(false)` behavior - `ArgAction::Help`: existing `--help` behavior - `ArgAction::Version`: existing `--version` behavior - `ArgAction::Set`: Overwrite existing values (like `Arg::multiple_occurrences` mixed with `Command::args_override_self`) ([#​3777](https://togithub.com/clap-rs/clap/issues/3777)) - `ArgAction::Append`: like `Arg::multiple_occurrences` ([#​3777](https://togithub.com/clap-rs/clap/issues/3777)) - `ArgAction::SetTrue`: Treat `--flag` as `--flag=true` ([#​3775](https://togithub.com/clap-rs/clap/issues/3775)) - Implies `Arg::default_value("false")` ([#​3786](https://togithub.com/clap-rs/clap/issues/3786)) - Parses `Arg::env` via `Arg::value_parser` - `ArgAction::SetFalse`: Treat `--flag` as `--flag=false` ([#​3775](https://togithub.com/clap-rs/clap/issues/3775)) - Implies `Arg::default_value("true")` ([#​3786](https://togithub.com/clap-rs/clap/issues/3786)) - Parses `Arg::env` via `Arg::value_parser` - `ArgAction::Count`: Treat `--flag --flag --flag` as `--flag=1 --flag=2 --flag=3` ([#​3775](https://togithub.com/clap-rs/clap/issues/3775)) - Implies `Arg::default_value("0")` ([#​3786](https://togithub.com/clap-rs/clap/issues/3786)) - Parses `Arg::env` via `Arg::value_parser` - *(derive)* Opt-in to new `Arg::value_parser` / `Arg::action` with either `#[clap(value_parser)]` ([#​3589](https://togithub.com/clap-rs/clap/issues/3589), [#​3742](https://togithub.com/clap-rs/clap/issues/3742)) / `#[clap(action)]` attributes ([#​3794](https://togithub.com/clap-rs/clap/issues/3794)) - Default `ValueParser` is determined by `value_parser!` ([#​3199](https://togithub.com/clap-rs/clap/issues/3199), [#​3496](https://togithub.com/clap-rs/clap/issues/3496)) - Default `ArgAction` is determine by a hard-coded lookup on the type ([#​3794](https://togithub.com/clap-rs/clap/issues/3794)) - `Command::multicall` is now stable for busybox-like programs and REPLs ([#​2861](https://togithub.com/clap-rs/clap/issues/2861), [#​3684](https://togithub.com/clap-rs/clap/issues/3684)) - `ArgMatches::{try_,}contains_id` for checking if there are values for an argument that mirrors the new `get_{one,many}` API ##### Fixes - Don't correct argument id in `default_value_ifs_os`([#​3815](https://togithub.com/clap-rs/clap/issues/3815)) *parser* - Set `ArgMatches::value_source` and `ArgMatches::occurrences_of` for external subcommands ([#​3732](https://togithub.com/clap-rs/clap/issues/3732)) - Use value delimiter for `Arg::default_missing_values` ([#​3761](https://togithub.com/clap-rs/clap/issues/3761), [#​3765](https://togithub.com/clap-rs/clap/issues/3765)) - Split`Arg::default_value` / `Arg::env` on value delimiters independent of whether `--` was used ([#​3765](https://togithub.com/clap-rs/clap/issues/3765)) - Allow applying defaults to flags ([#​3294](https://togithub.com/clap-rs/clap/issues/3294), 3775) - Defaults no longer satisfy `required` and its variants ([#​3793](https://togithub.com/clap-rs/clap/issues/3793)) ### [`v3.1.18`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3118---2022-05-10) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.17...v3.1.18) ##### Fixes - Fix deprecated `arg_enum!` for users migrating to clap3 ([#​3717](https://togithub.com/clap-rs/clap/issues/3717)) - Verify all `required_unless_present_all` arguments exist - Verify group members exist before processing group members ([#​3711](https://togithub.com/clap-rs/clap/issues/3711)) - *(help)* Use `...` when not enough `value_names` are supplied **gated behind `unstable-v4`** - Verify `required` is not used with conditional required settings ([#​3660](https://togithub.com/clap-rs/clap/issues/3660)) - Disallow more `value_names` than `number_of_values` ([#​2695](https://togithub.com/clap-rs/clap/issues/2695)) - *(parser)* Assert on unknown args when using external subcommands ([#​3703](https://togithub.com/clap-rs/clap/issues/3703)) - *(parser)* Always fill in `""` argument for external subcommands ([#​3263](https://togithub.com/clap-rs/clap/issues/3263)) - *(derive)* Detect escaped external subcommands that look like built-in subcommands ([#​3703](https://togithub.com/clap-rs/clap/issues/3703)) - *(derive)* Leave `Arg::id` as `verbatim` casing ([#​3282](https://togithub.com/clap-rs/clap/issues/3282)) ### [`v3.1.17`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3117---2022-05-06) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.16...v3.1.17) ##### Fixes - Allow value names for `arg!` macro to have dashes when quoted, like longs ### [`v3.1.16`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3116---2022-05-06) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.15...v3.1.16) ##### Fixes - *(parser)* `Arg::exclusive` overrides `Arg::required`, like other conflicts - *(error)* Don't duplicate arguments in usage - *(error)* Don't show hidden arguments in conflict error usage - *(help)* New `help_template` variable `{name}` to fix problems with `{bin}` - *(help)* Don't wrap URLs **gated behind `unstable-v4`** - Leading dashes in `Arg::long` are no longer allowed - *(help)* Use `Command::display_name` in the help title rather than `Command::bin_name` ### [`v3.1.15`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3115---2022-05-02) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.14...v3.1.15) ##### Fixes - *(error)* Render actual usage for unrecognized subcommands - *(multicall)* Improve bad command error - *(multicall)* Always require a multicall command - *(multicall)* Disallow arguments on multicall parent command - *(multicall)* More consistent with rest of clap errors ### [`v3.1.14`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3114---2022-05-01) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.13...v3.1.14) ##### Fixes - Panic when calling `Command::build` with a required positional argument nested several layers in subcommands ### [`v3.1.13`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3113---2022-04-30) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.12...v3.1.13) ##### Fixes - Help subcommand and `Command::write_help` now report required arguments in usage in more circumstances - Unknown subcommand for help subcommand flag now reports an error with more context - More details reported when using `debug` feature - Allow disabling `color` feature with `debug` feature enabled ### [`v3.1.12`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3112---2022-04-22) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.11...v3.1.12) ##### Fixes - Regression in 3.1.11 where the (output) streams were crossed ### [`v3.1.11`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3111---2022-04-22) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.10...v3.1.11) ##### Fixes - Implied conflicts override `Arg::required`, making the behavior consistent with how we calculate conflicts for error reporting - Members of a mutually exclusive `ArgGroup` override `Arg::required`, making the behavior consistent with how we calculate conflicts for error reporting - `Arg::overrides_with` always override `Arg::required`, not just when the parser processes an override ### [`v3.1.10`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3110---2022-04-19) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.9...v3.1.10) ##### Features - Expose `Command::build` for custom help generation or other command introspection needs ### [`v3.1.9`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​319---2022-04-15) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.8...v3.1.9) ##### Fixes - Pin the `clap_derive` version so a compatible version is always used with `clap` ### [`v3.1.8`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​318---2022-04-01) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.7...v3.1.8) ##### Fixes - Add `Debug` impls to more types ### [`v3.1.7`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​317---2022-03-31) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.6...v3.1.7) ##### Fixes - *(derive)* Abort, rather than ignore, when deriving `ArgEnum` with non-unit unskipped variants ### [`v3.1.6`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​316---2022-03-07) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.5...v3.1.6) ##### Fixes - Don't panic when validating delimited defaults ([#​3541](https://togithub.com/clap-rs/clap/issues/3541)) - Make it clearer that `cargo` feature is needed - Documentation improvements ### [`v3.1.5`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​315---2022-03-02) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.4...v3.1.5) ##### Fixes - Dependency upgrade ### [`v3.1.4`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​314---2022-03-02) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.3...v3.1.4) ##### Features - *(help)* Show `PossibleValue::help` in long help (`--help`) **(gated behind `unstable-v4`)** ([#​3312](https://togithub.com/clap-rs/clap/issues/3312)) ### [`v3.1.3`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​313---2022-02-28) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.2...v3.1.3) ##### Fixes - Don't panic when validating delimited defaults ([#​3514](https://togithub.com/clap-rs/clap/issues/3514)) ### [`v3.1.2`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​312---2022-02-23) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.1...v3.1.2) ##### Fixes - *(derive)* Allow other attribute with a subcommand that has subcommands ##### Documentation - *(examples)* List example topics - *(derive)* Clarify syntax and relation to builder API ### [`v3.1.1`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3118---2022-05-10) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.0...v3.1.1) ##### Fixes - Fix deprecated `arg_enum!` for users migrating to clap3 ([#​3717](https://togithub.com/clap-rs/clap/issues/3717)) - Verify all `required_unless_present_all` arguments exist - Verify group members exist before processing group members ([#​3711](https://togithub.com/clap-rs/clap/issues/3711)) - *(help)* Use `...` when not enough `value_names` are supplied **gated behind `unstable-v4`** - Verify `required` is not used with conditional required settings ([#​3660](https://togithub.com/clap-rs/clap/issues/3660)) - Disallow more `value_names` than `number_of_values` ([#​2695](https://togithub.com/clap-rs/clap/issues/2695)) - *(parser)* Assert on unknown args when using external subcommands ([#​3703](https://togithub.com/clap-rs/clap/issues/3703)) - *(parser)* Always fill in `""` argument for external subcommands ([#​3263](https://togithub.com/clap-rs/clap/issues/3263)) - *(derive)* Detect escaped external subcommands that look like built-in subcommands ([#​3703](https://togithub.com/clap-rs/clap/issues/3703)) - *(derive)* Leave `Arg::id` as `verbatim` casing ([#​3282](https://togithub.com/clap-rs/clap/issues/3282)) ### [`v3.1.0`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​310---2022-02-16) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.14...v3.1.0) ##### Compatibility Changes in behavior of note that are not guaranteed to be compatible across releases: - *(help)* `help` subcommand shows long help like `--help`, rather than short help (`-h`), deprecated `clap::AppSettings::UseLongFormatForHelpSubcommand` ([#​3440](https://togithub.com/clap-rs/clap/issues/3440)) - *(help)* Pacman-style subcommands are now ordered the same as usage errors ([#​3470](https://togithub.com/clap-rs/clap/issues/3470)) - *(help)* Pacman-style subcommands use standard alternate syntax in usage ([#​3470](https://togithub.com/clap-rs/clap/issues/3470)) ##### Deprecations - `clap::Command` is now preferred over `clap::App` ([#​3089](https://togithub.com/clap-rs/clap/issues/3089) in [#​3472](https://togithub.com/clap-rs/clap/issues/3472)) - `clap::command!` is now preferred over `clap::app_from_crate` ([#​3089](https://togithub.com/clap-rs/clap/issues/3089) in [#​3474](https://togithub.com/clap-rs/clap/issues/3474)) - `clap::CommandFactory::command` is now preferred over `clap::IntoApp::into_app` ([#​3089](https://togithub.com/clap-rs/clap/issues/3089) in [#​3473](https://togithub.com/clap-rs/clap/issues/3473)) - *(help)* `help` subcommand shows long help like `--help`, rather than short help (`-h`), deprecated `clap::AppSettings::UseLongFormatForHelpSubcommand` ([#​3440](https://togithub.com/clap-rs/clap/issues/3440)) - *(error)* Deprecate `clap::AppSettings::WaitOnError`, leaving it to the user to implement - *(validation)* `clap::Command::subcommand_required(true).arg_required_else_help(true)` is now preferred over `clap::AppSettings::SubcommandRequiredElseHelp` ([#​3280](https://togithub.com/clap-rs/clap/issues/3280)) - *(builder)* `clap::AppSettings` are nearly all deprecated and replaced with builder methods and getters ([#​2717](https://togithub.com/clap-rs/clap/issues/2717)) - *(builder)* `clap::ArgSettings` is deprecated and replaced with builder methods and getters ([#​2717](https://togithub.com/clap-rs/clap/issues/2717)) - *(builder)* `clap::Arg::id` and `clap::ArgGroup::id` are now preferred over `clap::Arg::name` and `clap::ArgGroup::name` ([#​3335](https://togithub.com/clap-rs/clap/issues/3335)) - *(help)* `clap::Command::next_help_heading` is now preferred over `clap::Command::help_heading` ([#​1807](https://togithub.com/clap-rs/clap/issues/1807), [#​1553](https://togithub.com/clap-rs/clap/issues/1553)) - *(error)* `clap::error::ErrorKind` is now preferred over `clap::ErrorKind` ([#​3395](https://togithub.com/clap-rs/clap/issues/3395)) - *(error)* `clap::Error::kind()` is now preferred over `clap::Error::kind` - *(error)* `clap::Error::context()` is now preferred over `clap::Error::info` ([#​2628](https://togithub.com/clap-rs/clap/issues/2628)) Note: All items deprecated in 3.0.0 are now hidden in the documentation. ([#​3458](https://togithub.com/clap-rs/clap/issues/3458)) ##### Features - *(matches)* Add `clap::ArgMatches::value_source` to determine what insert the value ([#​1345](https://togithub.com/clap-rs/clap/issues/1345)) - *(help)* Override derived display order with `clap::Command::next_display_order` ([#​1807](https://togithub.com/clap-rs/clap/issues/1807)) - *(error)* Show possible values when an argument doesn't have a value ([#​3320](https://togithub.com/clap-rs/clap/issues/3320)) - *(error)* New `clap::Error::context` API to open the door for fully-custom error messages ([#​2628](https://togithub.com/clap-rs/clap/issues/2628)) - *(error)* `clap::error::ErrorKind` now implements `Display` ##### Fixes - *(builder)* Some functions were renamed for consistency and fixing spelling issues - *(builder)* Allow `clap::Command::color` to override previous calls ([#​3449](https://togithub.com/clap-rs/clap/issues/3449)) - *(parse)* Propagate globals with multiple subcommands ([#​3428](https://togithub.com/clap-rs/clap/issues/3428)) - *(validation)* Give `ArgRequiredElseHelp` precedence over `SubcommandRequired` ([#​3456](https://togithub.com/clap-rs/clap/issues/3456)) - *(validation)* Default values no longer count as "present" for conflicts, requires, `clap::Command::arg_required_else_help`, etc ([#​3076](https://togithub.com/clap-rs/clap/issues/3076), [#​1264](https://togithub.com/clap-rs/clap/issues/1264)) - *(assert)* Report invalid defaults ([#​3202](https://togithub.com/clap-rs/clap/issues/3202)) - *(help)* Clarify how to handle `-h` conflicts ([#​3403](https://togithub.com/clap-rs/clap/issues/3403)) - *(help)* Make it easier to debug the addition of help flags ([#​3425](https://togithub.com/clap-rs/clap/issues/3425)) - *(help)* Pacman-style subcommands are now separated with spaces ([#​3470](https://togithub.com/clap-rs/clap/issues/3470)) - *(help)* Pacman-style subcommands are now ordered the same as usage errors ([#​3470](https://togithub.com/clap-rs/clap/issues/3470)) - *(help)* Pacman-style subcommands use standard alternate syntax in usage ([#​3470](https://togithub.com/clap-rs/clap/issues/3470)) - *(error)* Be consistent in showing of required attributes between errors / usage ([#​3390](https://togithub.com/clap-rs/clap/issues/3390)) - *(error)* Show user's order of possible values, like in `--help` ([#​1549](https://togithub.com/clap-rs/clap/issues/1549)) - *(error)* Allow customizing error type in `clap::error::Result` ([#​3395](https://togithub.com/clap-rs/clap/issues/3395)) ##### Performance - *(error)* Reduced stack size of `clap::Error` ([#​3395](https://togithub.com/clap-rs/clap/issues/3395)) ##### Documentation - *(builder)* Correct data take accepted for `clap::Arg::validator` - *(derive)* Clarify `parse` attribute - *(tutorial)* Demonstrate custom parsing - *(example)* Consistently list out required feature flags ([#​3448](https://togithub.com/clap-rs/clap/issues/3448)) ### [`v3.0.14`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3014---2022-02-01) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.13...v3.0.14) ##### Features - Added `ArgMatches::args_present()` to check if any args are present - Added `Error::kind()` as we work to deprecate direct member access for `Error` - Added `App::get_version` - Added `App::get_long_version` - Added `App::get_author` - Added `App::get_subcommand_help_heading` - Added `App::get_subcommand_value_name` - Added `App::get_after_help` - Added `App::get_after_long_help` ##### Performance - Misc binary size reductions ### [`v3.0.13`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3013---2022-01-26) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.12...v3.0.13) ##### Fixes - Show optional flag values wrapped in `[]` ### [`v3.0.12`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3012---2022-01-24) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.11...v3.0.12) ##### Features - *(derive)* Support for `default_value_os_t` ### [`v3.0.11`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3011---2022-01-24) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.10...v3.0.11) ##### Fixes - Ensure conflicts work when they target a group with a default value ### [`v3.0.10`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3010---2022-01-18) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.9...v3.0.10) ##### Fixes - Resolve `panic!` from v3.0.8 when using `global_setting(PropagateVersion)`. ### [`v3.0.9`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​309---2022-01-17) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.8...v3.0.9) ##### Features - Added `App::find_subcommand_mut` ### [`v3.0.8`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​308---2022-01-17) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.7...v3.0.8) ##### Fixes - Respected `DisableColoredHelp` on `cmd help help` - Provide a little more context when completing arguments for `cmd help` - Provide more context for some asserts - Small documentation improvements ### [`v3.0.7`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​307---2022-01-12) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.6...v3.0.7) ##### Fixes - Shift more asserts from parsing to `App` building (ie will now run in `App::debug_assert`) **derive** - Documentation fixes ### [`v3.0.6`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​306---2022-01-10) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.5...v3.0.6) ##### Fixes **derive** - Don't assume user does `use clap::ArgEnum` ([#​3277](https://togithub.com/clap-rs/clap/issues/3277)) - Documentation fixes ### [`v3.0.5`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​305---2022-01-05) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.4...v3.0.5) ##### Fixes - Provide hack to workaround [inability to detect external subcommands aliasing when escaped](https://togithub.com/clap-rs/clap/issues/3263) ([#​3264](https://togithub.com/clap-rs/clap/issues/3264)) **docs:** - Cleaned up code blocks in tutorials ([#​3261](https://togithub.com/clap-rs/clap/issues/3261)) - Clean up quotes in `ArgMatches` asserts - List correct replacement for deprecated `Parser::from_clap` ([#​3257](https://togithub.com/clap-rs/clap/issues/3257)) ### [`v3.0.4`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​304---2022-01-04) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.3...v3.0.4) ##### Features - For very limited cases, like `cargo`, expose `ArgMatches::is_valid_arg` to avoid panicing on undefined arguments ### [`v3.0.3`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​303---2022-01-04) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.2...v3.0.3) ##### Fixes - Specify cause of debug assert failure ### [`v3.0.2`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​302---2022-01-04) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.1...v3.0.2) ##### Fixes - Ignore `Last` when checking hyphen values (see [#​3249](https://togithub.com/clap-rs/clap/issues/3249) for details) - Help catch bugs with `#[must_use]` ### [`v3.0.1`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3014---2022-02-01) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0...v3.0.1) ##### Features - Added `ArgMatches::args_present()` to check if any args are present - Added `Error::kind()` as we work to deprecate direct member access for `Error` - Added `App::get_version` - Added `App::get_long_version` - Added `App::get_author` - Added `App::get_subcommand_help_heading` - Added `App::get_subcommand_value_name` - Added `App::get_after_help` - Added `App::get_after_long_help` ##### Performance - Misc binary size reductions ### [`v3.0.0`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​300---2021-12-31) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.13...v3.0.0) **Note:** clap v3 has been in development for several years and has changed hands multiple times. Unfortunately, our changelog might be incomplete, whether in changes or their motivation. ##### Highlights A special thanks to the maintainers, contributors, beta users, and sponsors who have helped along this journey, especially kbknapp. **[StructOpt](https://docs.rs/structopt/) Integration** [StructOpt](https://docs.rs/structopt/) provides a serde-like declarative approach to defining your parser. The main benefits we've seen so far from integrating are: - Tighter feedback between the design of clap and the derives - More universal traits. Crates exist for common CLI patterns ([example](https://togithub.com/rust-cli/clap-verbosity-flag)) and we've re-designed the `StructOpt` traits so crates built on clap3 can be reused not just with other derives but also people using the builder API. People can even hand implement these so people using the builder API won't have the pay the cost for derives. **Custom Help Headings** Previously, clap automatically grouped arguments in the help as either `ARGS`, `FLAGS`, `OPTIONS`, and `SUBCOMMANDS`. You can now override the default group with `Arg::help_heading` and `App::subcommand_help_heading`. To apply a heading to a series of arguments, you can set `App::help_heading`. **Deprecations** While a lot of deprecations have been added to clean up the API (overloaded meaning of `Arg::multiple`) or make things more consistent, some particular highlights are: - `clap_app!` has been deprecated in favor of the builder API with `arg!` ([clap-rs/clap#​2835](https://togithub.com/clap-rs/clap/issues/2835)) - `Arg::from_usage` has been deprecated in favor of `arg!` ([clap-rs/clap#​3087](https://togithub.com/clap-rs/clap/issues/3087)) - [Porting example](https://togithub.com/clap-rs/clap/commit/4c4a2b86a08ef9e2d63010aab4909dd5a013dfb0) - The YAML API has been deprecated in favor the builder or derive APIs ([clap-rs/clap#​3087](https://togithub.com/clap-rs/clap/issues/3087)) ##### Migrating **From clap v2** 1. Add CLI tests, `-h` and `--help` output at a minimum (recommendation: [trycmd](https://docs.rs/trycmd/) for snapshot testing) 2. Update your dependency 1. *If you use `no-default-features`:* add the `std` feature 3. Resolve compiler errors 4. Resolve behavior changes 1. Refactor your `App` creation to a function and add a test similar to the one below, resolving any of its assertions 2. Look over the "subtle changes" under BREAKING CHANGES 3. *If using builder:* test your application under various circumstances to see if `ArgMatches` asserts regarding `AllowInvalidUtf8`. 5. *At your leisure:* resolve deprecation notices Example test: ```rust fn app() -> clap::App<'static> { ... } #[test] fn verify_app() { app().debug_assert(); } ``` **From structopt 0.3.25** 1. Add CLI tests, `-h` and `--help` output at a minimum (recommendation: [trycmd](https://docs.rs/trycmd/) for snapshot testing) 2. Replace your dependency from `structopt = "..."` to `clap = { version = "3.0", features = ["derive"] }` 1. *If you use `no-default-features`:* add the `std` feature 3. Resolve compiler errors, including 1. Update your `use` statements from `structopt` and `structopt::clap` to `clap` 4. Resolve behavior changes 1. Add a test similar to the one below, resolving any of its assertions 2. Look over the "subtle changes" under BREAKING CHANGES 5. *At your leisure:* resolve deprecation notices Example test: ```rust #[derive(clap::StructOpt)] struct Args { ... } #[test] fn verify_app() { use clap::IntoApp; Args::into_app().debug_assert() } ``` **From clap v3.0.0-beta.5** 1. Add CLI tests, `-h` and `--help` output at a minimum (recommendation: [trycmd](https://docs.rs/trycmd/) for snapshot testing) 2. Update your dependency 1. Add in `derive`, `env`, `cargo`, or `unicode` feature flags as needed 3. Resolve compiler errors 1. *If you use `yaml`, `clap_app!`, or usage parser:* revert any changes you made for clap3 2. Change `Arg::about` `Arg::long_about` back to `help` and `long_help` and change `PossibleValue::about` to `help` ([clap-rs/clap#​3075](https://togithub.com/clap-rs/clap/issues/3075)) 3. Change `AppSettings::HelpRequired` to `AppSettings::HelpExpected` 4. Change `PossibleValue::hidden` to `PossibleValue::hide` 5. Change `App::subcommand_placeholder` to `App::subcommand_value_name` / `App::subcommand_help_heading` 4. Resolve behavior changes 1. Add the above listed test appropriate for your application and resolve any problems it reports 2. *If using `derive`:* see the structopt breaking changes section for `Vec` changes 3. *If using builder:* test your application under various circumstances to see if `ArgMatches` asserts regarding `AllowInvalidUtf8`. 5. *At your leisure:* resolve deprecation notices ##### BREAKING CHANGES **From clap 2** Subtle changes (i.e. compiler won't catch): - `AppSettings::UnifiedHelpMessage` is now default behaviour - `{flags}` and `{unified}` will assert if present in `App::help_template` - See [clap-rs/clap#​2807](https://togithub.com/clap-rs/clap/issues/2807) - `AppSettings::EnableColoredHelp` is now the default behavior but can be opted-out with `AppSettings::DisableColoredHelp` ([clap-rs/clap#​2806](https://togithub.com/clap-rs/clap/issues/2806)) - `App::override_usage` no longer implies a leading `\t`, allowing multi lined usages - `Arg::require_equals` no longer implies `ArgSettings::ForbidEmptyValues` ([#​2233](https://togithub.com/clap-rs/clap/issues/2233)) - `Arg::require_delimiter` no longer implies `ArgSettings::TakesValue` and `ArgSettings::UseValueDelimiter` ([#​2233](https://togithub.com/clap-rs/clap/issues/2233)) - `Arg::env`, `Arg::env_os`, `Arg::last`, `Arg::require_equals`, `Arg::allow_hyphen_values`, `Arg::hide_possible_values`, `Arg::hide_default_value`, `Arg::hide_env_values`, `Arg::case_insensitive` and `Arg::multiple_values` no longer imply `ArgSettings::TakesValue` ([#​2233](https://togithub.com/clap-rs/clap/issues/2233)) - `ArgMatches::is_present` no longer checks subcommand names - Some env variable values are now considered false for flags, not just "not-present" ([clap-rs/clap#​2539](https://togithub.com/clap-rs/clap/issues/2539)) - Changed `...`s meaning in usage parser. Before, it always meant `multiple` which is still true for `--option [val]...`. Now `[name]... --option [val]` results in `ArgSettings::MultipleOccurrences`. - Usage exit code changed from `1` to `2` ([clap-rs/clap#​1327](https://togithub.com/clap-rs/clap/issues/1327)) - Reject `--foo=bar` when `takes_value(false)` ([clap-rs/clap#​1543](https://togithub.com/clap-rs/clap/issues/1543)) - No longer accept an arbitrary number of `-` for long arguments (`-----long`) Easier to catch changes: - When using `no-default-features`, you now have to specify the `std` feature (reserved for future work) - Gated env support behind `env` feature flag - Impacts `Arg::env`, `Arg::env_os`, `Arg::hide_env_values`, `ArgSettings::HideEnvValues` - See [clap-rs/clap#​2694](https://togithub.com/clap-rs/clap/pull/2694) - Gated crate information behind `cargo` feature flag - Impacts `crate_name!`, `crate_version!`, `crate_authors!`, `crate_description!`, `app_from_crate!` - `AppSettings::StrictUtf8` is now default behaviour and asserts if `AppSettings::AllowInvalidUtf8ForExternalSubcommands` and `ArgSettings::AllowInvalidUtf8` and `ArgMatches::value_of_os` aren't used together - `AppSettings::AllowInvalidUtf8` has been removed - [clap-rs/clap#​751](https://togithub.com/clap-rs/clap/issues/751) - `Arg::short` and `Arg::value_delimiter` now take a `char` instead of a `&str` - `ArgMatches` panics on unknown arguments - Removed `VersionlessSubcommands`, making it the default (see [clap-rs/clap#​2812](https://togithub.com/clap-rs/clap/issues/2812)) - Completion generation has been split out into [clap_complete](./clap_complete). - Removed `ArgSettings::EmptyValues` in favor of `ArgSettings::ForbidEmptyValues` - Validator signatures have been loosed: - `Arg::validator` now takes first argument as `Fn(&str) -> Result<O, E: ToString>` instead of `Fn(String) -> Result<(), String>` - `Arg::validator_os` now takes first argument as `Fn(&OsStr) -> Result<O, OsString>` instead of `Fn(&OsStr) -> Result<(), OsString>` - `Arg::value_name` now sets, rather than appends (see [clap-rs/clap#​2634](https://togithub.com/clap-rs/clap/issues/2634)) - Upgrade `yaml-rust` from 0.3 to 0.4 - Replaced `ArgGroup::from(BTreeMap)` to `ArgGroup::from(yaml)` - Replaced `ArgMatches::usage` with `App::generate_usage` - Replaced `Arg::settings` with `Arg::setting(Setting1 | Setting2)` - `App` and `Arg` now need only one lifetime - Removed deprecated `App::with_defaults`, replaced with `app_from_crate` - Removed deprecated `AppSettings::PropagateGlobalValuesDown` (now the default) - Some `App` functions, like `App::write_help` now take `&mut self` instead of `&self` - `Error::message` is now private, use `Error::to_string` - `Arg::default_value_if`, `Arg::default_value_if_os`, `Arg::default_value_ifs`, `Arg::default_value_ifs_os` now takes the default value parameter as an option ([clap-rs/clap#​1406](https://togithub.com/clap-rs/clap/issues/1406)) - Changed `App::print_help` & `App::print_long_help` to now return `std::io::Result` - Changed `App::write_help` & `App::write_long_help` to now return `std::io::Result` - Changed `Arg::index`, `Arg::number_of_values`, `Arg::min_values`, `Arg::max_values` to taking `usize` instead of u64 - Changed `Error::info` to type `Vec<String>` instead of `Option<Vec<String>>` - Changed `ArgMatches::subcommand` to now return `Option<(&str, &ArgMatches)>` - Renamed `ErrorKind::MissingArgumentOrSubcommand` to `ErrorKind::DisplayHelpOnMissingArgumentOrSubcommand` - Renamed `ErrorKind::HelpDisplayed` to `ErrorKind::DisplayHelp` - Renamed `ErrorKind::VersionDisplayed` to `ErrorKind::DisplayVersion` - Added `#[non_exhaustive]` to `clap::{ValueHint, ErrorKind, AppSettings, ArgSettings}` ([clap-rs/clap#​3167](https://togithub.com/clap-rs/clap/pull/3167)) **From structopt 0.3.25** - By default, the `App` isn't initialized with crate information anymore. Now opt-in via `#[clap(author)]`, `#[clap(about)]`, `#[clap(version)]` ([clap-rs/clap#​3034](https://togithub.com/clap-rs/clap/issues/3034)) - `#[clap(default_value)]` is replaced with `#[clap(default_value_t)]` ([clap-rs/clap#​1694](https://togithub.com/clap-rs/clap/issues/1694)) - Subcommands nested under subcommands now needs a `#[clap(subcommand)]` attribute ([clap-rs/clap#​2587](https://togithub.com/clap-rs/clap/pull/2587)) - `Vec<_>` and `Option<Vec<_>>` have changed from `multiple` to `multiple_occurrences` On top of the clap 2 changes ##### Performance **From clap 2** - Split out non-default `unicode` feature flag for faster builds and smaller binaries for ASCII-only CLIs. - Split out non-default `env` feature flag for faster builds and smaller binaries. ##### Features **From clap 2** - Integration of `structopt::StructOpt` via `clap::Parser` (requires `derive` feature flag) - Custom help headings - `App::help_heading` (apply to all future args) - `Arg::help_heading` (apply to current arg) - `App::subcommand_help_heading` along with `App::subcommand_value_name` (apply to subcommands) - See [clap-rs/clap#​805](https://togithub.com/clap-rs/clap/issues/805) - `AppSettings::UnifiedHelpMessage` is now default behaviour ([clap-rs/clap#​2807](https://togithub.com/clap-rs/clap/issues/2807)) - Deriving of `ArgEnum` for generating `Arg::possible_values` (requires `derive` feature flag) - Disable built-in help/version behavior with `AppSettings::NoAutoHelp` and `AppSettings::NoAutoVersion` - Change an existing arg with new builder method `mut_arg` (particularly helpful for `--help` and `--version`) - Provide extra context in long help messages (`--help`) with `before_long_help` and `after_long_help` ([clap-rs/clap#​1903](https://togithub.com/clap-rs/clap/issues/1903)) - Detect missing help descriptions via debug asserts by enabling `AppSettings::HelpExpected` - Aliases for short flags ([clap-rs/clap#​1896](https://togithub.com/clap-rs/clap/issues/1896)) - Validate UTF-8 values, rather than panicing during `ArgMatches::value_of` thanks to `AppSettings::AllowInvalidUtf8ForExternalSubcommands` and `ArgSettings::AllowInvalidUtf8` - Debug builds will assert when the `ArgMatches` calls do not match the UTF-8 setting. - See [clap-rs/clap#​751](https://togithub.com/clap-rs/clap/issues/751) - `clap::PossibleValue` to allow - Hiding ([clap-rs/clap#​2756](https://togithub.com/clap-rs/clap/issues/2756)) - Completion help for possible values for args ([clap-rs/clap#​2731](https://togithub.com/clap-rs/clap/issues/2731)) - Allow arguments to conflict with all others via `Arg::exclusive` ([clap-rs/clap#​1583](https://togithub.com/clap-rs/clap/issues/1583)) - Validate arguments with a regex (required `regex` feature flag) - See [clap-rs/clap](https://togithub.com/clap-rs/clap/issues/1968) - `Arg::default_missing_value` for cases like `--color[=<WHEN>]` ([clap-rs/clap#​1587](https://togithub.com/clap-rs/clap/pull/1587)) - `clap::App::color` / `clap::ColorChoice` to specify color setting for the app - Custom error reporting with `App::error` - `App::debug_assert` test helper - Replace `Arg::multiple(bool)` with `Arg::multiple_values` / `Arg::multiple_occurrences` - Positionals can be either - Added support for flag subcommands like pacman ([clap-rs/clap#​1361](https://togithub.com/clap-rs/clap/issues/1361)) - Partial parsing via `AppSettings::IgnoreErrors` ([clap-rs/clap#​1880](https://togithub.com/clap-rs/clap/issues/1880)) - Enable `cmd help` to print long help (`--help` instead of `-h`) with `AppSettings::UseLongFormatForHelpSubcommand` ([clap-rs/clap#​2435](https://togithub.com/clap-rs/clap/issues/2435)) - Allow long arg abbreviations like we do with subcommands via `AppSettings::InferLongArgs` ([clap-rs/clap#​2435](https://togithub.com/clap-rs/clap/issues/2435)) - Detect subcommands among positional arguments with `AppSettings::SubcommandPrecedenceOverArg` - Give completion scripts hints with `Arg::value_hint` ([clap-rs/clap#​1793](https://togithub.com/clap-rs/clap/pull/1793)) - Allow unsetting defaults with - `Arg::default_value_if`, `Arg::default_value_if_os`, `Arg::default_value_ifs`, `Arg::default_value_ifs_os` ([clap-rs/clap#​1406](https://togithub.com/clap-rs/clap/issues/1406)) - Interpret some env variable values as `false` for flags, in addition to "not-present" ([clap-rs/clap#​2539](https://togithub.com/clap-rs/clap/issues/2539)) - `n`, `no`, `f`, `false`, `off`, `0` - Added `arg!` macro for creating an `Arg` from a compile-time usage parser - *(Experimental)* Busybox-like multi-call support - See `AppSettings::Multicall` behind `unstable-multicall` feature flag - See [clap-rs/clap#​1120](https://togithub.com/clap-rs/clap/issues/1120) - *(Experimental)* Alias an argument to anything group of arguments - See `App::replace` behind `unstable-replace` feature flag - See [clap-rs#​1603](https://togithub.com/clap-rs/clap/issues/1603) - *(Experimental)* Grouping of multiple values within multiple occurrences - See `ArgMatches::grouped_values_of` behind `unstable-grouped` feature flag - See [clap-rs/clap#​1026](https://togithub.com/clap-rs/clap/issues/1026) **From structopt 0.3.25** - Allow defaulting with native types via new `default_value_t [= <expr>]` attribute ([clap-rs/clap#​1694](https://togithub.com/clap-rs/clap/issues/1694)) - New `update` API - New `arg_enum` attribute for integrating with `ArgEnum` trait On top of the clap 2 changes ##### Fixes **From clap 2** - Correctly handle colored output on Windows - Only generate version flags when `App::version`, `App::long_version` are set (see [clap-rs/clap#​2812](https://togithub.com/clap-rs/clap/issues/2812)) - General completion script improvements - Limited default help text wrapping to 100 when `wrap_help` feature is not enabled - Be more specific than `Arg::multiple` with `Arg::multiple_values` and `Arg::multiple_occurrences` - `app_from_crate!` defaults to separating multiple authors with `", "` - Ensure all examples work - `IgnoreCase` is now unicode aware (requires `unicode` feature flag) - Always respect `ColorChoice::Never`, even if that means we skip colors in some cases - `ArgMatches` panics on unknown arguments - Gracefully handle empty `authors` field in `Cargo.toml` with `app_from_crate` - Do not show `--help` in `cmd help` with `DisableHelpFlag` ([clap-rs/clap#​3169](https://togithub.com/clap-rs/clap/pull/3169)) - Do not show `--help` in `cmd help help` that doesn't work ([clap-rs/clap#​3169](https://togithub.com/clap-rs/clap/pull/3169)) **From structopt 0.3.25** - Support `SubcommandsNegateReqs` by allowing required `Option<_>`s ([clap-rs/clap#​2255](https://togithub.com/clap-rs/clap/issues/2255)) - Infer `AllowInvalidUtf8` based on parser ([clap-rs/clap#​751](https://togithub.com/clap-rs/clap/issues/2255)) - Gracefully handle empty `authors` field in `Cargo.toml` - Don't panic with `default_value_os` but treat it like `default_value` ([clap-rs/clap#​3031](https://togithub.com/clap-rs/clap/issues/3031)) - When using `flatten` and `subcommand`, ensure our doc comment always overrides the nested container's doc comment, whether it has only `about` or `about` and `long_about` ([clap-rs/clap#​3175](]https://togithub.com/clap-rs/clap/pull/3175)) On top of the clap 2 changes ##### Minimum Required Rust - As of this release, `clap` requires `rustc 1.54.0` or greater. ### [`v3.0.0-rc.13`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.12...v3.0.0-rc.13) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.12...v3.0.0-rc.13) ### [`v3.0.0-rc.12`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.11...v3.0.0-rc.12) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.11...v3.0.0-rc.12) ### [`v3.0.0-rc.11`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.10...v3.0.0-rc.11) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.10...v3.0.0-rc.11) ### [`v3.0.0-rc.10`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.9...v3.0.0-rc.10) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.9...v3.0.0-rc.10) ### [`v3.0.0-rc.9`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.8...v3.0.0-rc.9) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.8...v3.0.0-rc.9) ### [`v3.0.0-rc.8`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.7...v3.0.0-rc.8) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.7...v3.0.0-rc.8) ### [`v3.0.0-rc.7`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.6...v3.0.0-rc.7) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.6...v3.0.0-rc.7) ### [`v3.0.0-rc.6`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.5...v3.0.0-rc.6) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.5...v3.0.0-rc.6) ### [`v3.0.0-rc.5`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.4...v3.0.0-rc.5) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.4...v3.0.0-rc.5) ### [`v3.0.0-rc.4`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.3...v3.0.0-rc.4) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.3...v3.0.0-rc.4) ### [`v3.0.0-rc.3`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.2...v3.0.0-rc.3) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.2...v3.0.0-rc.3) ### [`v3.0.0-rc.2`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.1...v3.0.0-rc.2) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.1...v3.0.0-rc.2) ### [`v3.0.0-rc.1`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.0...v3.0.0-rc.1) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.0...v3.0.0-rc.1) ### [`v3.0.0-rc.0`](https://togithub.com/clap-rs/clap/compare/v3.0.0-beta.5...v3.0.0-rc.0) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-beta.5...v3.0.0-rc.0) ### [`v3.0.0-beta.5`](https://togithub.com/clap-rs/clap/compare/v3.0.0-beta.4...v3.0.0-beta.5) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-beta.4...v3.0.0-beta.5) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/jaysonsantos/kustomize-sops-rs). Co-authored-by: Renovate Bot <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR was included in a batch that timed out, it will be automatically retried |
bors bot
added a commit
that referenced
this pull request
Jun 23, 2022
23: fix(deps): update rust crate clap to 3.2.6 r=jaysonsantos a=renovate[bot] [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [clap](https://togithub.com/clap-rs/clap) | dependencies | minor | `3.0.0-beta.4` -> `3.2.6` | --- ### Release Notes <details> <summary>clap-rs/clap</summary> ### [`v3.2.6`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​326---2022-06-21) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.2.5...v3.2.6) ##### Fixes - Don't panic when parsing `--=` ### [`v3.2.5`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​325---2022-06-15) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.2.4...v3.2.5) ##### Fixes - *(derive)* Fix regression with `#[clap(default_value_os_t ...)]` introduced in v3.2.3 ### [`v3.2.4`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​324---2022-06-14) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.2.3...v3.2.4) ##### Fixes - *(derive)* Provide more clearer deprecation messages for `#[clap(parse)]` attribute ([#​3832](https://togithub.com/clap-rs/clap/issues/3832)) ### [`v3.2.3`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​323---2022-06-14) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.2.2...v3.2.3) ##### Fixes - Moved deprecations to be behind the `deprecated` Cargo.toml feature ([#​3830](https://togithub.com/clap-rs/clap/issues/3830)) - For now, it is disabled by default though we are considering enabling it by default as we release the next major version to help draw attention to the deprecation migration path ### [`v3.2.2`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​322---2022-06-14) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.2.1...v3.2.2) ##### Fixes - *(derive)* Improve the highlighted code for deprecation warnings **gated behind `unstable-v4`** - *(derive)* Default to `#[clap(value_parser, action)]` instead of `#[clap(parse)]` ([#​3827](https://togithub.com/clap-rs/clap/issues/3827)) ### [`v3.2.1`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​321---2022-06-13) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.2.0...v3.2.1) ### [`v3.2.0`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​320---2022-06-13) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.18...v3.2.0) ##### Compatibility MSRV is now 1.56.0 ([#​3732](https://togithub.com/clap-rs/clap/issues/3732)) Behavior - Defaults no longer satisfy `required` and its variants ([#​3793](https://togithub.com/clap-rs/clap/issues/3793)) - When misusing `ArgMatches::value_of` and friends, debug asserts were turned into panics Moving (old location deprecated) - `clap::{PossibleValue, ValueHint}` to `clap::builder::{PossibleValue, ValueHint}` - `clap::{Indices, OsValues, ValueSource, Values}` to `clap::parser::{Indices, OsValues, ValueSource, Values}` - `clap::ArgEnum` to `clap::ValueEnum` ([#​3799](https://togithub.com/clap-rs/clap/issues/3799)) Replaced - `Arg::allow_invalid_utf8` with `Arg::value_parser(value_parser!(PathBuf))` ([#​3753](https://togithub.com/clap-rs/clap/issues/3753)) - `Arg::validator` / `Arg::validator_os` with `Arg::value_parser` ([#​3753](https://togithub.com/clap-rs/clap/issues/3753)) - `Arg::validator_regex` with users providing their own `builder::TypedValueParser` ([#​3756](https://togithub.com/clap-rs/clap/issues/3756)) - `Arg::forbid_empty_values` with `builder::NonEmptyStringValueParser` / `builder::PathBufValueParser` ([#​3753](https://togithub.com/clap-rs/clap/issues/3753)) - `Arg::possible_values` with `Arg::value_parser([...])`, `builder::PossibleValuesParser`, or `builder::EnumValueParser` ([#​3753](https://togithub.com/clap-rs/clap/issues/3753)) - `Arg::max_occurrences` with `arg.action(ArgAction::Count).value_parser(value_parser!(u8).range(..N))` for flags ([#​3797](https://togithub.com/clap-rs/clap/issues/3797)) - `Arg::multiple_occurrences` with `ArgAction::Append` or `ArgAction::Count` though positionals will need `Arg::multiple_values` ([#​3772](https://togithub.com/clap-rs/clap/issues/3772), [#​3797](https://togithub.com/clap-rs/clap/issues/3797)) - `Command::args_override_self` with `ArgAction::Set` ([#​2627](https://togithub.com/clap-rs/clap/issues/2627), [#​3797](https://togithub.com/clap-rs/clap/issues/3797)) - `AppSettings::NoAutoVersion` with `ArgAction` or `Command::disable_version_flag` ([#​3800](https://togithub.com/clap-rs/clap/issues/3800)) - `AppSettings::NoHelpVersion` with `ArgAction` or `Command::disable_help_flag` / `Command::disable_help_subcommand` ([#​3800](https://togithub.com/clap-rs/clap/issues/3800)) - `ArgMatches::{value_of, value_of_os, value_of_os_lossy, value_of_t}` with `ArgMatches::{get_one,remove_one}` ([#​3753](https://togithub.com/clap-rs/clap/issues/3753)) - `ArgMatches::{values_of, values_of_os, values_of_os_lossy, values_of_t}` with `ArgMatches::{get_many,remove_many}` ([#​3753](https://togithub.com/clap-rs/clap/issues/3753)) - `ArgMatches::is_valid_arg` with `ArgMatches::{try_get_one,try_get_many}` ([#​3753](https://togithub.com/clap-rs/clap/issues/3753)) - `ArgMatches::occurrences_of` with `ArgMatches::value_source` or `ArgAction::Count` ([#​3797](https://togithub.com/clap-rs/clap/issues/3797)) - `ArgMatches::is_present` with `ArgMatches::contains_id` or `ArgAction::SetTrue` ([#​3797](https://togithub.com/clap-rs/clap/issues/3797)) - `ArgAction::StoreValue` with `ArgAction::Set` or `ArgAction::Append` ([#​3797](https://togithub.com/clap-rs/clap/issues/3797)) - `ArgAction::IncOccurrences` with `ArgAction::SetTrue` or `ArgAction::Count` ([#​3797](https://togithub.com/clap-rs/clap/issues/3797)) - *(derive)* `#[clap(parse(...))]` replaced with: ([#​3589](https://togithub.com/clap-rs/clap/issues/3589), [#​3794](https://togithub.com/clap-rs/clap/issues/3794)) - For default parsers (no `parse` attribute), deprecation warnings can be silenced by opting into the new behavior by adding either `#[clap(action)]` or `#[clap(value_parser)]` (ie requesting the default behavior for these attributes). Alternatively, the `unstable-v4` feature changes the default away from `parse` to `action`/`value_parser`. - For `#[clap(parse(from_flag))]` replaced with `#[clap(action = ArgAction::SetTrue)]` ([#​3794](https://togithub.com/clap-rs/clap/issues/3794)) - For `#[clap(parse(from_occurrences))]` replaced with `#[clap(action = ArgAction::Count)]` though the field's type must be `u8` ([#​3794](https://togithub.com/clap-rs/clap/issues/3794)) - For `#[clap(parse(from_os_str)]` for `PathBuf`, replace it with `#[clap(value_parser)]` (as mentioned earlier this will call `value_parser!(PathBuf)` which will auto-select the right `ValueParser` automatically). - For `#[clap(parse(try_from_str = ...)]`, replace it with `#[clap(value_parser = ...)]` - For most other cases, a type implementing `TypedValueParser` will be needed and specify it with `#[clap(value_parser = ...)]` ##### Features - Parsed, typed arguments via `Arg::value_parser` / `ArgMatches::{get_one,get_many}` ([#​2683](https://togithub.com/clap-rs/clap/issues/2683), [#​3732](https://togithub.com/clap-rs/clap/issues/3732)) - Several built-in `TypedValueParser`s available with an API open for expansion - `value_parser!(T)` macro for selecting a parser for a given type ([#​3732](https://togithub.com/clap-rs/clap/issues/3732)) and open to expansion via the `ValueParserFactory` trait ([#​3755](https://togithub.com/clap-rs/clap/issues/3755)) - `[&str]` is implicitly a value parser for possible values - All `ArgMatches` getters do not assume required arguments ([#​2505](https://togithub.com/clap-rs/clap/issues/2505)) - Add `ArgMatches::remove_*` variants to transfer ownership - Add `ArgMatches::try_*` variants to avoid panics for developer errors ([#​3621](https://togithub.com/clap-rs/clap/issues/3621)) - Add a `get_raw` to access the underlying `OsStr`s - `PathBuf` value parsers imply `ValueHint::AnyPath` for completions ([#​3732](https://togithub.com/clap-rs/clap/issues/3732)) - Explicit control over parsing via `Arg::action` ([#​3774](https://togithub.com/clap-rs/clap/issues/3774)) - `ArgAction::StoreValue`: existing `takes_value(true)` behavior - `ArgAction::IncOccurrences`: existing `takes_value(false)` behavior - `ArgAction::Help`: existing `--help` behavior - `ArgAction::Version`: existing `--version` behavior - `ArgAction::Set`: Overwrite existing values (like `Arg::multiple_occurrences` mixed with `Command::args_override_self`) ([#​3777](https://togithub.com/clap-rs/clap/issues/3777)) - `ArgAction::Append`: like `Arg::multiple_occurrences` ([#​3777](https://togithub.com/clap-rs/clap/issues/3777)) - `ArgAction::SetTrue`: Treat `--flag` as `--flag=true` ([#​3775](https://togithub.com/clap-rs/clap/issues/3775)) - Implies `Arg::default_value("false")` ([#​3786](https://togithub.com/clap-rs/clap/issues/3786)) - Parses `Arg::env` via `Arg::value_parser` - `ArgAction::SetFalse`: Treat `--flag` as `--flag=false` ([#​3775](https://togithub.com/clap-rs/clap/issues/3775)) - Implies `Arg::default_value("true")` ([#​3786](https://togithub.com/clap-rs/clap/issues/3786)) - Parses `Arg::env` via `Arg::value_parser` - `ArgAction::Count`: Treat `--flag --flag --flag` as `--flag=1 --flag=2 --flag=3` ([#​3775](https://togithub.com/clap-rs/clap/issues/3775)) - Implies `Arg::default_value("0")` ([#​3786](https://togithub.com/clap-rs/clap/issues/3786)) - Parses `Arg::env` via `Arg::value_parser` - *(derive)* Opt-in to new `Arg::value_parser` / `Arg::action` with either `#[clap(value_parser)]` ([#​3589](https://togithub.com/clap-rs/clap/issues/3589), [#​3742](https://togithub.com/clap-rs/clap/issues/3742)) / `#[clap(action)]` attributes ([#​3794](https://togithub.com/clap-rs/clap/issues/3794)) - Default `ValueParser` is determined by `value_parser!` ([#​3199](https://togithub.com/clap-rs/clap/issues/3199), [#​3496](https://togithub.com/clap-rs/clap/issues/3496)) - Default `ArgAction` is determine by a hard-coded lookup on the type ([#​3794](https://togithub.com/clap-rs/clap/issues/3794)) - `Command::multicall` is now stable for busybox-like programs and REPLs ([#​2861](https://togithub.com/clap-rs/clap/issues/2861), [#​3684](https://togithub.com/clap-rs/clap/issues/3684)) - `ArgMatches::{try_,}contains_id` for checking if there are values for an argument that mirrors the new `get_{one,many}` API ##### Fixes - Don't correct argument id in `default_value_ifs_os`([#​3815](https://togithub.com/clap-rs/clap/issues/3815)) *parser* - Set `ArgMatches::value_source` and `ArgMatches::occurrences_of` for external subcommands ([#​3732](https://togithub.com/clap-rs/clap/issues/3732)) - Use value delimiter for `Arg::default_missing_values` ([#​3761](https://togithub.com/clap-rs/clap/issues/3761), [#​3765](https://togithub.com/clap-rs/clap/issues/3765)) - Split`Arg::default_value` / `Arg::env` on value delimiters independent of whether `--` was used ([#​3765](https://togithub.com/clap-rs/clap/issues/3765)) - Allow applying defaults to flags ([#​3294](https://togithub.com/clap-rs/clap/issues/3294), 3775) - Defaults no longer satisfy `required` and its variants ([#​3793](https://togithub.com/clap-rs/clap/issues/3793)) ### [`v3.1.18`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3118---2022-05-10) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.17...v3.1.18) ##### Fixes - Fix deprecated `arg_enum!` for users migrating to clap3 ([#​3717](https://togithub.com/clap-rs/clap/issues/3717)) - Verify all `required_unless_present_all` arguments exist - Verify group members exist before processing group members ([#​3711](https://togithub.com/clap-rs/clap/issues/3711)) - *(help)* Use `...` when not enough `value_names` are supplied **gated behind `unstable-v4`** - Verify `required` is not used with conditional required settings ([#​3660](https://togithub.com/clap-rs/clap/issues/3660)) - Disallow more `value_names` than `number_of_values` ([#​2695](https://togithub.com/clap-rs/clap/issues/2695)) - *(parser)* Assert on unknown args when using external subcommands ([#​3703](https://togithub.com/clap-rs/clap/issues/3703)) - *(parser)* Always fill in `""` argument for external subcommands ([#​3263](https://togithub.com/clap-rs/clap/issues/3263)) - *(derive)* Detect escaped external subcommands that look like built-in subcommands ([#​3703](https://togithub.com/clap-rs/clap/issues/3703)) - *(derive)* Leave `Arg::id` as `verbatim` casing ([#​3282](https://togithub.com/clap-rs/clap/issues/3282)) ### [`v3.1.17`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3117---2022-05-06) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.16...v3.1.17) ##### Fixes - Allow value names for `arg!` macro to have dashes when quoted, like longs ### [`v3.1.16`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3116---2022-05-06) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.15...v3.1.16) ##### Fixes - *(parser)* `Arg::exclusive` overrides `Arg::required`, like other conflicts - *(error)* Don't duplicate arguments in usage - *(error)* Don't show hidden arguments in conflict error usage - *(help)* New `help_template` variable `{name}` to fix problems with `{bin}` - *(help)* Don't wrap URLs **gated behind `unstable-v4`** - Leading dashes in `Arg::long` are no longer allowed - *(help)* Use `Command::display_name` in the help title rather than `Command::bin_name` ### [`v3.1.15`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3115---2022-05-02) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.14...v3.1.15) ##### Fixes - *(error)* Render actual usage for unrecognized subcommands - *(multicall)* Improve bad command error - *(multicall)* Always require a multicall command - *(multicall)* Disallow arguments on multicall parent command - *(multicall)* More consistent with rest of clap errors ### [`v3.1.14`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3114---2022-05-01) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.13...v3.1.14) ##### Fixes - Panic when calling `Command::build` with a required positional argument nested several layers in subcommands ### [`v3.1.13`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3113---2022-04-30) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.12...v3.1.13) ##### Fixes - Help subcommand and `Command::write_help` now report required arguments in usage in more circumstances - Unknown subcommand for help subcommand flag now reports an error with more context - More details reported when using `debug` feature - Allow disabling `color` feature with `debug` feature enabled ### [`v3.1.12`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3112---2022-04-22) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.11...v3.1.12) ##### Fixes - Regression in 3.1.11 where the (output) streams were crossed ### [`v3.1.11`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3111---2022-04-22) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.10...v3.1.11) ##### Fixes - Implied conflicts override `Arg::required`, making the behavior consistent with how we calculate conflicts for error reporting - Members of a mutually exclusive `ArgGroup` override `Arg::required`, making the behavior consistent with how we calculate conflicts for error reporting - `Arg::overrides_with` always override `Arg::required`, not just when the parser processes an override ### [`v3.1.10`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3110---2022-04-19) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.9...v3.1.10) ##### Features - Expose `Command::build` for custom help generation or other command introspection needs ### [`v3.1.9`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​319---2022-04-15) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.8...v3.1.9) ##### Fixes - Pin the `clap_derive` version so a compatible version is always used with `clap` ### [`v3.1.8`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​318---2022-04-01) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.7...v3.1.8) ##### Fixes - Add `Debug` impls to more types ### [`v3.1.7`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​317---2022-03-31) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.6...v3.1.7) ##### Fixes - *(derive)* Abort, rather than ignore, when deriving `ArgEnum` with non-unit unskipped variants ### [`v3.1.6`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​316---2022-03-07) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.5...v3.1.6) ##### Fixes - Don't panic when validating delimited defaults ([#​3541](https://togithub.com/clap-rs/clap/issues/3541)) - Make it clearer that `cargo` feature is needed - Documentation improvements ### [`v3.1.5`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​315---2022-03-02) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.4...v3.1.5) ##### Fixes - Dependency upgrade ### [`v3.1.4`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​314---2022-03-02) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.3...v3.1.4) ##### Features - *(help)* Show `PossibleValue::help` in long help (`--help`) **(gated behind `unstable-v4`)** ([#​3312](https://togithub.com/clap-rs/clap/issues/3312)) ### [`v3.1.3`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​313---2022-02-28) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.2...v3.1.3) ##### Fixes - Don't panic when validating delimited defaults ([#​3514](https://togithub.com/clap-rs/clap/issues/3514)) ### [`v3.1.2`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​312---2022-02-23) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.1...v3.1.2) ##### Fixes - *(derive)* Allow other attribute with a subcommand that has subcommands ##### Documentation - *(examples)* List example topics - *(derive)* Clarify syntax and relation to builder API ### [`v3.1.1`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3118---2022-05-10) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.1.0...v3.1.1) ##### Fixes - Fix deprecated `arg_enum!` for users migrating to clap3 ([#​3717](https://togithub.com/clap-rs/clap/issues/3717)) - Verify all `required_unless_present_all` arguments exist - Verify group members exist before processing group members ([#​3711](https://togithub.com/clap-rs/clap/issues/3711)) - *(help)* Use `...` when not enough `value_names` are supplied **gated behind `unstable-v4`** - Verify `required` is not used with conditional required settings ([#​3660](https://togithub.com/clap-rs/clap/issues/3660)) - Disallow more `value_names` than `number_of_values` ([#​2695](https://togithub.com/clap-rs/clap/issues/2695)) - *(parser)* Assert on unknown args when using external subcommands ([#​3703](https://togithub.com/clap-rs/clap/issues/3703)) - *(parser)* Always fill in `""` argument for external subcommands ([#​3263](https://togithub.com/clap-rs/clap/issues/3263)) - *(derive)* Detect escaped external subcommands that look like built-in subcommands ([#​3703](https://togithub.com/clap-rs/clap/issues/3703)) - *(derive)* Leave `Arg::id` as `verbatim` casing ([#​3282](https://togithub.com/clap-rs/clap/issues/3282)) ### [`v3.1.0`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​310---2022-02-16) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.14...v3.1.0) ##### Compatibility Changes in behavior of note that are not guaranteed to be compatible across releases: - *(help)* `help` subcommand shows long help like `--help`, rather than short help (`-h`), deprecated `clap::AppSettings::UseLongFormatForHelpSubcommand` ([#​3440](https://togithub.com/clap-rs/clap/issues/3440)) - *(help)* Pacman-style subcommands are now ordered the same as usage errors ([#​3470](https://togithub.com/clap-rs/clap/issues/3470)) - *(help)* Pacman-style subcommands use standard alternate syntax in usage ([#​3470](https://togithub.com/clap-rs/clap/issues/3470)) ##### Deprecations - `clap::Command` is now preferred over `clap::App` ([#​3089](https://togithub.com/clap-rs/clap/issues/3089) in [#​3472](https://togithub.com/clap-rs/clap/issues/3472)) - `clap::command!` is now preferred over `clap::app_from_crate` ([#​3089](https://togithub.com/clap-rs/clap/issues/3089) in [#​3474](https://togithub.com/clap-rs/clap/issues/3474)) - `clap::CommandFactory::command` is now preferred over `clap::IntoApp::into_app` ([#​3089](https://togithub.com/clap-rs/clap/issues/3089) in [#​3473](https://togithub.com/clap-rs/clap/issues/3473)) - *(help)* `help` subcommand shows long help like `--help`, rather than short help (`-h`), deprecated `clap::AppSettings::UseLongFormatForHelpSubcommand` ([#​3440](https://togithub.com/clap-rs/clap/issues/3440)) - *(error)* Deprecate `clap::AppSettings::WaitOnError`, leaving it to the user to implement - *(validation)* `clap::Command::subcommand_required(true).arg_required_else_help(true)` is now preferred over `clap::AppSettings::SubcommandRequiredElseHelp` ([#​3280](https://togithub.com/clap-rs/clap/issues/3280)) - *(builder)* `clap::AppSettings` are nearly all deprecated and replaced with builder methods and getters ([#​2717](https://togithub.com/clap-rs/clap/issues/2717)) - *(builder)* `clap::ArgSettings` is deprecated and replaced with builder methods and getters ([#​2717](https://togithub.com/clap-rs/clap/issues/2717)) - *(builder)* `clap::Arg::id` and `clap::ArgGroup::id` are now preferred over `clap::Arg::name` and `clap::ArgGroup::name` ([#​3335](https://togithub.com/clap-rs/clap/issues/3335)) - *(help)* `clap::Command::next_help_heading` is now preferred over `clap::Command::help_heading` ([#​1807](https://togithub.com/clap-rs/clap/issues/1807), [#​1553](https://togithub.com/clap-rs/clap/issues/1553)) - *(error)* `clap::error::ErrorKind` is now preferred over `clap::ErrorKind` ([#​3395](https://togithub.com/clap-rs/clap/issues/3395)) - *(error)* `clap::Error::kind()` is now preferred over `clap::Error::kind` - *(error)* `clap::Error::context()` is now preferred over `clap::Error::info` ([#​2628](https://togithub.com/clap-rs/clap/issues/2628)) Note: All items deprecated in 3.0.0 are now hidden in the documentation. ([#​3458](https://togithub.com/clap-rs/clap/issues/3458)) ##### Features - *(matches)* Add `clap::ArgMatches::value_source` to determine what insert the value ([#​1345](https://togithub.com/clap-rs/clap/issues/1345)) - *(help)* Override derived display order with `clap::Command::next_display_order` ([#​1807](https://togithub.com/clap-rs/clap/issues/1807)) - *(error)* Show possible values when an argument doesn't have a value ([#​3320](https://togithub.com/clap-rs/clap/issues/3320)) - *(error)* New `clap::Error::context` API to open the door for fully-custom error messages ([#​2628](https://togithub.com/clap-rs/clap/issues/2628)) - *(error)* `clap::error::ErrorKind` now implements `Display` ##### Fixes - *(builder)* Some functions were renamed for consistency and fixing spelling issues - *(builder)* Allow `clap::Command::color` to override previous calls ([#​3449](https://togithub.com/clap-rs/clap/issues/3449)) - *(parse)* Propagate globals with multiple subcommands ([#​3428](https://togithub.com/clap-rs/clap/issues/3428)) - *(validation)* Give `ArgRequiredElseHelp` precedence over `SubcommandRequired` ([#​3456](https://togithub.com/clap-rs/clap/issues/3456)) - *(validation)* Default values no longer count as "present" for conflicts, requires, `clap::Command::arg_required_else_help`, etc ([#​3076](https://togithub.com/clap-rs/clap/issues/3076), [#​1264](https://togithub.com/clap-rs/clap/issues/1264)) - *(assert)* Report invalid defaults ([#​3202](https://togithub.com/clap-rs/clap/issues/3202)) - *(help)* Clarify how to handle `-h` conflicts ([#​3403](https://togithub.com/clap-rs/clap/issues/3403)) - *(help)* Make it easier to debug the addition of help flags ([#​3425](https://togithub.com/clap-rs/clap/issues/3425)) - *(help)* Pacman-style subcommands are now separated with spaces ([#​3470](https://togithub.com/clap-rs/clap/issues/3470)) - *(help)* Pacman-style subcommands are now ordered the same as usage errors ([#​3470](https://togithub.com/clap-rs/clap/issues/3470)) - *(help)* Pacman-style subcommands use standard alternate syntax in usage ([#​3470](https://togithub.com/clap-rs/clap/issues/3470)) - *(error)* Be consistent in showing of required attributes between errors / usage ([#​3390](https://togithub.com/clap-rs/clap/issues/3390)) - *(error)* Show user's order of possible values, like in `--help` ([#​1549](https://togithub.com/clap-rs/clap/issues/1549)) - *(error)* Allow customizing error type in `clap::error::Result` ([#​3395](https://togithub.com/clap-rs/clap/issues/3395)) ##### Performance - *(error)* Reduced stack size of `clap::Error` ([#​3395](https://togithub.com/clap-rs/clap/issues/3395)) ##### Documentation - *(builder)* Correct data take accepted for `clap::Arg::validator` - *(derive)* Clarify `parse` attribute - *(tutorial)* Demonstrate custom parsing - *(example)* Consistently list out required feature flags ([#​3448](https://togithub.com/clap-rs/clap/issues/3448)) ### [`v3.0.14`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3014---2022-02-01) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.13...v3.0.14) ##### Features - Added `ArgMatches::args_present()` to check if any args are present - Added `Error::kind()` as we work to deprecate direct member access for `Error` - Added `App::get_version` - Added `App::get_long_version` - Added `App::get_author` - Added `App::get_subcommand_help_heading` - Added `App::get_subcommand_value_name` - Added `App::get_after_help` - Added `App::get_after_long_help` ##### Performance - Misc binary size reductions ### [`v3.0.13`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3013---2022-01-26) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.12...v3.0.13) ##### Fixes - Show optional flag values wrapped in `[]` ### [`v3.0.12`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3012---2022-01-24) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.11...v3.0.12) ##### Features - *(derive)* Support for `default_value_os_t` ### [`v3.0.11`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3011---2022-01-24) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.10...v3.0.11) ##### Fixes - Ensure conflicts work when they target a group with a default value ### [`v3.0.10`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3010---2022-01-18) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.9...v3.0.10) ##### Fixes - Resolve `panic!` from v3.0.8 when using `global_setting(PropagateVersion)`. ### [`v3.0.9`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​309---2022-01-17) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.8...v3.0.9) ##### Features - Added `App::find_subcommand_mut` ### [`v3.0.8`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​308---2022-01-17) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.7...v3.0.8) ##### Fixes - Respected `DisableColoredHelp` on `cmd help help` - Provide a little more context when completing arguments for `cmd help` - Provide more context for some asserts - Small documentation improvements ### [`v3.0.7`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​307---2022-01-12) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.6...v3.0.7) ##### Fixes - Shift more asserts from parsing to `App` building (ie will now run in `App::debug_assert`) **derive** - Documentation fixes ### [`v3.0.6`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​306---2022-01-10) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.5...v3.0.6) ##### Fixes **derive** - Don't assume user does `use clap::ArgEnum` ([#​3277](https://togithub.com/clap-rs/clap/issues/3277)) - Documentation fixes ### [`v3.0.5`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​305---2022-01-05) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.4...v3.0.5) ##### Fixes - Provide hack to workaround [inability to detect external subcommands aliasing when escaped](https://togithub.com/clap-rs/clap/issues/3263) ([#​3264](https://togithub.com/clap-rs/clap/issues/3264)) **docs:** - Cleaned up code blocks in tutorials ([#​3261](https://togithub.com/clap-rs/clap/issues/3261)) - Clean up quotes in `ArgMatches` asserts - List correct replacement for deprecated `Parser::from_clap` ([#​3257](https://togithub.com/clap-rs/clap/issues/3257)) ### [`v3.0.4`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​304---2022-01-04) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.3...v3.0.4) ##### Features - For very limited cases, like `cargo`, expose `ArgMatches::is_valid_arg` to avoid panicing on undefined arguments ### [`v3.0.3`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​303---2022-01-04) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.2...v3.0.3) ##### Fixes - Specify cause of debug assert failure ### [`v3.0.2`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​302---2022-01-04) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.1...v3.0.2) ##### Fixes - Ignore `Last` when checking hyphen values (see [#​3249](https://togithub.com/clap-rs/clap/issues/3249) for details) - Help catch bugs with `#[must_use]` ### [`v3.0.1`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​3014---2022-02-01) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0...v3.0.1) ##### Features - Added `ArgMatches::args_present()` to check if any args are present - Added `Error::kind()` as we work to deprecate direct member access for `Error` - Added `App::get_version` - Added `App::get_long_version` - Added `App::get_author` - Added `App::get_subcommand_help_heading` - Added `App::get_subcommand_value_name` - Added `App::get_after_help` - Added `App::get_after_long_help` ##### Performance - Misc binary size reductions ### [`v3.0.0`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#​300---2021-12-31) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.13...v3.0.0) **Note:** clap v3 has been in development for several years and has changed hands multiple times. Unfortunately, our changelog might be incomplete, whether in changes or their motivation. ##### Highlights A special thanks to the maintainers, contributors, beta users, and sponsors who have helped along this journey, especially kbknapp. **[StructOpt](https://docs.rs/structopt/) Integration** [StructOpt](https://docs.rs/structopt/) provides a serde-like declarative approach to defining your parser. The main benefits we've seen so far from integrating are: - Tighter feedback between the design of clap and the derives - More universal traits. Crates exist for common CLI patterns ([example](https://togithub.com/rust-cli/clap-verbosity-flag)) and we've re-designed the `StructOpt` traits so crates built on clap3 can be reused not just with other derives but also people using the builder API. People can even hand implement these so people using the builder API won't have the pay the cost for derives. **Custom Help Headings** Previously, clap automatically grouped arguments in the help as either `ARGS`, `FLAGS`, `OPTIONS`, and `SUBCOMMANDS`. You can now override the default group with `Arg::help_heading` and `App::subcommand_help_heading`. To apply a heading to a series of arguments, you can set `App::help_heading`. **Deprecations** While a lot of deprecations have been added to clean up the API (overloaded meaning of `Arg::multiple`) or make things more consistent, some particular highlights are: - `clap_app!` has been deprecated in favor of the builder API with `arg!` ([clap-rs/clap#​2835](https://togithub.com/clap-rs/clap/issues/2835)) - `Arg::from_usage` has been deprecated in favor of `arg!` ([clap-rs/clap#​3087](https://togithub.com/clap-rs/clap/issues/3087)) - [Porting example](https://togithub.com/clap-rs/clap/commit/4c4a2b86a08ef9e2d63010aab4909dd5a013dfb0) - The YAML API has been deprecated in favor the builder or derive APIs ([clap-rs/clap#​3087](https://togithub.com/clap-rs/clap/issues/3087)) ##### Migrating **From clap v2** 1. Add CLI tests, `-h` and `--help` output at a minimum (recommendation: [trycmd](https://docs.rs/trycmd/) for snapshot testing) 2. Update your dependency 1. *If you use `no-default-features`:* add the `std` feature 3. Resolve compiler errors 4. Resolve behavior changes 1. Refactor your `App` creation to a function and add a test similar to the one below, resolving any of its assertions 2. Look over the "subtle changes" under BREAKING CHANGES 3. *If using builder:* test your application under various circumstances to see if `ArgMatches` asserts regarding `AllowInvalidUtf8`. 5. *At your leisure:* resolve deprecation notices Example test: ```rust fn app() -> clap::App<'static> { ... } #[test] fn verify_app() { app().debug_assert(); } ``` **From structopt 0.3.25** 1. Add CLI tests, `-h` and `--help` output at a minimum (recommendation: [trycmd](https://docs.rs/trycmd/) for snapshot testing) 2. Replace your dependency from `structopt = "..."` to `clap = { version = "3.0", features = ["derive"] }` 1. *If you use `no-default-features`:* add the `std` feature 3. Resolve compiler errors, including 1. Update your `use` statements from `structopt` and `structopt::clap` to `clap` 4. Resolve behavior changes 1. Add a test similar to the one below, resolving any of its assertions 2. Look over the "subtle changes" under BREAKING CHANGES 5. *At your leisure:* resolve deprecation notices Example test: ```rust #[derive(clap::StructOpt)] struct Args { ... } #[test] fn verify_app() { use clap::IntoApp; Args::into_app().debug_assert() } ``` **From clap v3.0.0-beta.5** 1. Add CLI tests, `-h` and `--help` output at a minimum (recommendation: [trycmd](https://docs.rs/trycmd/) for snapshot testing) 2. Update your dependency 1. Add in `derive`, `env`, `cargo`, or `unicode` feature flags as needed 3. Resolve compiler errors 1. *If you use `yaml`, `clap_app!`, or usage parser:* revert any changes you made for clap3 2. Change `Arg::about` `Arg::long_about` back to `help` and `long_help` and change `PossibleValue::about` to `help` ([clap-rs/clap#​3075](https://togithub.com/clap-rs/clap/issues/3075)) 3. Change `AppSettings::HelpRequired` to `AppSettings::HelpExpected` 4. Change `PossibleValue::hidden` to `PossibleValue::hide` 5. Change `App::subcommand_placeholder` to `App::subcommand_value_name` / `App::subcommand_help_heading` 4. Resolve behavior changes 1. Add the above listed test appropriate for your application and resolve any problems it reports 2. *If using `derive`:* see the structopt breaking changes section for `Vec` changes 3. *If using builder:* test your application under various circumstances to see if `ArgMatches` asserts regarding `AllowInvalidUtf8`. 5. *At your leisure:* resolve deprecation notices ##### BREAKING CHANGES **From clap 2** Subtle changes (i.e. compiler won't catch): - `AppSettings::UnifiedHelpMessage` is now default behaviour - `{flags}` and `{unified}` will assert if present in `App::help_template` - See [clap-rs/clap#​2807](https://togithub.com/clap-rs/clap/issues/2807) - `AppSettings::EnableColoredHelp` is now the default behavior but can be opted-out with `AppSettings::DisableColoredHelp` ([clap-rs/clap#​2806](https://togithub.com/clap-rs/clap/issues/2806)) - `App::override_usage` no longer implies a leading `\t`, allowing multi lined usages - `Arg::require_equals` no longer implies `ArgSettings::ForbidEmptyValues` ([#​2233](https://togithub.com/clap-rs/clap/issues/2233)) - `Arg::require_delimiter` no longer implies `ArgSettings::TakesValue` and `ArgSettings::UseValueDelimiter` ([#​2233](https://togithub.com/clap-rs/clap/issues/2233)) - `Arg::env`, `Arg::env_os`, `Arg::last`, `Arg::require_equals`, `Arg::allow_hyphen_values`, `Arg::hide_possible_values`, `Arg::hide_default_value`, `Arg::hide_env_values`, `Arg::case_insensitive` and `Arg::multiple_values` no longer imply `ArgSettings::TakesValue` ([#​2233](https://togithub.com/clap-rs/clap/issues/2233)) - `ArgMatches::is_present` no longer checks subcommand names - Some env variable values are now considered false for flags, not just "not-present" ([clap-rs/clap#​2539](https://togithub.com/clap-rs/clap/issues/2539)) - Changed `...`s meaning in usage parser. Before, it always meant `multiple` which is still true for `--option [val]...`. Now `[name]... --option [val]` results in `ArgSettings::MultipleOccurrences`. - Usage exit code changed from `1` to `2` ([clap-rs/clap#​1327](https://togithub.com/clap-rs/clap/issues/1327)) - Reject `--foo=bar` when `takes_value(false)` ([clap-rs/clap#​1543](https://togithub.com/clap-rs/clap/issues/1543)) - No longer accept an arbitrary number of `-` for long arguments (`-----long`) Easier to catch changes: - When using `no-default-features`, you now have to specify the `std` feature (reserved for future work) - Gated env support behind `env` feature flag - Impacts `Arg::env`, `Arg::env_os`, `Arg::hide_env_values`, `ArgSettings::HideEnvValues` - See [clap-rs/clap#​2694](https://togithub.com/clap-rs/clap/pull/2694) - Gated crate information behind `cargo` feature flag - Impacts `crate_name!`, `crate_version!`, `crate_authors!`, `crate_description!`, `app_from_crate!` - `AppSettings::StrictUtf8` is now default behaviour and asserts if `AppSettings::AllowInvalidUtf8ForExternalSubcommands` and `ArgSettings::AllowInvalidUtf8` and `ArgMatches::value_of_os` aren't used together - `AppSettings::AllowInvalidUtf8` has been removed - [clap-rs/clap#​751](https://togithub.com/clap-rs/clap/issues/751) - `Arg::short` and `Arg::value_delimiter` now take a `char` instead of a `&str` - `ArgMatches` panics on unknown arguments - Removed `VersionlessSubcommands`, making it the default (see [clap-rs/clap#​2812](https://togithub.com/clap-rs/clap/issues/2812)) - Completion generation has been split out into [clap_complete](./clap_complete). - Removed `ArgSettings::EmptyValues` in favor of `ArgSettings::ForbidEmptyValues` - Validator signatures have been loosed: - `Arg::validator` now takes first argument as `Fn(&str) -> Result<O, E: ToString>` instead of `Fn(String) -> Result<(), String>` - `Arg::validator_os` now takes first argument as `Fn(&OsStr) -> Result<O, OsString>` instead of `Fn(&OsStr) -> Result<(), OsString>` - `Arg::value_name` now sets, rather than appends (see [clap-rs/clap#​2634](https://togithub.com/clap-rs/clap/issues/2634)) - Upgrade `yaml-rust` from 0.3 to 0.4 - Replaced `ArgGroup::from(BTreeMap)` to `ArgGroup::from(yaml)` - Replaced `ArgMatches::usage` with `App::generate_usage` - Replaced `Arg::settings` with `Arg::setting(Setting1 | Setting2)` - `App` and `Arg` now need only one lifetime - Removed deprecated `App::with_defaults`, replaced with `app_from_crate` - Removed deprecated `AppSettings::PropagateGlobalValuesDown` (now the default) - Some `App` functions, like `App::write_help` now take `&mut self` instead of `&self` - `Error::message` is now private, use `Error::to_string` - `Arg::default_value_if`, `Arg::default_value_if_os`, `Arg::default_value_ifs`, `Arg::default_value_ifs_os` now takes the default value parameter as an option ([clap-rs/clap#​1406](https://togithub.com/clap-rs/clap/issues/1406)) - Changed `App::print_help` & `App::print_long_help` to now return `std::io::Result` - Changed `App::write_help` & `App::write_long_help` to now return `std::io::Result` - Changed `Arg::index`, `Arg::number_of_values`, `Arg::min_values`, `Arg::max_values` to taking `usize` instead of u64 - Changed `Error::info` to type `Vec<String>` instead of `Option<Vec<String>>` - Changed `ArgMatches::subcommand` to now return `Option<(&str, &ArgMatches)>` - Renamed `ErrorKind::MissingArgumentOrSubcommand` to `ErrorKind::DisplayHelpOnMissingArgumentOrSubcommand` - Renamed `ErrorKind::HelpDisplayed` to `ErrorKind::DisplayHelp` - Renamed `ErrorKind::VersionDisplayed` to `ErrorKind::DisplayVersion` - Added `#[non_exhaustive]` to `clap::{ValueHint, ErrorKind, AppSettings, ArgSettings}` ([clap-rs/clap#​3167](https://togithub.com/clap-rs/clap/pull/3167)) **From structopt 0.3.25** - By default, the `App` isn't initialized with crate information anymore. Now opt-in via `#[clap(author)]`, `#[clap(about)]`, `#[clap(version)]` ([clap-rs/clap#​3034](https://togithub.com/clap-rs/clap/issues/3034)) - `#[clap(default_value)]` is replaced with `#[clap(default_value_t)]` ([clap-rs/clap#​1694](https://togithub.com/clap-rs/clap/issues/1694)) - Subcommands nested under subcommands now needs a `#[clap(subcommand)]` attribute ([clap-rs/clap#​2587](https://togithub.com/clap-rs/clap/pull/2587)) - `Vec<_>` and `Option<Vec<_>>` have changed from `multiple` to `multiple_occurrences` On top of the clap 2 changes ##### Performance **From clap 2** - Split out non-default `unicode` feature flag for faster builds and smaller binaries for ASCII-only CLIs. - Split out non-default `env` feature flag for faster builds and smaller binaries. ##### Features **From clap 2** - Integration of `structopt::StructOpt` via `clap::Parser` (requires `derive` feature flag) - Custom help headings - `App::help_heading` (apply to all future args) - `Arg::help_heading` (apply to current arg) - `App::subcommand_help_heading` along with `App::subcommand_value_name` (apply to subcommands) - See [clap-rs/clap#​805](https://togithub.com/clap-rs/clap/issues/805) - `AppSettings::UnifiedHelpMessage` is now default behaviour ([clap-rs/clap#​2807](https://togithub.com/clap-rs/clap/issues/2807)) - Deriving of `ArgEnum` for generating `Arg::possible_values` (requires `derive` feature flag) - Disable built-in help/version behavior with `AppSettings::NoAutoHelp` and `AppSettings::NoAutoVersion` - Change an existing arg with new builder method `mut_arg` (particularly helpful for `--help` and `--version`) - Provide extra context in long help messages (`--help`) with `before_long_help` and `after_long_help` ([clap-rs/clap#​1903](https://togithub.com/clap-rs/clap/issues/1903)) - Detect missing help descriptions via debug asserts by enabling `AppSettings::HelpExpected` - Aliases for short flags ([clap-rs/clap#​1896](https://togithub.com/clap-rs/clap/issues/1896)) - Validate UTF-8 values, rather than panicing during `ArgMatches::value_of` thanks to `AppSettings::AllowInvalidUtf8ForExternalSubcommands` and `ArgSettings::AllowInvalidUtf8` - Debug builds will assert when the `ArgMatches` calls do not match the UTF-8 setting. - See [clap-rs/clap#​751](https://togithub.com/clap-rs/clap/issues/751) - `clap::PossibleValue` to allow - Hiding ([clap-rs/clap#​2756](https://togithub.com/clap-rs/clap/issues/2756)) - Completion help for possible values for args ([clap-rs/clap#​2731](https://togithub.com/clap-rs/clap/issues/2731)) - Allow arguments to conflict with all others via `Arg::exclusive` ([clap-rs/clap#​1583](https://togithub.com/clap-rs/clap/issues/1583)) - Validate arguments with a regex (required `regex` feature flag) - See [clap-rs/clap](https://togithub.com/clap-rs/clap/issues/1968) - `Arg::default_missing_value` for cases like `--color[=<WHEN>]` ([clap-rs/clap#​1587](https://togithub.com/clap-rs/clap/pull/1587)) - `clap::App::color` / `clap::ColorChoice` to specify color setting for the app - Custom error reporting with `App::error` - `App::debug_assert` test helper - Replace `Arg::multiple(bool)` with `Arg::multiple_values` / `Arg::multiple_occurrences` - Positionals can be either - Added support for flag subcommands like pacman ([clap-rs/clap#​1361](https://togithub.com/clap-rs/clap/issues/1361)) - Partial parsing via `AppSettings::IgnoreErrors` ([clap-rs/clap#​1880](https://togithub.com/clap-rs/clap/issues/1880)) - Enable `cmd help` to print long help (`--help` instead of `-h`) with `AppSettings::UseLongFormatForHelpSubcommand` ([clap-rs/clap#​2435](https://togithub.com/clap-rs/clap/issues/2435)) - Allow long arg abbreviations like we do with subcommands via `AppSettings::InferLongArgs` ([clap-rs/clap#​2435](https://togithub.com/clap-rs/clap/issues/2435)) - Detect subcommands among positional arguments with `AppSettings::SubcommandPrecedenceOverArg` - Give completion scripts hints with `Arg::value_hint` ([clap-rs/clap#​1793](https://togithub.com/clap-rs/clap/pull/1793)) - Allow unsetting defaults with - `Arg::default_value_if`, `Arg::default_value_if_os`, `Arg::default_value_ifs`, `Arg::default_value_ifs_os` ([clap-rs/clap#​1406](https://togithub.com/clap-rs/clap/issues/1406)) - Interpret some env variable values as `false` for flags, in addition to "not-present" ([clap-rs/clap#​2539](https://togithub.com/clap-rs/clap/issues/2539)) - `n`, `no`, `f`, `false`, `off`, `0` - Added `arg!` macro for creating an `Arg` from a compile-time usage parser - *(Experimental)* Busybox-like multi-call support - See `AppSettings::Multicall` behind `unstable-multicall` feature flag - See [clap-rs/clap#​1120](https://togithub.com/clap-rs/clap/issues/1120) - *(Experimental)* Alias an argument to anything group of arguments - See `App::replace` behind `unstable-replace` feature flag - See [clap-rs#​1603](https://togithub.com/clap-rs/clap/issues/1603) - *(Experimental)* Grouping of multiple values within multiple occurrences - See `ArgMatches::grouped_values_of` behind `unstable-grouped` feature flag - See [clap-rs/clap#​1026](https://togithub.com/clap-rs/clap/issues/1026) **From structopt 0.3.25** - Allow defaulting with native types via new `default_value_t [= <expr>]` attribute ([clap-rs/clap#​1694](https://togithub.com/clap-rs/clap/issues/1694)) - New `update` API - New `arg_enum` attribute for integrating with `ArgEnum` trait On top of the clap 2 changes ##### Fixes **From clap 2** - Correctly handle colored output on Windows - Only generate version flags when `App::version`, `App::long_version` are set (see [clap-rs/clap#​2812](https://togithub.com/clap-rs/clap/issues/2812)) - General completion script improvements - Limited default help text wrapping to 100 when `wrap_help` feature is not enabled - Be more specific than `Arg::multiple` with `Arg::multiple_values` and `Arg::multiple_occurrences` - `app_from_crate!` defaults to separating multiple authors with `", "` - Ensure all examples work - `IgnoreCase` is now unicode aware (requires `unicode` feature flag) - Always respect `ColorChoice::Never`, even if that means we skip colors in some cases - `ArgMatches` panics on unknown arguments - Gracefully handle empty `authors` field in `Cargo.toml` with `app_from_crate` - Do not show `--help` in `cmd help` with `DisableHelpFlag` ([clap-rs/clap#​3169](https://togithub.com/clap-rs/clap/pull/3169)) - Do not show `--help` in `cmd help help` that doesn't work ([clap-rs/clap#​3169](https://togithub.com/clap-rs/clap/pull/3169)) **From structopt 0.3.25** - Support `SubcommandsNegateReqs` by allowing required `Option<_>`s ([clap-rs/clap#​2255](https://togithub.com/clap-rs/clap/issues/2255)) - Infer `AllowInvalidUtf8` based on parser ([clap-rs/clap#​751](https://togithub.com/clap-rs/clap/issues/2255)) - Gracefully handle empty `authors` field in `Cargo.toml` - Don't panic with `default_value_os` but treat it like `default_value` ([clap-rs/clap#​3031](https://togithub.com/clap-rs/clap/issues/3031)) - When using `flatten` and `subcommand`, ensure our doc comment always overrides the nested container's doc comment, whether it has only `about` or `about` and `long_about` ([clap-rs/clap#​3175](]https://togithub.com/clap-rs/clap/pull/3175)) On top of the clap 2 changes ##### Minimum Required Rust - As of this release, `clap` requires `rustc 1.54.0` or greater. ### [`v3.0.0-rc.13`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.12...v3.0.0-rc.13) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.12...v3.0.0-rc.13) ### [`v3.0.0-rc.12`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.11...v3.0.0-rc.12) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.11...v3.0.0-rc.12) ### [`v3.0.0-rc.11`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.10...v3.0.0-rc.11) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.10...v3.0.0-rc.11) ### [`v3.0.0-rc.10`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.9...v3.0.0-rc.10) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.9...v3.0.0-rc.10) ### [`v3.0.0-rc.9`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.8...v3.0.0-rc.9) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.8...v3.0.0-rc.9) ### [`v3.0.0-rc.8`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.7...v3.0.0-rc.8) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.7...v3.0.0-rc.8) ### [`v3.0.0-rc.7`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.6...v3.0.0-rc.7) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.6...v3.0.0-rc.7) ### [`v3.0.0-rc.6`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.5...v3.0.0-rc.6) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.5...v3.0.0-rc.6) ### [`v3.0.0-rc.5`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.4...v3.0.0-rc.5) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.4...v3.0.0-rc.5) ### [`v3.0.0-rc.4`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.3...v3.0.0-rc.4) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.3...v3.0.0-rc.4) ### [`v3.0.0-rc.3`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.2...v3.0.0-rc.3) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.2...v3.0.0-rc.3) ### [`v3.0.0-rc.2`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.1...v3.0.0-rc.2) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.1...v3.0.0-rc.2) ### [`v3.0.0-rc.1`](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.0...v3.0.0-rc.1) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-rc.0...v3.0.0-rc.1) ### [`v3.0.0-rc.0`](https://togithub.com/clap-rs/clap/compare/v3.0.0-beta.5...v3.0.0-rc.0) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-beta.5...v3.0.0-rc.0) ### [`v3.0.0-beta.5`](https://togithub.com/clap-rs/clap/compare/v3.0.0-beta.4...v3.0.0-beta.5) [Compare Source](https://togithub.com/clap-rs/clap/compare/v3.0.0-beta.4...v3.0.0-beta.5) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/jaysonsantos/kustomize-sops-rs). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Timed out. |
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.2.6
fix(deps): update Rust crate clap to 3.2.6
Jun 27, 2022
renovate
bot
changed the title
fix(deps): update Rust crate clap to 3.2.6
fix(deps): update rust crate clap to 3.2.6
Jun 28, 2022
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
June 28, 2022 13:59
4965794
to
8bd108b
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.2.6
fix(deps): update rust crate clap to 3.2.7
Jun 28, 2022
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
June 30, 2022 13:53
8bd108b
to
3309948
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.2.7
fix(deps): update rust crate clap to 3.2.8
Jun 30, 2022
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
July 12, 2022 03:57
3309948
to
c239a39
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.2.8
fix(deps): update rust crate clap to 3.2.10
Jul 12, 2022
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
July 13, 2022 17:56
c239a39
to
dd9422f
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.2.10
fix(deps): update rust crate clap to 3.2.11
Jul 13, 2022
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
September 25, 2022 20:33
dd9422f
to
682f866
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.2.11
fix(deps): update rust crate clap to 3.2.22
Sep 25, 2022
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
November 20, 2022 16:47
682f866
to
e3ffdcb
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.2.22
fix(deps): update rust crate clap to 3.2.23
Nov 20, 2022
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
March 16, 2023 17:52
e3ffdcb
to
03906a1
Compare
renovate
bot
force-pushed
the
renovate/clap-3.x
branch
from
May 28, 2023 12:17
03906a1
to
992136c
Compare
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.2.23
fix(deps): update rust crate clap to 3.2.25
May 28, 2023
renovate
bot
changed the title
fix(deps): update rust crate clap to 3.2.25
fix(deps): update rust crate clap to 3.2.25 - autoclosed
Nov 28, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.0.0-beta.4
->3.2.25
Release Notes
clap-rs/clap (clap)
v3.2.25
Compare Source
[3.2.25] - 2023-04-27
Fixes
v3.2.24
Compare Source
[3.2.24] - 2023-04-25
Fixes
v3.2.23
Compare Source
[3.2.23] - 2022-10-24
Fixes
textwrap
0.16v3.2.22
Compare Source
[3.2.22] - 2022-09-16
Fixes
terminal_size
to the 0.2 releasev3.2.21
Compare Source
[3.2.21] - 2022-09-12
Features
TypedValueParser::map
to allow reusing existing value parsers for other purposesv3.2.20
Compare Source
[3.2.20] - 2022-09-02
Features
ArgMatches::get_count
help forArgAction::Count
ArgMatches::get_flag
help forArgAction::SetTrue
/ArgAction::SetFalse
v3.2.19
Compare Source
[3.2.19] - 2022-08-30
Fixes
args_conflicts_with_subcommand
v3.2.18
Compare Source
Fixes
Command::print_help
now respectsCommand::colored_help
v3.2.17
Compare Source
Fixes
#[clap(id = ...)]
attribute to match Arg's latest APIv3.2.16
Compare Source
Fixes
v3.2.15
Compare Source
Features
default_values_t
anddefault_values_os_t
attributesv3.2.14
Compare Source
Fixes
multiple_values
positional followed by another positional now works with multiple flagsv3.2.13
Compare Source
Documentation
v3.2.12
Compare Source
Fixes
v3.2.11
Compare Source
Features
Arg::get_all_short_aliaes
andArg::get_all_aliases
v3.2.10
Compare Source
Fixes
Command::mut_subcommand
v3.2.8
Compare Source
Features
Command::mut_subcommand
to mirrorCommand::mut_arg
v3.2.7
Compare Source
Fixes
v3.2.6
Compare Source
Fixes
--=
v3.2.5
Compare Source
Fixes
#[clap(default_value_os_t ...)]
introduced in v3.2.3v3.2.4
Compare Source
Fixes
#[clap(parse)]
attribute (#3832)v3.2.3
Compare Source
Fixes
deprecated
Cargo.toml feature (#3830)default as we release the next major version to help draw attention to the
deprecation migration path
v3.2.2
Compare Source
Fixes
gated behind
unstable-v4
#[clap(value_parser, action)]
instead of#[clap(parse)]
(#3827)v3.2.1
Compare Source
Fixes
Command::print_help
now respectsCommand::colored_help
v3.2.0
Compare Source
Compatibility
MSRV is now 1.56.0 (#3732)
Behavior
required
and its variants (#3793)ArgMatches::value_of
and friends, debug asserts were turned into panicsMoving (old location deprecated)
clap::{PossibleValue, ValueHint}
toclap::builder::{PossibleValue, ValueHint}
clap::{Indices, OsValues, ValueSource, Values}
toclap::parser::{Indices, OsValues, ValueSource, Values}
clap::ArgEnum
toclap::ValueEnum
(#3799)Replaced
Arg::allow_invalid_utf8
withArg::value_parser(value_parser!(PathBuf))
(#3753)Arg::validator
/Arg::validator_os
withArg::value_parser
(#3753)Arg::validator_regex
with users providing their ownbuilder::TypedValueParser
(#3756)Arg::forbid_empty_values
withbuilder::NonEmptyStringValueParser
/builder::PathBufValueParser
(#3753)Arg::possible_values
withArg::value_parser([...])
,builder::PossibleValuesParser
, orbuilder::EnumValueParser
(#3753)Arg::max_occurrences
witharg.action(ArgAction::Count).value_parser(value_parser!(u8).range(..N))
for flags (#3797)Arg::multiple_occurrences
withArgAction::Append
orArgAction::Count
though positionals will needArg::multiple_values
(#3772, #3797)Command::args_override_self
withArgAction::Set
(#2627, #3797)AppSettings::NoAutoVersion
withArgAction
orCommand::disable_version_flag
(#3800)AppSettings::NoHelpVersion
withArgAction
orCommand::disable_help_flag
/Command::disable_help_subcommand
(#3800)ArgMatches::{value_of, value_of_os, value_of_os_lossy, value_of_t}
withArgMatches::{get_one,remove_one}
(#3753)ArgMatches::{values_of, values_of_os, values_of_os_lossy, values_of_t}
withArgMatches::{get_many,remove_many}
(#3753)ArgMatches::is_valid_arg
withArgMatches::{try_get_one,try_get_many}
(#3753)ArgMatches::occurrences_of
withArgMatches::value_source
orArgAction::Count
(#3797)ArgMatches::is_present
withArgMatches::contains_id
orArgAction::SetTrue
(#3797)ArgAction::StoreValue
withArgAction::Set
orArgAction::Append
(#3797)ArgAction::IncOccurrences
withArgAction::SetTrue
orArgAction::Count
(#3797)#[clap(parse(...))]
replaced with: (#3589, #3794)parse
attribute), deprecation warnings can besilenced by opting into the new behavior by adding either
#[clap(action)]
or
#[clap(value_parser)]
(ie requesting the default behavior for theseattributes). Alternatively, the
unstable-v4
feature changes the defaultaway from
parse
toaction
/value_parser
.#[clap(parse(from_flag))]
replaced with#[clap(action = ArgAction::SetTrue)]
(#3794)#[clap(parse(from_occurrences))]
replaced with#[clap(action = ArgAction::Count)]
though the field's type must beu8
(#3794)#[clap(parse(from_os_str)]
forPathBuf
, replace it with#[clap(value_parser)]
(as mentioned earlier this will callvalue_parser!(PathBuf)
which will auto-select the rightValueParser
automatically).
#[clap(parse(try_from_str = ...)]
, replace it with#[clap(value_parser = ...)]
TypedValueParser
will be needed and specify it with#[clap(value_parser = ...)]
Features
Arg::value_parser
/ArgMatches::{get_one,get_many}
(#2683, #3732)TypedValueParser
s available with an API open for expansionvalue_parser!(T)
macro for selecting a parser for a given type (#3732) and open to expansion via theValueParserFactory
trait (#3755)[&str]
is implicitly a value parser for possible valuesArgMatches
getters do not assume required arguments (#2505)ArgMatches::remove_*
variants to transfer ownershipArgMatches::try_*
variants to avoid panics for developer errors (#3621)get_raw
to access the underlyingOsStr
sPathBuf
value parsers implyValueHint::AnyPath
for completions (#3732)Arg::action
(#3774)ArgAction::StoreValue
: existingtakes_value(true)
behaviorArgAction::IncOccurrences
: existingtakes_value(false)
behaviorArgAction::Help
: existing--help
behaviorArgAction::Version
: existing--version
behaviorArgAction::Set
: Overwrite existing values (likeArg::multiple_occurrences
mixed withCommand::args_override_self
) (#3777)ArgAction::Append
: likeArg::multiple_occurrences
(#3777)ArgAction::SetTrue
: Treat--flag
as--flag=true
(#3775)Arg::default_value("false")
(#3786)Arg::env
viaArg::value_parser
ArgAction::SetFalse
: Treat--flag
as--flag=false
(#3775)Arg::default_value("true")
(#3786)Arg::env
viaArg::value_parser
ArgAction::Count
: Treat--flag --flag --flag
as--flag=1 --flag=2 --flag=3
(#3775)Arg::default_value("0")
(#3786)Arg::env
viaArg::value_parser
Arg::value_parser
/Arg::action
with either#[clap(value_parser)]
(#3589, #3742) /#[clap(action)]
attributes (#3794)ValueParser
is determined byvalue_parser!
(#3199, #3496)ArgAction
is determine by a hard-coded lookup on the type (#3794)Command::multicall
is now stable for busybox-like programs and REPLs (#2861, #3684)ArgMatches::{try_,}contains_id
for checking if there are values for an argument that mirrors the newget_{one,many}
APIFixes
default_value_ifs_os
(#3815)parser
ArgMatches::value_source
andArgMatches::occurrences_of
for external subcommands (#3732)Arg::default_missing_values
(#3761, #3765)Arg::default_value
/Arg::env
on value delimiters independent of whether--
was used (#3765)required
and its variants (#3793)v3.1.18
Compare Source
Fixes
arg_enum!
for users migrating to clap3 (#3717)required_unless_present_all
arguments exist...
when not enoughvalue_names
are suppliedgated behind
unstable-v4
required
is not used with conditional required settings (#3660)value_names
thannumber_of_values
(#2695)""
argument for external subcommands (#3263)Arg::id
asverbatim
casing (#3282)v3.1.17
Compare Source
Fixes
arg!
macro to have dashes when quoted, like longsv3.1.16
Compare Source
Fixes
Arg::exclusive
overridesArg::required
, like other conflictshelp_template
variable{name}
to fix problems with{bin}
gated behind
unstable-v4
Arg::long
are no longer allowedCommand::display_name
in the help title rather thanCommand::bin_name
v3.1.15
Compare Source
Fixes
v3.1.14
Compare Source
Fixes
Command::build
with a required positional argument nested several layers in subcommandsv3.1.13
Compare Source
Fixes
Command::write_help
now report required arguments in usage in more circumstancesdebug
featurecolor
feature withdebug
feature enabledv3.1.12
Compare Source
Fixes
v3.1.11
Compare Source
Fixes
Arg::required
, making the behavior consistent with how we calculate conflicts for error reportingArgGroup
overrideArg::required
, making the behavior consistent with how we calculate conflicts for error reportingArg::overrides_with
always overrideArg::required
, not just when the parser processes an overridev3.1.10
Compare Source
Features
Command::build
for custom help generation or other command introspection needsv3.1.9
Compare Source
Fixes
clap_derive
version so a compatible version is always used withclap
v3.1.8
Compare Source
Fixes
Debug
impls to more typesv3.1.7
Compare Source
Fixes
ArgEnum
with non-unit unskipped variantsv3.1.6
Compare Source
Fixes
cargo
feature is neededv3.1.5
Compare Source
Fixes
v3.1.4
Compare Source
Features
PossibleValue::help
in long help (--help
) (gated behindunstable-v4
) (#3312)v3.1.3
Compare Source
Fixes
v3.1.2
Compare Source
Fixes
Documentation
v3.1.1
Compare Source
Fixes
arg_enum!
for users migrating to clap3 (#3717)required_unless_present_all
arguments exist...
when not enoughvalue_names
are suppliedgated behind
unstable-v4
required
is not used with conditional required settings (#3660)value_names
thannumber_of_values
(#2695)""
argument for external subcommands (#3263)Arg::id
asverbatim
casing (#3282)v3.1.0
Compare Source
Compatibility
Changes in behavior of note that are not guaranteed to be compatible across releases:
help
subcommand shows long help like--help
, rather than short help (-h
), deprecatedclap::AppSettings::UseLongFormatForHelpSubcommand
(#3440)Deprecations
clap::Command
is now preferred overclap::App
(#3089 in #3472)clap::command!
is now preferred overclap::app_from_crate
(#3089 in #3474)clap::CommandFactory::command
is now preferred overclap::IntoApp::into_app
(#3089 in #3473)help
subcommand shows long help like--help
, rather than short help (-h
), deprecatedclap::AppSettings::UseLongFormatForHelpSubcommand
(#3440)clap::AppSettings::WaitOnError
, leaving it to the user to implementclap::Command::subcommand_required(true).arg_required_else_help(true)
is now preferred overclap::AppSettings::SubcommandRequiredElseHelp
(#3280)clap::AppSettings
are nearly all deprecated and replaced with builder methods and getters (#2717)clap::ArgSettings
is deprecated and replaced with builder methods and getters (#2717)clap::Arg::id
andclap::ArgGroup::id
are now preferred overclap::Arg::name
andclap::ArgGroup::name
(#3335)clap::Command::next_help_heading
is now preferred overclap::Command::help_heading
(#1807, #1553)clap::error::ErrorKind
is now preferred overclap::ErrorKind
(#3395)clap::Error::kind()
is now preferred overclap::Error::kind
clap::Error::context()
is now preferred overclap::Error::info
(#2628)Note: All items deprecated in 3.0.0 are now hidden in the documentation. (#3458)
Features
clap::ArgMatches::value_source
to determine what insert the value (#1345)clap::Command::next_display_order
(#1807)clap::Error::context
API to open the door for fully-custom error messages (#2628)clap::error::ErrorKind
now implementsDisplay
Fixes
clap::Command::color
to override previous calls (#3449)ArgRequiredElseHelp
precedence overSubcommandRequired
(#3456)clap::Command::arg_required_else_help
, etc (#3076, #1264)-h
conflicts (#3403)--help
(#1549)clap::error::Result
(#3395)Performance
clap::Error
(#3395)Documentation
clap::Arg::validator
parse
attributev3.0.14
Compare Source
Features
ArgMatches::args_present()
to check if any args are presentError::kind()
as we work to deprecate direct member access forError
App::get_version
App::get_long_version
App::get_author
App::get_subcommand_help_heading
App::get_subcommand_value_name
App::get_after_help
App::get_after_long_help
Performance
v3.0.13
Compare Source
Fixes
[]
v3.0.12
Compare Source
Features
default_value_os_t
v3.0.11
Compare Source
Fixes
v3.0.10
Compare Source
Fixes
panic!
from v3.0.8 when usingglobal_setting(PropagateVersion)
.v3.0.9
Compare Source
Features
App::find_subcommand_mut
v3.0.8
Compare Source
Fixes
DisableColoredHelp
oncmd help help
cmd help
v3.0.7
Compare Source
Fixes
App
building (ie will now run inApp::debug_assert
)derive
v3.0.6
Compare Source
Fixes
derive
use clap::ArgEnum
(#3277)v3.0.5
Compare Source
Fixes
docs:
ArgMatches
assertsParser::from_clap
(#3257)v3.0.4
Compare Source
Features
cargo
, exposeArgMatches::is_valid_arg
to avoid panicing on undefined argumentsv3.0.3
Compare Source
Fixes
v3.0.2
Compare Source
Fixes
Last
when checking hyphen values (see #3249 for details)#[must_use]
v3.0.1
Compare Source
Features
ArgMatches::args_present()
to check if any args are presentError::kind()
as we work to deprecate direct member access forError
App::get_version
App::get_long_version
App::get_author
App::get_subcommand_help_heading
App::get_subcommand_value_name
App::get_after_help
App::get_after_long_help
Performance
v3.0.0
Compare Source
Note: clap v3 has been in development for several years and has changed
hands multiple times. Unfortunately, our changelog might be incomplete,
whether in changes or their motivation.
Highlights
A special thanks to the maintainers, contributors, beta users, and sponsors who
have helped along this journey, especially kbknapp.
StructOpt Integration
StructOpt provides a serde-like declarative
approach to defining your parser. The main benefits we've seen so far from integrating are:
(example)
and we've re-designed the
StructOpt
traits so crates built on clap3 can bereused not just with other derives but also people using the builder API.
People can even hand implement these so people using the builder API won't
have the pay the cost for derives.
Custom Help Headings
Previously, clap automatically grouped arguments in the help as either
ARGS
,FLAGS
,OPTIONS
, andSUBCOMMANDS
.You can now override the default group with
Arg::help_heading
andApp::subcommand_help_heading
. To apply a heading to a series of arguments,you can set
App::help_heading
.Deprecations
While a lot of deprecations have been added to clean up the API (overloaded
meaning of
Arg::multiple
) or make things more consistent, some particularhighlights are:
clap_app!
has been deprecated in favor of the builder API witharg!
(clap-rs/clap#2835)Arg::from_usage
has been deprecated in favor ofarg!
(clap-rs/clap#3087)Migrating
From clap v2
-h
and--help
output at a minimum (recommendation: trycmd for snapshot testing)no-default-features
: add thestd
featureApp
creation to a function and add a test similar to the one below, resolving any of its assertionsArgMatches
asserts regardingAllowInvalidUtf8
.Example test:
From structopt 0.3.25
-h
and--help
output at a minimum (recommendation: trycmd for snapshot testing)structopt = "..."
toclap = { version = "3.0", features = ["derive"] }
no-default-features
: add thestd
featureuse
statements fromstructopt
andstructopt::clap
toclap
Example test:
From clap v3.0.0-beta.5
-h
and--help
output at a minimum (recommendation: trycmd for snapshot testing)derive
,env
,cargo
, orunicode
feature flags as neededyaml
,clap_app!
, or usage parser: revert any changes you made for clap3Arg::about
Arg::long_about
back tohelp
andlong_help
and changePossibleValue::about
tohelp
(clap-rs/clap#3075)AppSettings::HelpRequired
toAppSettings::HelpExpected
PossibleValue::hidden
toPossibleValue::hide
App::subcommand_placeholder
toApp::subcommand_value_name
/App::subcommand_help_heading
derive
: see the structopt breaking changes section forVec
changesArgMatches
asserts regardingAllowInvalidUtf8
.BREAKING CHANGES
From clap 2
Subtle changes (i.e. compiler won't catch):
AppSettings::UnifiedHelpMessage
is now default behaviour{flags}
and{unified}
will assert if present inApp::help_template
AppSettings::EnableColoredHelp
is now the default behavior but can beopted-out with
AppSettings::DisableColoredHelp
(clap-rs/clap#2806)
App::override_usage
no longer implies a leading\t
, allowing multi lined usagesArg::require_equals
no longer impliesArgSettings::ForbidEmptyValues
(#2233)Arg::require_delimiter
no longer impliesArgSettings::TakesValue
andArgSettings::UseValueDelimiter
(#2233)Arg::env
,Arg::env_os
,Arg::last
,Arg::require_equals
,Arg::allow_hyphen_values
,Arg::hide_possible_values
,Arg::hide_default_value
,Arg::hide_env_values
,Arg::case_insensitive
andArg::multiple_values
no longer implyArgSettings::TakesValue
(#2233)ArgMatches::is_present
no longer checks subcommand names...
s meaning in usage parser. Before, it always meantmultiple
which is still true for--option [val]...
. Now[name]... --option [val]
results inArgSettings::MultipleOccurrences
.1
to2
(clap-rs/clap#1327)--foo=bar
whentakes_value(false)
(clap-rs/clap#1543)-
for long arguments (-----long
)Easier to catch changes:
no-default-features
, you now have to specify thestd
feature (reserved for future work)env
feature flagArg::env
,Arg::env_os
,Arg::hide_env_values
,ArgSettings::HideEnvValues
cargo
feature flagcrate_name!
,crate_version!
,crate_authors!
,crate_description!
,app_from_crate!
AppSettings::StrictUtf8
is now default behaviour and asserts ifAppSettings::AllowInvalidUtf8ForExternalSubcommands
andArgSettings::AllowInvalidUtf8
andArgMatches::value_of_os
aren't usedtogether
AppSettings::AllowInvalidUtf8
has been removedArg::short
andArg::value_delimiter
now take achar
instead of a&str
ArgMatches
panics on unknown argumentsVersionlessSubcommands
, making it the default (see clap-rs/clap#2812)ArgSettings::EmptyValues
in favor ofArgSettings::ForbidEmptyValues
Arg::validator
now takes first argument asFn(&str) -> Result<O, E: ToString>
instead ofFn(String) -> Result<(), String>
Arg::validator_os
now takes first argument asFn(&OsStr) -> Result<O, OsString>
instead ofFn(&OsStr) -> Result<(), OsString>
Arg::value_name
now sets, rather than appends (see clap-rs/clap#2634)yaml-rust
from 0.3 to 0.4ArgGroup::from(BTreeMap)
toArgGroup::from(yaml)
ArgMatches::usage
withApp::generate_usage
Arg::settings
withArg::setting(Setting1 | Setting2)
App
andArg
now need only one lifetimeApp::with_defaults
, replaced withapp_from_crate
AppSettings::PropagateGlobalValuesDown
(now the default)App
functions, likeApp::write_help
now take&mut self
instead of&self
Error::message
is now private, useError::to_string
Arg::default_value_if
,Arg::default_value_if_os
,Arg::default_value_ifs
,Arg::default_value_ifs_os
now takes the default value parameter as an option (clap-rs/clap#1406)App::print_help
&App::print_long_help
to now returnstd::io::Result
App::write_help
&App::write_long_help
to now returnstd::io::Result
Arg::index
,Arg::number_of_values
,Arg::min_values
,Arg::max_values
to takingusize
instead of u64Error::info
to typeVec<String>
instead ofOption<Vec<String>>
ArgMatches::subcommand
to now returnOption<(&str, &ArgMatches)>
ErrorKind::MissingArgumentOrSubcommand
toErrorKind::DisplayHelpOnMissingArgumentOrSubcommand
ErrorKind::HelpDisplayed
toErrorKind::DisplayHelp
ErrorKind::VersionDisplayed
toErrorKind::DisplayVersion
#[non_exhaustive]
toclap::{ValueHint, ErrorKind, AppSettings, ArgSettings}
(clap-rs/clap#3167)From structopt 0.3.25
App
isn't initialized with crate information anymore. Now opt-in via#[clap(author)]
,#[clap(about)]
,#[clap(version)]
(clap-rs/clap#3034)#[clap(default_value)]
is replaced with#[clap(default_value_t)]
(clap-rs/clap#1694)#[clap(subcommand)]
attribute (clap-rs/clap#2587)Vec<_>
andOption<Vec<_>>
have changed frommultiple
tomultiple_occurrences
On top of the clap 2 changes
Performance
From clap 2
unicode
feature flag for faster builds and smaller binaries for ASCII-only CLIs.env
feature flag for faster builds and smaller binaries.Features
From clap 2
Integration of
structopt::StructOpt
viaclap::Parser
(requiresderive
feature flag)Custom help headings
App::help_heading
(apply to all future args)Arg::help_heading
(apply to current arg)App::subcommand_help_heading
along withApp::subcommand_value_name
(apply to subcommands)AppSettings::UnifiedHelpMessage
is now default behaviour (clap-rs/clap#2807)Deriving of
ArgEnum
for generatingArg::possible_values
(requiresderive
feature flag)Disable built-in help/version behavior with
AppSettings::NoAutoHelp
andAppSettings::NoAutoVersion
Change an existing arg with new builder method
mut_arg
(particularly helpful for--help
and--version
)Provide extra context in long help messages (
--help
) withbefore_long_help
andafter_long_help
(clap-rs/clap#1903)Detect missing help descriptions via debug asserts by enabling
AppSettings::HelpExpected
Aliases for short flags (clap-rs/clap#1896)
Validate UTF-8 values, rather than panicing during
ArgMatches::value_of
thanks toAppSettings::AllowInvalidUtf8ForExternalSubcommands
andArgSettings::AllowInvalidUtf8
ArgMatches
calls do not match the UTF-8 setting.clap::PossibleValue
to allowAllow arguments to conflict with all others via
Arg::exclusive
(clap-rs/clap#1583)Validate arguments with a regex (required
regex
feature flag)Arg::default_missing_value
for cases like--color[=<WHEN>]
(clap-rs/clap#1587)clap::App::color
/clap::ColorChoice
to specify color setting for the appCustom error reporting with
App::error
App::debug_assert
test helperReplace
Arg::multiple(bool)
withArg::multiple_values
/Arg::multiple_occurrences
Added support for flag subcommands like pacman (clap-rs/clap#1361)
Partial parsing via
AppSettings::IgnoreErrors
(clap-rs/clap#1880)Enable
cmd help
to print long help (--help
instead of-h
) withAppSettings::UseLongFormatForHelpSubcommand
(clap-rs/clap#2435)Allow long arg abbreviations like we do with subcommands via
AppSettings::InferLongArgs
(clap-rs/clap#2435)Detect subcommands among positional arguments with
AppSettings::SubcommandPrecedenceOverArg
Give completion scripts hints with
Arg::value_hint
(clap-rs/clap#1793)Allow unsetting defaults with
Arg::default_value_if
,Arg::default_value_if_os
,Arg::default_value_ifs
,Arg::default_value_ifs_os
(clap-rs/clap#1406)Interpret some env variable values as
false
for flags, in addition to "not-present" (clap-rs/clap#2539)n
,no
,f
,false
,off
,0
Added
arg!
macro for creating anArg
from a compile-time usage parser(Experimental) Busybox-like multi-call support
AppSettings::Multicall
behindunstable-multicall
feature flag(Experimental) Alias an argument to anything group of arguments
App::replace
behindunstable-replace
feature flag(Experimental) Grouping of multiple values within multiple occurrences
ArgMatches::grouped_values_of
behindunstable-grouped
feature flagFrom structopt 0.3.25
default_value_t [= <expr>]
attribute (clap-rs/clap#1694)update
APIarg_enum
attribute for integrating withArgEnum
traitOn top of the clap 2 changes
Fixes
From clap 2
App::version
,App::long_version
are set(see clap-rs/clap#2812)
wrap_help
feature is not enabledArg::multiple
withArg::multiple_values
andArg::multiple_occurrences
app_from_crate!
defaults to separating multiple authors with", "
IgnoreCase
is now unicode aware (requiresunicode
feature flag)ColorChoice::Never
, even if that means we skip colors in some casesArgMatches
panics on unknown argumentsauthors
field inCargo.toml
withapp_from_crate
--help
incmd help
withDisableHelpFlag
(clap-rs/clap#3169)--help
incmd help help
that doesn't work (clap-rs/clap#3169)From structopt 0.3.25
SubcommandsNegateReqs
by allowing requiredOption<_>
s (clap-rs/clap#2255)AllowInvalidUtf8
based on parser (clap-rs/clap#751)authors
field inCargo.toml
default_value_os
but treat it likedefault_value
(clap-rs/clap#3031)flatten
andsubcommand
, ensure our doc comment always overrides the nested container's doc comment, whether it has onlyabout
orabout
andlong_about
(fix(derive)!: Set both about/long_about with doc comments clap-rs/clap#3175)On top of the clap 2 changes
Minimum Required Rust
clap
requiresrustc 1.54.0
or greater.v3.0.0-rc.13
Compare Source
v3.0.0-rc.12
Compare Source
v3.0.0-rc.11
Compare Source
v3.0.0-rc.10
Compare Source
v3.0.0-rc.9
Compare Source
v3.0.0-rc.8
Compare Source
v3.0.0-rc.7
Compare Source
v3.0.0-rc.6
Compare Source
v3.0.0-rc.5
Compare Source
v3.0.0-rc.4
Compare Source
v3.0.0-rc.3
Compare Source
v3.0.0-rc.2
Compare Source
v3.0.0-rc.1
Compare Source
v3.0.0-rc.0
Compare Source
v3.0.0-beta.5
Compare Source
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.