Skip to content

vendor: github.com/urfave/cli/v3 v3.9.0 - #6848

Merged
crazy-max merged 1 commit into
moby:masterfrom
crazy-max:update-urfave-cli
Jun 10, 2026
Merged

crazy-max merged 1 commit into
moby:masterfrom
crazy-max:update-urfave-cli

Conversation

@crazy-max

Copy link
Copy Markdown
Member

Updates from github.com/urfave/cli v1.22.17 to github.com/urfave/cli/v3 v3.9.0.

The CLI entry points now use v3 *cli.Command APIs, v3 callback signatures, explicit flag aliases, and v3 environment variable sources. The slice flag comma splitting was disabled to preserve existing BuildKit flag behavior.

The v3 module uses a different import path and API shape, so the command setup, action hooks, before and after hooks, and tests needed to move off the removed v1 App and Context types. The migration keeps the existing command behavior while updating the dependency.

@tonistiigi tonistiigi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My agents found this:

buildctl --generate-bash-completion regressed. v1 exposed this via EnableBashCompletion; after switching to v3, only --generate-shell-completion works. I verified go run ./cmd/buildctl --generate-bash-completion now fails with flag provided but not defined. If external completion scripts or users rely on the old flag, this is a CLI compatibility break. Either preserve the old hidden flag/alias or call it out intentionally.

I think this is fine though as buildctl is a dev CLI. Possibly this can be somehow patched from our side but not sure if even needed. Just calling it out in the changelog should be enough.

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
@crazy-max
crazy-max force-pushed the update-urfave-cli branch from f4d003a to ef191af Compare June 10, 2026 08:12
@crazy-max

Copy link
Copy Markdown
Member Author

My agents found this:

buildctl --generate-bash-completion regressed. v1 exposed this via EnableBashCompletion; after switching to v3, only --generate-shell-completion works. I verified go run ./cmd/buildctl --generate-bash-completion now fails with flag provided but not defined. If external completion scripts or users rely on the old flag, this is a CLI compatibility break. Either preserve the old hidden flag/alias or call it out intentionally.

I think this is fine though as buildctl is a dev CLI. Possibly this can be somehow patched from our side but not sure if even needed. Just calling it out in the changelog should be enough.

Yeah I don't think we need to carry a local compatibility shim for the old hidden --generate-bash-completion flag for such CLI.

@crazy-max crazy-max added this to the v0.31.0 milestone Jun 10, 2026
@crazy-max
crazy-max merged commit e2ac110 into moby:master Jun 10, 2026
268 of 271 checks passed
@crazy-max
crazy-max deleted the update-urfave-cli branch June 10, 2026 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants