Skip to content
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 v3.2.25 #91

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Aug 29, 2024

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

Compare Source

[3.2.25] - 2023-04-27

Fixes
  • (derive) Resolve warnings in generated code

v3.2.24

Compare Source

[3.2.24] - 2023-04-25

Fixes
  • (derive) Resolve warnings in generated code

v3.2.23

Compare Source

[3.2.23] - 2022-10-24

Fixes
  • Upgrade to textwrap 0.16

v3.2.22

Compare Source

[3.2.22] - 2022-09-16

Fixes
  • Unify dependencies on terminal_size to the 0.2 release

v3.2.21

Compare Source

[3.2.21] - 2022-09-12

Features
  • TypedValueParser::map to allow reusing existing value parsers for other purposes

v3.2.20

Compare Source

[3.2.20] - 2022-09-02

Features
  • ArgMatches::get_count help for ArgAction::Count
  • ArgMatches::get_flag help for ArgAction::SetTrue / ArgAction::SetFalse

v3.2.19

Compare Source

[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

Compare Source

Fixes
  • (help) Command::print_help now respects Command::colored_help
  • (derive) Improved error messages

v3.2.17

Compare Source

Fixes
  • (derive) Expose #[clap(id = ...)] attribute to match Arg's latest API

v3.2.16

Compare Source

Fixes
  • Ensure required arguments appear in errors when they are also members of a group (#​4004)

v3.2.15

Compare Source

Features
  • (derive) New default_values_t and default_values_os_t attributes

v3.2.14

Compare Source

Fixes
  • A multiple_values positional followed by another positional now works with multiple flags

v3.2.13

Compare Source

Documentation
  • Pulled in tutorials, cookbook, and derive reference into rustdoc

v3.2.12

Compare Source

Fixes
  • Allow an arg to declare a conflict with a group

v3.2.11

Compare Source

Features
  • Added Arg::get_all_short_aliaes and Arg::get_all_aliases

v3.2.10

Compare Source

Fixes
  • Loosen lifetime on Command::mut_subcommand

v3.2.8

Compare Source

Features
  • Added Command::mut_subcommand to mirror Command::mut_arg

v3.2.7

Compare Source

Fixes
  • Global arguments should override env-sourced arguments

v3.2.6

Compare Source

Fixes
  • Don't panic when parsing --=

v3.2.5

Compare Source

Fixes
  • (derive) Fix regression with #[clap(default_value_os_t ...)] introduced in v3.2.3

v3.2.4

Compare Source

Fixes
  • (derive) Provide more clearer deprecation messages for #[clap(parse)] attribute (#​3832)

v3.2.3

Compare Source

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

Compare Source

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

Compare Source

Fixes
  • (help) Command::print_help now respects Command::colored_help
  • (derive) Improved error messages

v3.2.0

Compare Source

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} to clap::builder::{PossibleValue, ValueHint}
  • clap::{Indices, OsValues, ValueSource, Values} to clap::parser::{Indices, OsValues, ValueSource, Values}
  • clap::ArgEnum to clap::ValueEnum (#​3799)

Replaced

  • Arg::allow_invalid_utf8 with Arg::value_parser(value_parser!(PathBuf)) (#​3753)
  • Arg::validator / Arg::validator_os with Arg::value_parser (#​3753)
  • Arg::validator_regex with users providing their own builder::TypedValueParser (#​3756)
  • Arg::forbid_empty_values with builder::NonEmptyStringValueParser / builder::PathBufValueParser (#​3753)
  • Arg::possible_values with Arg::value_parser([...]), builder::PossibleValuesParser, or builder::EnumValueParser (#​3753)
  • Arg::max_occurrences with arg.action(ArgAction::Count).value_parser(value_parser!(u8).range(..N)) for flags (#​3797)
  • Arg::multiple_occurrences with ArgAction::Append or ArgAction::Count though positionals will need Arg::multiple_values (#​3772, #​3797)
  • Command::args_override_self with ArgAction::Set (#​2627, #​3797)
  • AppSettings::NoAutoVersion with ArgAction or Command::disable_version_flag (#​3800)
  • AppSettings::NoHelpVersion with ArgAction or Command::disable_help_flag / Command::disable_help_subcommand (#​3800)
  • ArgMatches::{value_of, value_of_os, value_of_os_lossy, value_of_t} with ArgMatches::{get_one,remove_one} (#​3753)
  • ArgMatches::{values_of, values_of_os, values_of_os_lossy, values_of_t} with ArgMatches::{get_many,remove_many} (#​3753)
  • ArgMatches::is_valid_arg with ArgMatches::{try_get_one,try_get_many} (#​3753)
  • ArgMatches::occurrences_of with ArgMatches::value_source or ArgAction::Count (#​3797)
  • ArgMatches::is_present with ArgMatches::contains_id or ArgAction::SetTrue (#​3797)
  • ArgAction::StoreValue with ArgAction::Set or ArgAction::Append (#​3797)
  • ArgAction::IncOccurrences with ArgAction::SetTrue or ArgAction::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, 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)
    • For #[clap(parse(from_occurrences))] replaced with #[clap(action = ArgAction::Count)] though the field's type must be u8 (#​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, #​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 the ValueParserFactory 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 underlying OsStrs
    • PathBuf value parsers imply ValueHint::AnyPath for completions (#​3732)
  • Explicit control over parsing via Arg::action (#​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)
    • ArgAction::Append: like Arg::multiple_occurrences (#​3777)
    • ArgAction::SetTrue: Treat --flag as --flag=true (#​3775)
      • Implies Arg::default_value("false") (#​3786)
      • Parses Arg::env via Arg::value_parser
    • ArgAction::SetFalse: Treat --flag as --flag=false (#​3775)
      • Implies Arg::default_value("true") (#​3786)
      • Parses Arg::env via Arg::value_parser
    • ArgAction::Count: Treat --flag --flag --flag as --flag=1 --flag=2 --flag=3 (#​3775)
      • Implies Arg::default_value("0") (#​3786)
      • Parses Arg::env via Arg::value_parser
  • (derive) Opt-in to new Arg::value_parser / Arg::action with either #[clap(value_parser)] (#​3589, #​3742) / #[clap(action)] attributes (#​3794)
    • Default ValueParser is determined by value_parser! (#​3199, #​3496)
    • Default 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 new get_{one,many} API
Fixes
  • Don't correct argument id in default_value_ifs_os(#​3815)

parser

  • Set ArgMatches::value_source and ArgMatches::occurrences_of for external subcommands (#​3732)
  • Use value delimiter for Arg::default_missing_values (#​3761, #​3765)
  • SplitArg::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

Compare Source

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 enough value_names are supplied

gated behind unstable-v4

  • Verify required is not used with conditional required settings (#​3660)
  • Disallow more value_names than number_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 as verbatim casing (#​3282)

v3.1.17

Compare Source

Fixes
  • Allow value names for arg! macro to have dashes when quoted, like longs

v3.1.16

Compare Source

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

Compare Source

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

Compare Source

Fixes
  • Panic when calling Command::build with a required positional argument nested several layers in subcommands

v3.1.13

Compare Source

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

Compare Source

Fixes
  • Regression in 3.1.11 where the (output) streams were crossed

v3.1.11

Compare Source

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

Compare Source

Features
  • Expose Command::build for custom help generation or other command introspection needs

v3.1.9

Compare Source

Fixes
  • Pin the clap_derive version so a compatible version is always used with clap

v3.1.8

Compare Source

Fixes
  • Add Debug impls to more types

v3.1.7

Compare Source

Fixes
  • (derive) Abort, rather than ignore, when deriving ArgEnum with non-unit unskipped variants

v3.1.6

Compare Source

Fixes
  • Don't panic when validating delimited defaults (#​3541)
  • Make it clearer that cargo feature is needed
  • Documentation improvements

v3.1.5

Compare Source

Fixes
  • Dependency upgrade

v3.1.4

Compare Source

Features
  • (help) Show PossibleValue::help in long help (--help) (gated behind unstable-v4) (#​3312)

v3.1.3

Compare Source

Fixes
  • Don't panic when validating delimited defaults (#​3514)

v3.1.2

Compare Source

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

Compare Source

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 enough value_names are supplied

gated behind unstable-v4

  • Verify required is not used with conditional required settings (#​3660)
  • Disallow more value_names than number_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 as verbatim casing (#​3282)

v3.1.0

Compare Source

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)
  • (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::Command is now preferred over clap::App (#​3089 in #​3472)
    • clap::command! is now preferred over clap::app_from_crate (#​3089 in #​3474)
    • clap::CommandFactory::command is now preferred over clap::IntoApp::into_app (#​3089 in #​3473)
  • (help) help subcommand shows long help like --help, rather than short help (-h), deprecated clap::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 over clap::AppSettings::SubcommandRequiredElseHelp (#​3280)
  • (builder) clap::AppSettings are nearly all deprecated and replaced with builder methods and getters (#​2717)
  • (builder) clap::ArgSettings is deprecated and replaced with builder methods and getters (#​2717)
  • (builder) clap::Arg::id and clap::ArgGroup::id are now preferred over clap::Arg::name and clap::ArgGroup::name (#​3335)
  • (help) clap::Command::next_help_heading is now preferred over clap::Command::help_heading (#​1807, #​1553)
  • (error) clap::error::ErrorKind is now preferred over clap::ErrorKind (#​3395)
  • (error) clap::Error::kind() is now preferred over clap::Error::kind
  • (error) clap::Error::context() is now preferred over clap::Error::info (#​2628)

Note: All items deprecated in 3.0.0 are now hidden in the documentation. (#​3458)

Features
  • (matches) Add clap::ArgMatches::value_source to 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::context API to open the door for fully-custom error messages (#​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)
  • (parse) Propagate globals with multiple subcommands (#​3428)
  • (validation) Give ArgRequiredElseHelp precedence over SubcommandRequired (#​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 -h conflicts (#​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 parse attribute
  • (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.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Aug 29, 2024
Copy link
Author

renovate bot commented Sep 17, 2024

⚠️ 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 clap@3.0.14 --precise 3.2.25
    Updating crates.io index
error: failed to select a version for `once_cell`.
    ... required by package `clap v3.2.25`
    ... which satisfies dependency `clap = "^3.0.14"` of package `kuby v0.0.0-development (/tmp/renovate/repos/github/smartive/kuby)`
versions that meet the requirements `^1.12.0` are: 1.19.0, 1.18.0, 1.17.2, 1.17.1, 1.17.0, 1.16.0, 1.15.0, 1.14.0, 1.13.1, 1.13.0, 1.12.1, 1.12.0

all possible versions conflict with previously selected packages.

  previously selected package `once_cell v1.9.0`
    ... which satisfies dependency `once_cell = "^1"` (locked to 1.9.0) of package `console v0.15.0`
    ... which satisfies dependency `console = "^0.15.0"` (locked to 0.15.0) of package `dialoguer v0.9.0`
    ... which satisfies dependency `dialoguer = "^0.9.0"` (locked to 0.9.0) of package `kuby v0.0.0-development (/tmp/renovate/repos/github/smartive/kuby)`

failed to select a version for `once_cell` which could resolve this conflict

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Development

Successfully merging this pull request may close these issues.

0 participants