Skip to content

v1.3.206

Choose a tag to compare

@topcheer topcheer released this 13 Aug 14:28
· 1220 commits to main since this release

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: Replaced line int delta key with content fingerprint (enclosingFunc + ":" + contextMethod)
  • #114 slice_bounds_check: Replaced line int delta key with content fingerprint (enclosingFunc + ":" + varName + "[index]")

Detector False Positive Fixes (#95, #97, #98, #104-#106, #111, #112)

  • #95: constraint_violation leave-alone patterns now use regex instead of broken literal .* matching
  • #97: nil_deref_after_error correctly handles multiple error variables in the same scope
  • #98: error_swallow_detection delta detection no longer re-reports after edits
  • #104: overcorrection_cascade step counter logic fixed (recordNonEditStep)
  • #105: spec_gaming CI path matching uses filepath.Base exact match instead of substring
  • #106: assertion_presence extracts actual test parameter name from AST instead of hardcoded "t"
  • #111: ignored_error_check no longer flags bytes.Buffer/strings.Builder Write methods as ignored errors
  • #112: debug_stmt_check Ruby pattern requires ( or " — bare variable p no longer flagged

Core Infrastructure Fixes (#99-#103, #107-#110)

  • #99-#100: search_files path extraction fixed + editSize delta measurement consistency
  • #101: Windows daemon PID check now uses util.IsProcessAlive
  • #102: Hook execution supports context cancellation via HookEnv.Ctx field
  • #103: multi_file_write implements 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_write atomic rollback
  • Hook context cancellation tests
  • duplicate_code_check bag-of-tokens false positive regression tests

Full Changelog: v1.3.205...v1.3.206