Repository navigation
v0.1.9
[0.1.9] — 2026-06-20
The release that makes the engine usable at write-time: scan code that isn't on disk
yet, report only what a change introduced, and never claim a file is "done" — plus
first-class Astro support.
Added
- In-memory scanning (API).
runScan({ files: [{ path, content }] })and
scanBuffer(content, filename)scan source held in memory, with no disk write. This is
the groundwork for the agent / MCP write-time flow (v0.2): code can be checked while
it is being written. - Diff-aware "only-new" scanning (API).
runDiffScan({ base, head })reports only the
violations a change introduced, instead of the whole project backlog — you act on what
you just wrote, not on legacy noise. API only for now — it is not aequall scanflag;
it feeds the upcoming MCP. - Full Astro support.
.astrofiles are now scanned by every engine (axe-core +
eslint-jsx-a11y + readability + error-identification), not axe alone — catching
JSX-pattern issues axe misses (e.g.label-has-associated-control).
Changed
- Honest coverage — the output never says "all clean". Each WCAG criterion is reported
asauto(genuinely exercised),partial(nominally covered but statically incomplete,
e.g. contrast — needs a rendered check), ormanual(no eligible file in this scan).
The "X/Y criteria checked" line now reflects what was actually exercised, not what a
scanner is theoretically capable of. Surfaced onScanResult.coverage.
Fixed
- No more phantom violations on dynamic attributes. Expressions in attribute values
(aria-selected={i === 0},class={…},href={…}) in.astro/.jsx/.vueno
longer break extraction and produce false axe findings — including a false CRITICAL
aria-valid-attr-value. Accessible-name attributes (alt,aria-label,title,
aria-labelledby) are preserved, so they are not wrongly reported as missing.
Known limitations
- Dynamic attribute values in
.astro/.jsx/.vueare not statically asserted (the
value is unknown until runtime). Full-fidelity Astro parsing via@astrojs/compileris a
planned v0.1.11 follow-up.
Full Changelog: v0.1.8...v0.1.9