Skip to content

v1.3.126

Choose a tag to compare

@topcheer topcheer released this 04 Jul 19:58
· 3657 commits to main since this release

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, and MaxIdleConnsPerHost on the LLM provider transport caused idle connections to accumulate in long-running TUI/daemon sessions.

  • IM auto-mute state destroyed by bindIMSessionUnbindSession() was called speculatively when session was nil, wiping all muted/disabled binding state. Fixed to preserve runtime state during the gap between SetIMManager and SetSession.

  • Screenshot window capture on macOS — Used AppleScript Accessibility ID instead of CGWindowID, causing window capture to fail silently.

  • Ratchet rule save errors swallowedRuleStore.save() errors were silently ignored with _ = rs.save(). Now logs the error via debug.Log.

  • Screenshot test OOM — Test allocated a 200MB image buffer, causing OOM under memory-limited CI.