github jdx/usage v3.5.4
v3.5.4: Quieter fish completions

4 hours ago

A small patch release focused on fixing noisy fish shell startup for users with execute-only or setuid binaries on $PATH, plus a Tera template engine upgrade that slightly tweaks generated docs and CLI help.

Fixed

  • complete(fish): skip unreadable files in the shebang completion scan (#707 by @GrantD-ADSK, fixes #706). The conf.d script emitted by usage generate completion-init fish scans every executable on $PATH and peek-reads the first 128 bytes to detect a usage shebang. Files that are executable but not readable by the current user (such as macOS's setuid-root sudo or execute-only visudo) caused fish's own redirection layer to print a warning on every new shell — the existing 2>/dev/null only silenced the read builtin, not fish's redirection setup. A test -r $file; or continue guard now skips those files before the read is attempted. Re-run usage generate completion-init fish and reload your shell to pick up the fix.

Changed

  • docs: upgrade Tera template engine to v2 (#705). The switch produced two small output changes worth noting:
    • Subcommands are now listed alphabetically (sorted by usage string) in both usage generate markdown output and in the usage CLI help output. Previously they followed spec order.
    • Long help text under arguments and flags in CLI help is now indented by 4 spaces instead of 2, matching typical CLI conventions.

Full Changelog: v3.5.3...v3.5.4

💚 Sponsor usage

usage is maintained by @jdx, an open source developer for entire.io, the title sponsor of the jdx.dev open source tools including mise, aube, hk, and more. Work on usage is funded by sponsorships.

If usage powers CLI specs, docs, or completions for a tool you maintain or use, please consider sponsoring at jdx.dev. Every sponsorship helps the project stay independent and moving.

Don't miss a new usage release

NewReleases is sending notifications on new releases.