chore(deps): update rust crate clap to v3.2.25
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| clap | dependencies | minor | 3.0.14 → 3.2.25 |
Release Notes
clap-rs/clap (clap)
v3.2.25
[3.2.25] - 2023-04-27
Fixes
- (derive) Resolve warnings in generated code
v3.2.24
[3.2.24] - 2023-04-25
Fixes
- (derive) Resolve warnings in generated code
v3.2.23
[3.2.23] - 2022-10-24
Fixes
- Upgrade to
textwrap0.16
v3.2.22
[3.2.22] - 2022-09-16
Fixes
- Unify dependencies on
terminal_sizeto the 0.2 release
v3.2.21
[3.2.21] - 2022-09-12
Features
-
TypedValueParser::mapto allow reusing existing value parsers for other purposes
v3.2.20
[3.2.20] - 2022-09-02
Features
-
ArgMatches::get_counthelp forArgAction::Count -
ArgMatches::get_flaghelp forArgAction::SetTrue/ArgAction::SetFalse
v3.2.19
[3.2.19] - 2022-08-30
Fixes
-
(help) Ensure required arguments for parent commands aren't shown in their subcommands when using
args_conflicts_with_subcommand
v3.2.18
Fixes
-
(help)
Command::print_helpnow respectsCommand::colored_help - (derive) Improved error messages
v3.2.17
Fixes
-
(derive) Expose
#[clap(id = ...)]attribute to match Arg's latest API
v3.2.16
Fixes
- Ensure required arguments appear in errors when they are also members of a group (#4004)
v3.2.15
Features
-
(derive) New
default_values_tanddefault_values_os_tattributes
v3.2.14
Fixes
- A
multiple_valuespositional followed by another positional now works with multiple flags
v3.2.13
Documentation
- Pulled in tutorials, cookbook, and derive reference into rustdoc
v3.2.12
Fixes
- Allow an arg to declare a conflict with a group
v3.2.11
Features
- Added
Arg::get_all_short_aliaesandArg::get_all_aliases
v3.2.10
Fixes
- Loosen lifetime on
Command::mut_subcommand
v3.2.8
Features
- Added
Command::mut_subcommandto mirrorCommand::mut_arg
v3.2.7
Fixes
- Global arguments should override env-sourced arguments
v3.2.6
Fixes
- Don't panic when parsing
--=
v3.2.5
Fixes
-
(derive) Fix regression with
#[clap(default_value_os_t ...)]introduced in v3.2.3
v3.2.4
Fixes
-
(derive) Provide more clearer deprecation messages for
#[clap(parse)]attribute (#3832)
v3.2.3
Fixes
-
(derive) Fix regression with
#[clap(default_value_os_t ...)]introduced in v3.2.3
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)
v3.2.1
Fixes
-
(help)
Command::print_helpnow respectsCommand::colored_help - (derive) Improved error messages
v3.2.0
Compatibility
MSRV is now 1.56.0 (#3732)
Behavior
- Defaults no longer satisfy
requiredand its variants (#3793) - When misusing
ArgMatches::value_ofand friends, debug asserts were turned into panics
Moving (old location deprecated)
-
clap::{PossibleValue, ValueHint}toclap::builder::{PossibleValue, ValueHint} -
clap::{Indices, OsValues, ValueSource, Values}toclap::parser::{Indices, OsValues, ValueSource, Values} -
clap::ArgEnumtoclap::ValueEnum(#3799)
Replaced
-
Arg::allow_invalid_utf8withArg::value_parser(value_parser!(PathBuf))(#3753) -
Arg::validator/Arg::validator_oswithArg::value_parser(#3753) -
Arg::validator_regexwith users providing their ownbuilder::TypedValueParser(#3756) -
Arg::forbid_empty_valueswithbuilder::NonEmptyStringValueParser/builder::PathBufValueParser(#3753) -
Arg::possible_valueswithArg::value_parser([...]),builder::PossibleValuesParser, orbuilder::EnumValueParser(#3753) -
Arg::max_occurrenceswitharg.action(ArgAction::Count).value_parser(value_parser!(u8).range(..N))for flags (#3797) -
Arg::multiple_occurrenceswithArgAction::AppendorArgAction::Countthough positionals will needArg::multiple_values(#3772, #3797) -
Command::args_override_selfwithArgAction::Set(#2627, #3797) -
AppSettings::NoAutoVersionwithArgActionorCommand::disable_version_flag(#3800) -
AppSettings::NoHelpVersionwithArgActionorCommand::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_argwithArgMatches::{try_get_one,try_get_many}(#3753) -
ArgMatches::occurrences_ofwithArgMatches::value_sourceorArgAction::Count(#3797) -
ArgMatches::is_presentwithArgMatches::contains_idorArgAction::SetTrue(#3797) -
ArgAction::StoreValuewithArgAction::SetorArgAction::Append(#3797) -
ArgAction::IncOccurrenceswithArgAction::SetTrueorArgAction::Count(#3797) -
(derive)
#[clap(parse(...))]replaced with: (#3589, #3794)- For default parsers (no
parseattribute), 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, theunstable-v4feature changes the default away fromparsetoaction/value_parser. - For
#[clap(parse(from_flag))]replaced with#[clap(action = ArgAction::SetTrue)](#3794) - For
#[clap(parse(from_occurrences))]replaced with#[clap(action = ArgAction::Count)]though the field's type must beu8(#3794) - For
#[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 rightValueParserautomatically). - For
#[clap(parse(try_from_str = ...)], replace it with#[clap(value_parser = ...)] - For most other cases, a type implementing
TypedValueParserwill be needed and specify it with#[clap(value_parser = ...)]
- For default parsers (no
Features
- Parsed, typed arguments via
Arg::value_parser/ArgMatches::{get_one,get_many}(#2683, #3732)- Several built-in
TypedValueParsers available with an API open for expansion -
value_parser!(T)macro for selecting a parser for a given type (#3732) and open to expansion via theValueParserFactorytrait (#3755) -
[&str]is implicitly a value parser for possible values - All
ArgMatchesgetters do not assume required arguments (#2505) - Add
ArgMatches::remove_*variants to transfer ownership - Add
ArgMatches::try_*variants to avoid panics for developer errors (#3621) - Add a
get_rawto access the underlyingOsStrs -
PathBufvalue parsers implyValueHint::AnyPathfor completions (#3732)
- Several built-in
- Explicit control over parsing via
Arg::action(#3774)-
ArgAction::StoreValue: existingtakes_value(true)behavior -
ArgAction::IncOccurrences: existingtakes_value(false)behavior -
ArgAction::Help: existing--helpbehavior -
ArgAction::Version: existing--versionbehavior -
ArgAction::Set: Overwrite existing values (likeArg::multiple_occurrencesmixed withCommand::args_override_self) (#3777) -
ArgAction::Append: likeArg::multiple_occurrences(#3777) -
ArgAction::SetTrue: Treat--flagas--flag=true(#3775)- Implies
Arg::default_value("false")(#3786) - Parses
Arg::envviaArg::value_parser
- Implies
-
ArgAction::SetFalse: Treat--flagas--flag=false(#3775)- Implies
Arg::default_value("true")(#3786) - Parses
Arg::envviaArg::value_parser
- Implies
-
ArgAction::Count: Treat--flag --flag --flagas--flag=1 --flag=2 --flag=3(#3775)- Implies
Arg::default_value("0")(#3786) - Parses
Arg::envviaArg::value_parser
- Implies
-
-
(derive) Opt-in to new
Arg::value_parser/Arg::actionwith either#[clap(value_parser)](#3589, #3742) /#[clap(action)]attributes (#3794) -
Command::multicallis now stable for busybox-like programs and REPLs (#2861, #3684) -
ArgMatches::{try_,}contains_idfor checking if there are values for an argument that mirrors the newget_{one,many}API
Fixes
- Don't correct argument id in
default_value_ifs_os(#3815)
parser
- Set
ArgMatches::value_sourceandArgMatches::occurrences_offor external subcommands (#3732) - Use value delimiter for
Arg::default_missing_values(#3761, #3765) - Split
Arg::default_value/Arg::envon value delimiters independent of whether--was used (#3765) - Allow applying defaults to flags (#3294, 3775)
- Defaults no longer satisfy
requiredand its variants (#3793)
v3.1.18
Fixes
- Fix deprecated
arg_enum!for users migrating to clap3 (#3717) - Verify all
required_unless_present_allarguments exist - Verify group members exist before processing group members (#3711)
-
(help) Use
...when not enoughvalue_namesare supplied
gated behind unstable-v4
- Verify
requiredis not used with conditional required settings (#3660) - Disallow more
value_namesthannumber_of_values(#2695) - (parser) Assert on unknown args when using external subcommands (#3703)
-
(parser) Always fill in
""argument for external subcommands (#3263) - (derive) Detect escaped external subcommands that look like built-in subcommands (#3703)
-
(derive) Leave
Arg::idasverbatimcasing (#3282)
v3.1.17
Fixes
- Allow value names for
arg!macro to have dashes when quoted, like longs
v3.1.16
Fixes
-
(parser)
Arg::exclusiveoverridesArg::required, like other conflicts - (error) Don't duplicate arguments in usage
- (error) Don't show hidden arguments in conflict error usage
-
(help) New
help_templatevariable{name}to fix problems with{bin} - (help) Don't wrap URLs
gated behind unstable-v4
- Leading dashes in
Arg::longare no longer allowed -
(help) Use
Command::display_namein the help title rather thanCommand::bin_name
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
Fixes
- Panic when calling
Command::buildwith a required positional argument nested several layers in subcommands
v3.1.13
Fixes
- Help subcommand and
Command::write_helpnow 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
debugfeature - Allow disabling
colorfeature withdebugfeature enabled
v3.1.12
Fixes
- Regression in 3.1.11 where the (output) streams were crossed
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
ArgGroupoverrideArg::required, making the behavior consistent with how we calculate conflicts for error reporting -
Arg::overrides_withalways overrideArg::required, not just when the parser processes an override
v3.1.10
Features
- Expose
Command::buildfor custom help generation or other command introspection needs
v3.1.9
Fixes
- Pin the
clap_deriveversion so a compatible version is always used withclap
v3.1.8
Fixes
- Add
Debugimpls to more types
v3.1.7
Fixes
-
(derive) Abort, rather than ignore, when deriving
ArgEnumwith non-unit unskipped variants
v3.1.6
Fixes
- Don't panic when validating delimited defaults (#3541)
- Make it clearer that
cargofeature is needed - Documentation improvements
v3.1.5
Fixes
- Dependency upgrade
v3.1.4
Features
-
(help) Show
PossibleValue::helpin long help (--help) (gated behindunstable-v4) (#3312)
v3.1.3
Fixes
- Don't panic when validating delimited defaults (#3514)
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
Fixes
- Fix deprecated
arg_enum!for users migrating to clap3 (#3717) - Verify all
required_unless_present_allarguments exist - Verify group members exist before processing group members (#3711)
-
(help) Use
...when not enoughvalue_namesare supplied
gated behind unstable-v4
- Verify
requiredis not used with conditional required settings (#3660) - Disallow more
value_namesthannumber_of_values(#2695) - (parser) Assert on unknown args when using external subcommands (#3703)
-
(parser) Always fill in
""argument for external subcommands (#3263) - (derive) Detect escaped external subcommands that look like built-in subcommands (#3703)
-
(derive) Leave
Arg::idasverbatimcasing (#3282)
v3.1.0
Compatibility
Changes in behavior of note that are not guaranteed to be compatible across releases:
-
(help)
helpsubcommand shows long help like--help, rather than short help (-h), deprecatedclap::AppSettings::UseLongFormatForHelpSubcommand(#3440) - (help) Pacman-style subcommands are now ordered the same as usage errors (#3470)
- (help) Pacman-style subcommands use standard alternate syntax in usage (#3470)
Deprecations
-
clap::Commandis now preferred overclap::App(#3089 in #3472) -
(help)
helpsubcommand shows long help like--help, rather than short help (-h), deprecatedclap::AppSettings::UseLongFormatForHelpSubcommand(#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 overclap::AppSettings::SubcommandRequiredElseHelp(#3280) -
(builder)
clap::AppSettingsare nearly all deprecated and replaced with builder methods and getters (#2717) -
(builder)
clap::ArgSettingsis deprecated and replaced with builder methods and getters (#2717) -
(builder)
clap::Arg::idandclap::ArgGroup::idare now preferred overclap::Arg::nameandclap::ArgGroup::name(#3335) -
(help)
clap::Command::next_help_headingis now preferred overclap::Command::help_heading(#1807, #1553) -
(error)
clap::error::ErrorKindis now preferred overclap::ErrorKind(#3395) -
(error)
clap::Error::kind()is now preferred overclap::Error::kind -
(error)
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
-
(matches) Add
clap::ArgMatches::value_sourceto determine what insert the value (#1345) -
(help) Override derived display order with
clap::Command::next_display_order(#1807) - (error) Show possible values when an argument doesn't have a value (#3320)
-
(error) New
clap::Error::contextAPI to open the door for fully-custom error messages (#2628)-
(error)
clap::error::ErrorKindnow implementsDisplay
-
(error)
Fixes
- (builder) Some functions were renamed for consistency and fixing spelling issues
-
(builder) Allow
clap::Command::colorto override previous calls (#3449) - (parse) Propagate globals with multiple subcommands (#3428)
-
(validation) Give
ArgRequiredElseHelpprecedence overSubcommandRequired(#3456) -
(validation) Default values no longer count as "present" for conflicts, requires,
clap::Command::arg_required_else_help, etc (#3076, #1264) - (assert) Report invalid defaults (#3202)
-
(help) Clarify how to handle
-hconflicts (#3403) - (help) Make it easier to debug the addition of help flags (#3425)
- (help) Pacman-style subcommands are now separated with spaces (#3470)
- (help) Pacman-style subcommands are now ordered the same as usage errors (#3470)
- (help) Pacman-style subcommands use standard alternate syntax in usage (#3470)
- (error) Be consistent in showing of required attributes between errors / usage (#3390)
-
(error) Show user's order of possible values, like in
--help(#1549) -
(error) Allow customizing error type in
clap::error::Result(#3395)
Performance
-
(error) Reduced stack size of
clap::Error(#3395)
Documentation
-
(builder) Correct data take accepted for
clap::Arg::validator -
(derive) Clarify
parseattribute - (tutorial) Demonstrate custom parsing
- (example) Consistently list out required feature flags (#3448)
Configuration
📅 Schedule: Branch creation - "after 9pm,before 6am" in timezone Europe/Zurich, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package [email protected] --precise 3.2.25
error: failed to acquire package cache lock
Caused by:
failed to open: /home/ubuntu/.cargo/.package-cache
Caused by:
failed to create directory `/home/ubuntu/.cargo`
Caused by:
File exists (os error 17)