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.dscript emitted byusage generate completion-init fishscans every executable on$PATHand peek-reads the first 128 bytes to detect ausageshebang. Files that are executable but not readable by the current user (such as macOS's setuid-rootsudoor execute-onlyvisudo) caused fish's own redirection layer to print a warning on every new shell — the existing2>/dev/nullonly silenced thereadbuiltin, not fish's redirection setup. Atest -r $file; or continueguard now skips those files before the read is attempted. Re-runusage generate completion-init fishand 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 markdownoutput and in theusageCLI 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.
- Subcommands are now listed alphabetically (sorted by usage string) in both
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.