Skip to content

v0.7.5 — Full Rich Terminal UI Overhaul

Choose a tag to compare

@neil-data neil-data released this 16 Sep 11:16
· 8 commits to main since this release

Highlights

A complete visual overhaul of EnvGuard's terminal output. Every command now renders through a single, shared styling system, and the interface gains progress indication, a live-updating watch panel, and syntax-highlighted findings — all while preserving every existing command's behavior and output data exactly as before.

Added

  • Unified theme system — severity colors, panel styles, and table formatting are now defined in one central module and used consistently across every command (check, scan, ci, status, doctor, diff, install-hook, baseline, init, explain, rules list, and the interactive menu). Previously, styling was implemented independently per command; this release closes that gap so the visual language is identical everywhere.

  • Progress indication for long-running scans — scan, ci, and multi-repo scans now show a live spinner/progress indicator while scanning larger codebases, instead of appearing to hang until the final report prints. This indicator is automatically suppressed in CI environments and whenever output isn't an interactive terminal (piped output, --format json/--format sarif), so it never pollutes CI logs or structured output.

  • envguard watch live panel — the plain output from v0.7.0 is replaced with a live-updating rich.live panel showing the watched directory, tracked file count, current status, and last-checked time. The panel updates in real time as file changes are detected and rescanned, and shuts down cleanly on Ctrl+C.

  • Syntax-highlighted finding snippets — check, scan, and ci text output now show the actual flagged source line with syntax highlighting, alongside the existing masked value, making findings easier to place in context at a glance. Masking is always applied before highlighting — the real secret value is never passed to the syntax renderer.

  • Rich traceback rendering for unexpected errors — any genuinely unanticipated crash now renders as a readable Rich traceback instead of a raw Python stack dump. This does not affect any of EnvGuard's existing clean, custom error panels (EnvGuard Error, ConfigurationError, GitError, etc.), which continue to render exactly as before.

Verified in this release

  • Full command sweep (check, scan, status, doctor, ci, watch) confirmed visually consistent and functionally unchanged from prior versions — same finding counts, same severities, same JSON/SARIF schemas.
  • Masking-before-highlighting confirmed directly: flagged secrets in rendered snippets are shown in masked form only.
  • Progress spinner confirmed to render during normal interactive scans and confirmed absent when CI=true is set, regardless of terminal capability.
  • watch's live panel confirmed to detect and reflect real file changes during an active session, and to shut down cleanly on Ctrl+C with no traceback.
  • No functional regressions found across a full live verification pass — the first release in this project's history to complete verification with zero bugs identified.

This release is purely visual and structural — no changes to detection logic, configuration handling, Git operations, or scanning behavior. Every finding, exit code, and data format from v0.7.0 remains identical.