[1.1.28] - 2026-09-17
Added
- Fifteen cmd.exe rules (E043–E047, SEC025, W064–W070, S029–S030) covering
::inside blocks, ELSE on a new line, invalid FOR/IF switches, spaced2> &1, unescaped FOR /F specials, unquoted%CD%, IF wildcards, parse-time%var%after SET in a block,%TIME%space padding, and SET/PATH/PROMPT&&in.batfiles - Corpus fixtures for those rules (274 committed cases)
Fixed
- E046 flags only a space before
&in stream merges (2> &1);2>>&1is valid append-duplication on live cmd - W017 also flags
IF ERRORLEVEL 0(always true for non-negative codes) - E036 also flags
IF EXIT/IF EXITSmisspellings of EXIST - E003 flags a single
=in IF and a missing space before( - W044 flags
SETwith a space before=even without a space after - SEC001 / SEC014 retargeted to unquoted SET /P dataflow and unquoted arguments
Changed
- Pinned batch-spec language SSOT to v0.71.0 (EXIST misspellings, single-equals IF, unknown FOR switches, spaced handle duplication)
- Spec docs, Architecture, and funding metadata match the 274-case corpus; synthetic lint baseline is 25.0s for the extra cmd.exe checks