cli-v3.6.0

pbakaus/impeccablecli-v3.6.0Aug 14, 2026by pbakaus

AI Summary

CLI release fixing contrast assumptions, adding scoping to waivers, and correcting shell command quoting issues.

Key Highlights

  • Contrast findings stop assuming white
  • Scoped waivers
  • Shell command quoting fixes

New Features

  • Real gradient contrast measurement
  • Scoped waivers
  • Shell quoting
  • DESIGN.md frontmatter parsing

Full Release Notes

- **Contrast findings stop assuming white.** Text over a gradient, over an image, or under something else was scored against an assumed white ground, which manufactured low-contrast findings on perfectly legible pages. The engine now measures the real gradient body ground, accounts for image-backed text and for elements occluded by what sits above them, and declines to guess at all when a background genuinely cannot be read.

- **Waivers you can scope.** `data-impeccable-ignore` silences the element that carries it rather than a whole rule across the file, and `ignore-file` honors the scope flags you pass it.

- **Two more providers.** Hermes Agent and Google Antigravity install like the rest.

- **Fewer false positives elsewhere.** Quoted transition values in JSX no longer read as layout transitions, documented sidecar shadow colors are allowed inside shadow contexts, and broken-image findings stop firing on commented-out source.

- **Installs and scans that behave.** Explicitly selected providers install without `--force`, the post-install next step points at your agent chat instead of the terminal, Windows installs skip the POSIX hook guard, Blade files turn up in directory scans, and a missing static-HTML parser dependency warns instead of quietly scanning nothing.

- **Paths with quotes or spaces stop breaking commands.** Four places built shell commands by wrapping values in double quotes, which is not shell quoting. They now quote properly.

- **DESIGN.md frontmatter reads correctly.** Quote escapes in YAML scalars are unescaped, so a design system carrying quoted values parses instead of losing them.