v1.3.126
v1.3.126
New Features
-
Screenshot tool — Capture screenshots of windows, displays, or screen regions. Supports macOS (CGWindowID), Linux (X11/Wayland), and Windows (Win32 API). Includes auto-resize with CatmullRom interpolation for optimal LLM readability.
-
Error-streak detection — When 4+ consecutive tool calls return errors (even with different tools/arguments), the agent injects strategic guidance to break the failure cycle. Implements the Reflexion paper's core insight for self-correction.
-
Post-edit verification hint — After editing Go files, the agent suggests running the appropriate build/lint command. Implements the "generate-verify-fix loop" pattern from the Iterative Refinement Loop research.
-
Run summary on max iterations — When the agent hits the iteration limit, it generates a summary of progress made, rather than stopping silently.
Bug Fixes
-
LSP pending map leak — Orphaned entries in the LSP client's pending request map were never cleaned up on context cancellation or write errors, causing slow memory growth in long sessions with heavy LSP usage.
-
Provider HTTP transport connection leak — Missing
IdleConnTimeout,MaxIdleConns, andMaxIdleConnsPerHoston the LLM provider transport caused idle connections to accumulate in long-running TUI/daemon sessions. -
IM auto-mute state destroyed by bindIMSession —
UnbindSession()was called speculatively when session was nil, wiping all muted/disabled binding state. Fixed to preserve runtime state during the gap betweenSetIMManagerandSetSession. -
Screenshot window capture on macOS — Used AppleScript Accessibility ID instead of CGWindowID, causing window capture to fail silently.
-
Ratchet rule save errors swallowed —
RuleStore.save()errors were silently ignored with_ = rs.save(). Now logs the error viadebug.Log. -
Screenshot test OOM — Test allocated a 200MB image buffer, causing OOM under memory-limited CI.