v1.3.206
Release v1.3.206
Bug Fixes
Detector Delta Filtering Root Cause Fix (#113, #114)
Fixed a systemic false-positive pattern across three detectors that used line numbers as delta deduplication keys. When code above a detection target was edited (comments, imports, blank lines), line numbers shifted, causing unchanged findings to be re-reported as "new" violations.
- #113
hardcoded_host_check: Removed position string (filename:line:col) from Go AST findings — now matches the position-free format already used by JS/TS/Python detection paths - #114
context_leak_check: Replacedline intdelta key with content fingerprint (enclosingFunc + ":" + contextMethod) - #114
slice_bounds_check: Replacedline intdelta key with content fingerprint (enclosingFunc + ":" + varName + "[index]")
Detector False Positive Fixes (#95, #97, #98, #104-#106, #111, #112)
- #95:
constraint_violationleave-alone patterns now use regex instead of broken literal.*matching - #97:
nil_deref_after_errorcorrectly handles multiple error variables in the same scope - #98:
error_swallow_detectiondelta detection no longer re-reports after edits - #104:
overcorrection_cascadestep counter logic fixed (recordNonEditStep) - #105:
spec_gamingCI path matching usesfilepath.Baseexact match instead of substring - #106:
assertion_presenceextracts actual test parameter name from AST instead of hardcoded"t" - #111:
ignored_error_checkno longer flagsbytes.Buffer/strings.BuilderWrite methods as ignored errors - #112:
debug_stmt_checkRuby pattern requires(or"— bare variablepno longer flagged
Core Infrastructure Fixes (#99-#103, #107-#110)
- #99-#100:
search_filespath extraction fixed +editSizedelta measurement consistency - #101: Windows daemon PID check now uses
util.IsProcessAlive - #102: Hook execution supports context cancellation via
HookEnv.Ctxfield - #103:
multi_file_writeimplements atomic rollback on partial failure - #107: Desktop IM adapter update preserves existing fields instead of overwriting
- #108: OpenAI provider nil capacity pointer dereference crash fixed
- #109: Subagent manager map writes now properly locked
- #110: Reasoning effort setting persists across turns instead of being reset
Desktop
- #96: Fixed grim screenshot region coordinate format
- Skip locked sessions when resuming on workspace switch
Test Improvements
- Regression tests for
multi_file_writeatomic rollback - Hook context cancellation tests
duplicate_code_checkbag-of-tokens false positive regression tests
Full Changelog: v1.3.205...v1.3.206