You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Context engineering: tool-use input clearing — When a cleared tool_result's corresponding tool_use Input is large (>200 chars, e.g. edit_file/write_file arguments), it is now mechanically trimmed to a minimal placeholder. Saves thousands of tokens with zero LLM calls. Extends the existing tool-result clearing mechanism.
Streaming lifecycle fix — Fixed text accumulation across LLM turns in the TUI (streamBuffer not reset at turn boundary). Verified desktop, mobile tunnel, and IM paths are unaffected.
New Features
mobile_device tool — Control native mobile apps on iOS Simulator or Android Emulator/Device (tap, type, swipe, snapshot, screenshot, launch, install, logs)
browser status action for session/profile management
web_fetch now includes response body for non-200 HTTP responses
Context budget warning at 80% utilization
/diff prepends diffstat summary when output is truncated
Human-readable tool labels and result summaries for browser, screenshot, and mobile_device tools
Streaming range reads for files >10MB (read_file no longer blocks on large files)
Bug Fixes
TUI streaming: Reset streamBuffer at agentTurnDoneMsg — text from turn N no longer leaks into turn N+1
TUI streaming: Correct reasoning start/done lifecycle per LLM turn — one assistant item per turn, no more text fragmentation or reasoning duplication
TUI streaming: Renamed agentReasoningDoneMsg to agentTurnDoneMsg for clarity
Tool registration: MobileDeviceTool was implemented but never registered in builtin.go — now fixed
Auth: Atomic write for A2A token cache to prevent corruption on crash
Concurrency: Data race fixes in MCP and skill disabled-state caches, Discord interaction timeout
Browser: Fixed JS evaluation double-wrapping, added Chrome process leak prevention with tool lifecycle cleanup
run_command: Keep head+tail when truncating output (was keeping only tail)
CI: Exclude integration tests from CI to prevent OOM, added GOMEMLIMIT
E2E tests: Added integration build tag to harness e2e tests to prevent OOM in make test
WebUI: Fixed race condition in WebSocket handler — SendUserMessage now called before sending ack to prevent test flakiness
Refactoring
Removed built-in Playwright MCP preset (replaced by native browser tool)
Promoted chromedp from indirect to direct dependency
Use shared context.EstimateTokens in /context command for consistency
Upgrade Notes
The browser tool requires Chrome/Chromium installed on the system. It auto-discovers Chrome on macOS, Linux, and Windows.
The Playwright MCP preset has been removed. If you relied on it, use the built-in browser tool instead.