// changelog

v0.8.0

Quality & diagnostics. `doctor`, `install-hook`, secret scanner, cost preflight, `--fail-on`, `--compact`.

Released May 22, 2026

Added

  • commitbrief install-hook subcommand — one-command scaffold for a git hook running commitbrief --staged --fail-on=critical --quiet --no-cost-check on every commit. Default target .git/hooks/pre-commit; --hook chooses commit-msg or pre-push. Existing files refused unless --yes; prior content backed up to <name>.bak.<timestamp>. --uninstall removes the hook only when the embedded marker is present.
  • --fail-on=<severity> flag — CI-actionable exit code gate. Accepted values: critical, high, medium, low, info, any, none. The rendered review prints before the exit code is decided.
  • commitbrief doctor subcommand — runs ~7 health checks against the resolved environment: git binary, config schema, COMMITBRIEF.md source, OUTPUT.md template validity, active provider credentials, cache writability, .gitignore includes .commitbrief/. Per-check ✓/⚠/✗ glyphs; exit 1 on any failure.
  • Pre-send secret scanner. Eight patterns ship by default (AWS, GitHub, GitLab, OpenAI, Anthropic, JWT, Stripe, PEM private key). Only + prefixed (newly added) lines are scanned; the matched substring is never echoed to stderr or any cached payload. --allow-secrets bypasses with an info notice.
  • Cost preflight — before each fresh provider call, estimates cost from prompt tokens × per-model pricing. Above cost.warn_threshold_usd (default $0.50), prompts the user on a TTY or aborts non-interactively. New --no-cost-check flag.
  • commitbrief list config summary footer — shows active provider/model, source of COMMITBRIEF.md and OUTPUT.md, and local cache footprint.
  • --compact flag for one-line-per-finding rendering — [icon] SEVERITY • file:line — title.

Changed

  • Diff-colored snippets — when a finding includes a code excerpt with - / + prefixed lines, the renderer colors removals red and additions green; context stays muted.
  • High-contrast card text — adaptive foreground (near-white on dark terminals, near-black on light) fixes legibility against severity-tinted backgrounds.