Skip to content

chore(deps): bump clap_usage from v6.9.0 to v6.11.1 - #16

Closed
dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/cargo/dev/clap_usage-v6.11.1
Closed

dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/cargo/dev/clap_usage-v6.11.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Bumps clap_usage from v6.9.0 to v6.11.1.

Release notes

Sourced from clap_usage's releases.

v6.11.1: Smaller usage-argv footprint in derived CLIs, and coloured help stops styling look-alike prose

The help, completion, parse-error and metadata code that usage-argv adds to a #[derive(Cli)] binary is substantially smaller, with byte-identical output, and coloured help pages no longer colour author text that happens to look like a heading or a flag row.

Fixed

  • (help) Coloured help colours only the structure the renderer itself writes (#1480, @​jdx). Colour used to be applied by matching every finished line against the page's headings, synopsis and row usages, so a line reading Flags: in after_help/before_help/about, or heading prose that began with a flag's spelling such as -f, --force overrides the *lock*, came out styled as a heading or a flag row. Headings, the synopsis, row usages and command names are now coloured as they are written, and the remaining pass over the page applies only Markdown emphasis (**bold**, *italic*, `code`, ~~strike~~), still skipping $ example lines. Plain (non-TTY) output was never affected and is unchanged.

Changed

  • (argv) Less code and static data per derived CLI (#1469, #1471, #1476, #1475, #1477, #1478, @​jdx). Help rows for -h and --help go through one renderer, coloured-help structure is collected while the page is written instead of by a second metadata walk, the __complete_word__ handler and the value-binding/error-exit code that the derive used to expand into every CLI now live in the runtime, the parse-error renderer builds messages from data instead of per-error formatting code, and cold-path lists (help rows, completion candidates, "did you mean" suggestions) share one stable sort instead of six monomorphised quicksorts. View-related branches fold away entirely for CLIs that declare no views. Help, error, spec and completion output was compared byte for byte before and after each change and is identical; a completion request now also walks the command line once instead of twice.

  • (argv) Smaller metadata tables (#1470, #1472, #1474, @​jdx). Rarely declared flag fields (relations, deprecation, validation, bounds, hidden aliases, spec-only metadata) moved into FlagExtra behind FlagMeta::extra, and rarely declared command fields (deprecation, help prose, examples, headings, outputs, layout settings, clause, exit codes) into CommandExtra behind CommandMeta::extra; every flag or command that declares none of them points at one shared static. Clauses are stored by reference and display_order, variadic bounds and terminal widths are narrowed to u32/u16. A FlagMeta shrinks from 664 to 168 bytes and a CommandMeta from about 600 to 472. Declared values too large for the narrower types now saturate rather than wrap (a display_order above u32::MAX sorts last; term_width = 0 still disables wrapping).

    Measured on oxlint and oxfmt with their release profile (opt-level 3, fat LTO, one codegen unit, linux x86_64), the first two changes alone cut what usage-rs adds over bpaf from about 219 KB to 138 KB for oxlint (from 169 KB to 114 KB for oxfmt), and each of the remaining changes took a further 1 to 14 KB off.

Breaking Changes

Only code that reads or hand-writes usage-argv metadata tables directly is affected; CLIs built with #[derive(Cli)], Args or ArgGroup need no changes.

  • Fields moved off FlagMeta and CommandMeta are reached through extra (#1470, #1472):

    // before
    if let Some(reason) = meta.deprecated { /* … */ }
    // after
    if let Some(reason) = meta.extra.deprecated { /* … */ }
    // hand-written table
    static META: CommandMeta = CommandMeta {
    cmd: &CMD,
    about: Some("…"),
    extra: &CommandExtra {
    deprecated: Some("use new"),
    ..CommandExtra::EMPTY
    },
    ..CommandMeta::EMPTY
    };

    ..FlagMeta::EMPTY and ..CommandMeta::EMPTY already point at the shared NO_FLAG_EXTRA/NO_COMMAND_EXTRA, so entries with no extras keep working unchanged.

  • Command::clause is now Option<&Clause> and CommandMeta::clause (now under extra) is Option<&ClauseMeta>, so hand-written tables borrow the clause: clause: Some(&TASKS). display_order, var_min/var_max and value_var_min/value_var_max are Option<u32>, and term_width/max_term_width are Option<u16>; integer literals need no change, but code that read them as usize needs a conversion (#1474). Event::ClauseSeparator still carries the Clause by value.

Full Changelog: jdx/usage@v6.11.0...v6.11.1

💚 Sponsor usage

usage is built and maintained by @​jdx, an open source developer at entire.io, the title sponsor of his open source work.

If usage powers CLI specs, docs, or completions for a tool you maintain or use, please consider becoming an individual or company sponsor. Your support funds ongoing development and helps keep usage fast, free, and independent.

... (truncated)

Changelog

Sourced from clap_usage's changelog.

6.11.1 - 2026-09-23

🐛 Bug Fixes

  • (help) colour only the structure the renderer writes by @​jdx in #1480

⚡ Performance

  • shrink the help and completion code usage-rs adds to a binary by @​jdx in #1469
  • keep rarely declared flag metadata out of every flag's table by @​jdx in #1470
  • write help rows through one renderer for both help pages by @​jdx in #1471
  • collect coloured-help structure while the page is written by @​jdx in #1476
  • shrink the per-CLI code the derive generates for binding by @​jdx in #1477
  • shrink the parse-error renderer usage-rs adds to a binary by @​jdx in #1478
  • shrink the shell-completion code a derived CLI carries by @​jdx in #1475
  • keep rarely declared command metadata out of every command's table by @​jdx in #1472
  • shrink the command and metadata tables a derive emits by @​jdx in #1474

🔍 Other Changes

  • (ci) comment on a discussion when the PR implementing it merges by @​jdx in #1460

📦️ Dependency Updates

6.11.0 - 2026-09-21

🚀 Features

🐛 Bug Fixes

  • (cli) lay help out at the terminal's width, colour a self-dispatched page, and space examples apart by @​jdx in #1454

🔍 Other Changes

  • stop compiling cargo-edit and installing unused tools in CI by @​jdx in #1451
  • drop OpenSSL build deps from the Cloud Agent image and fix its libicu package by @​jdx in #1452
  • re-pin renovate-config reusable workflows to current main by @​jdx in f7a6aeb

📦️ Dependency Updates

  • bump mr-boxington to 1.14.0 and drop the mbx fallback docs by @​jdx in #1449
  • drop the stale aube macos-x64 row from mise.lock by @​jdx in #1453

... (truncated)

Commits
  • 13c051e chore: release v6.11.1 (#1461)
  • 4d4a2f7 fix(help): colour only the structure the renderer writes (#1480)
  • a884aca perf: shrink the command and metadata tables a derive emits (#1474)
  • b145daa perf: keep rarely declared command metadata out of every command's table (#1472)
  • 6816406 chore(deps): update aube to v2.3.0 (#1473)
  • f620370 perf: shrink the shell-completion code a derived CLI carries (#1475)
  • f045298 perf: shrink the parse-error renderer usage-rs adds to a binary (#1478)
  • 5f4b370 perf: shrink the per-CLI code the derive generates for binding (#1477)
  • c49d582 perf: collect coloured-help structure while the page is written (#1476)
  • acf47eb perf: write help rows through one renderer for both help pages (#1471)
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [clap_usage](https://github.com/jdx/usage) from v6.9.0 to v6.11.1.
- [Release notes](https://github.com/jdx/usage/releases)
- [Changelog](https://github.com/jdx/usage/blob/main/CHANGELOG.md)
- [Commits](jdx/usage@9e65ac0...13c051e)

---
updated-dependencies:
- dependency-name: clap_usage
  dependency-version: 13c051e5f9583804ada6df05bd57471704db8358
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Sep 30, 2026
@IMXEren IMXEren closed this Sep 30, 2026
@dependabot @github

dependabot Bot commented on behalf of github Sep 30, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/cargo/dev/clap_usage-v6.11.1 branch September 30, 2026 04:29
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 rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant