github BatchLang/Blinter v1.1.36

latest release: v1.1.37
3 hours ago

[1.1.36] - 2026-10-14

Fixed

  • E003 checks only the IF condition, so a valid line such as if "%1"=="" set X=1 or if ... echo a = b is no longer a fatal error
  • --format json keeps skipped-file details in the JSON report. When every file is skipped, stdout is still JSON
  • S028 leaves parentheses in place when the group chains commands with & or |
  • P022 and P023 apply only inside a FOR block, including a one-line for ... do
  • W004 allows the usual shift loop that exits when the next argument is empty
  • P006 no longer requires ENDLOCAL before a top-level exit /b. Ending the batch file ends SETLOCAL
  • A UTF-16 BOM is decoded as UTF-16. NUL bytes that are not valid UTF-8, UTF-16, or UTF-32 raise one encoding error instead of being read as cp1252
  • Directory scans accept .BAT and .CMD on case-sensitive filesystems
  • Piping output to a program that closes the pipe exits quietly
  • The installer treats a PATH entry as present only when the segment matches exactly

Changed

  • CALL and GOTO checks remember the first line that targets each label, and sort label definitions once per file
  • The performance gate uses the current synthetic timing and a second file with 2000 labels and unique CALL targets. A case fails when it takes more than twice that median
  • Source distributions omit the tests/ tree. Tests run from a git checkout
  • GitHub Actions are pinned to commit SHAs, and PyPI publishing pins Twine 7.0.0
  • Changelog links point at BatchLang/Blinter

Don't miss a new Blinter release

NewReleases is sending notifications on new releases.