v0.2.5 — CLI --help, hardened self-updater, static-analysis floor
brew-safe-upgrade v0.2.5
User-facing CLI help, a hardened self-updater, and a static-analysis floor.
Added
--help/-hfor all three commands (brew safe-upgrade,brew safe-install,brew safe-update) — a synopsis, flag listing, and examples, printed even on a partially-installed tree. Closes #66 (thanks @aleksandrs-ledovskis for the request).
Changed
- The self-updater (
brew-safe-update) now matchesinstall.sh's supply-chain hardening: it updates to the latest published release tag (never a moving branch) and verifies every file against that release'sSHA256SUMSmanifest before an atomic, fail-closed swap — including the fresh updater it re-execs, verified before it takes over. Both curl-fetch routes now share one pin-and-verify path. - Quieter
brew updatestep — Homebrew's own harmless description-cache backtrace is filtered out; real warnings/errors still show.
Tooling
- Added mypy, shfmt, markdownlint, an assertive CodeRabbit profile, and a pre-commit config wrapping the lint floor — all enforced in CI.
Docs
- The README install section now leads with the Homebrew tap one-liner (
brew install sharkyger/tap/safe-upgrade); the script install route is the documented secondary path.
Install / upgrade
brew install sharkyger/tap/safe-upgrade # new install
brew update && brew upgrade safe-upgrade # tap upgrade