fix(deps): update rust crate clap to v3.2.25
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
clap | dependencies | minor |
3.1.0 -> 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
textwrap
0.16
v3.2.22
[3.2.22] - 2022-09-16
Fixes
- Unify dependencies on
terminal_size
to the 0.2 release
v3.2.21
[3.2.21] - 2022-09-12
Features
-
TypedValueParser::map
to allow reusing existing value parsers for other purposes
v3.2.20
[3.2.20] - 2022-09-02
Features
-
ArgMatches::get_count
help forArgAction::Count
-
ArgMatches::get_flag
help 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_help
now 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_t
anddefault_values_os_t
attributes
v3.2.14
Fixes
- A
multiple_values
positional 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_aliaes
andArg::get_all_aliases
v3.2.10
Fixes
- Loosen lifetime on
Command::mut_subcommand
v3.2.8
Features
- Added
Command::mut_subcommand
to 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
- Moved deprecations to be behind the
deprecated
Cargo.toml feature (#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
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_help
now respectsCommand::colored_help
- (derive) Improved error messages
v3.2.0
Compatibility
MSRV is now 1.56.0 (#3732)
Behavior
- Defaults no longer satisfy
required
and its variants (#3793) - When misusing
ArgMatches::value_of
and 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::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) -
(derive)
#[clap(parse(...))]
replaced with: (#3589, #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, theunstable-v4
feature changes the default away fromparse
toaction
/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 rightValueParser
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 = ...)]
- For default parsers (no
Features
- Parsed, typed arguments via
Arg::value_parser
/ArgMatches::{get_one,get_many}
(#2683, #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) and open to expansion via theValueParserFactory
trait (#3755) -
[&str]
is implicitly a value parser for possible values - All
ArgMatches
getters 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_raw
to access the underlyingOsStr
s -
PathBuf
value parsers implyValueHint::AnyPath
for 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--help
behavior -
ArgAction::Version
: existing--version
behavior -
ArgAction::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)- Implies
Arg::default_value("false")
(#3786) - Parses
Arg::env
viaArg::value_parser
- Implies
-
ArgAction::SetFalse
: Treat--flag
as--flag=false
(#3775)- Implies
Arg::default_value("true")
(#3786) - Parses
Arg::env
viaArg::value_parser
- Implies
-
ArgAction::Count
: Treat--flag --flag --flag
as--flag=1 --flag=2 --flag=3
(#3775)- Implies
Arg::default_value("0")
(#3786) - Parses
Arg::env
viaArg::value_parser
- Implies
-
-
(derive) Opt-in to new
Arg::value_parser
/Arg::action
with either#[clap(value_parser)]
(#3589, #3742) /#[clap(action)]
attributes (#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}
API
Fixes
- Don't correct argument id in
default_value_ifs_os
(#3815)
parser
- Set
ArgMatches::value_source
andArgMatches::occurrences_of
for external subcommands (#3732) - Use value delimiter for
Arg::default_missing_values
(#3761, #3765) - Split
Arg::default_value
/Arg::env
on value delimiters independent of whether--
was used (#3765) - Allow applying defaults to flags (#3294, 3775)
- Defaults no longer satisfy
required
and its variants (#3793)
v3.1.18
Fixes
- Fix deprecated
arg_enum!
for users migrating to clap3 (#3717) - Verify all
required_unless_present_all
arguments exist - Verify group members exist before processing group members (#3711)
-
(help) Use
...
when not enoughvalue_names
are supplied
gated behind unstable-v4
- Verify
required
is not used with conditional required settings (#3660) - Disallow more
value_names
thannumber_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::id
asverbatim
casing (#3282)
v3.1.17
Fixes
- Allow value names for
arg!
macro to have dashes when quoted, like longs
v3.1.16
Fixes
-
(parser)
Arg::exclusive
overridesArg::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 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::build
with a required positional argument nested several layers in subcommands
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 withdebug
feature 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
ArgGroup
overrideArg::required
, making the behavior consistent with how we calculate conflicts for error reporting -
Arg::overrides_with
always overrideArg::required
, not just when the parser processes an override
v3.1.10
Features
- Expose
Command::build
for custom help generation or other command introspection needs
v3.1.9
Fixes
- Pin the
clap_derive
version so a compatible version is always used withclap
v3.1.8
Fixes
- Add
Debug
impls to more types
v3.1.7
Fixes
-
(derive) Abort, rather than ignore, when deriving
ArgEnum
with non-unit unskipped variants
v3.1.6
Fixes
- Don't panic when validating delimited defaults (#3541)
- Make it clearer that
cargo
feature is needed - Documentation improvements
v3.1.5
Fixes
- Dependency upgrade
v3.1.4
Features
-
(help) Show
PossibleValue::help
in 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_all
arguments exist - Verify group members exist before processing group members (#3711)
-
(help) Use
...
when not enoughvalue_names
are supplied
gated behind unstable-v4
- Verify
required
is not used with conditional required settings (#3660) - Disallow more
value_names
thannumber_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::id
asverbatim
casing (#3282)
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.
Merge request reports
Activity
Please register or sign in to reply