v1.3.0 — Smarter Excludes & Config Migration Engine
What's New in v1.3.0
Smarter --exclude Path Resolution
When scanning a subdirectory, --exclude names are now automatically resolved relative to your target — no more full paths needed.
# Before: had to write the full path
allycat scan src/pages --exclude src/pages/legacy.html
# Now: just the name
allycat scan src/pages --exclude legacy.html
Glob patterns and absolute paths are passed through unchanged, so nothing breaks.
Config Migration Engine
allycat.config.json now tracks a configVersion field. When you upgrade AllyCat and your config is from an older version, it's automatically migrated and saved — no manual edits required.
Old configs (no configVersion) are silently upgraded on first run. Future schema changes will migrate with a clear message so you know what changed.
Bug Fix — Watch Mode Exclude Scoping
In --watch mode, real-time file filtering now applies the same exclude scoping as the initial scan. Previously, a scoped exclude like --exclude legacy.html could suppress violations on first scan but miss them when files changed.
Upgrade Notes
- Run
allycat initto get a fresh config withconfigVersion: 1, or just run any scan — your existing config will be migrated automatically. - No breaking changes. All existing flags and config fields work as before.
Full changelog→ CHANGELOG.md