[1.1.62] - 2026-11-04
Changed
scripts/blinter.inino longer disables rules. It only raises the line-length limit to 120 and hides the summary- Install and uninstall PowerShell helpers run with
-ExecutionPolicy RemoteSigned. The batch file writes those helpers itself, so Bypass is not required - The installer probes curl with
curl --versionbefore downloading - The GitHub release
FOR /Fstates that the helper's URL, tag, and digest are separated by spaces - The version-probe temporary name uses
!RANDOM!inside its parenthesized block - The registry helpers split two lines that were longer than 120 characters, in both the PowerShell fixtures and the echo blocks
- The MegaLinter install pin is 1.1.62
Fixed
- charset_normalizer's
utf_8name is recognized as UTF-8. An ASCII script whose detection crosses the coherence threshold no longer logs that it was read as a non-UTF-8 encoding - S010 no longer reports a label that execution falls through. The label is dead only when nothing names it with GOTO or CALL and no path falls into it, such as a label after a top-level EXIT or GOTO.
if ... gotoand|| gotostill count as references - A line ending in
^is one command with the next physical line.echo bye ^followed byexitorgotodoes not leave.echo hi & ^followed byexitorgotodoes. An IF that continues onto(still owns that block - S018 now asks for a parameter and return comment only on a label that an executable
call :nameinvokes, includingcall :nameafter IF or||. A GOTO target or a fall-through label is not a subroutine.call :nameon the continuation ofecho bye ^is not a call;call :nameafterecho hi & ^is - P008 no longer reports
!VAR!below a block that runs ENDLOCAL and ends in EXIT or GOTO, nor belowif ... endlocal & exit /b: those lines run only when the ENDLOCAL did not. Where asetlocal disabledelayedexpansionis open at such an ENDLOCAL, it now stays open below the block, so P008 can report!VAR!there - P008 keeps that ENDLOCAL, as before, in the cases the docstrings of
_ExitScanand_build_delayed_expansion_stateinsrc/blinter/parsing/structure.pygive, such as a block that holds a SETLOCAL or a GOTO before its last command, or a piped EXIT