Skip to content

v1.62.0

Choose a tag to compare

@docker-read-write docker-read-write released this 21 May 12:23
· 383 commits to main since this release
8143005

This release improves error handling for model context overflow, adds external coding harness support, and includes numerous TUI fixes and performance optimizations.

What's New

  • Adds external coding harness agents that delegate coding tasks to external coding CLIs
  • Adds support for running context: fork slash commands as sub-sessions instead of inlining them
  • Adds docker-agent kit staging in sandbox with skills and prompt files

Improvements

  • Classifies overflow errors by kind to provide more specific error messages for different types of context window issues
  • Optimizes session browser rendering to only render visible window rows for better performance with large session histories
  • Improves shutdown safety by racing Wait() against deadline and calling ReleaseTerminal on timeout
  • Updates Gemini adapter to forward stream chunks that carry only UsageMetadata for accurate token counting

Bug Fixes

  • Fixes URL clicks in TUI by properly handling mouse events
  • Fixes crash prevention by not notifying on click if the agent didn't change
  • Fixes deadlock in TUI exit safety net and race conditions in shutdown handling
  • Fixes auto-scroll blocking user scroll in long elicitation dialogs
  • Fixes MCP tool name prefix stripping in callTool functionality
  • Fixes OpenAI strict mode support for Notion and Jira MCP tools with gpt-5
  • Fixes user_prompt dialog to open scrolled to top and respect user scrolling
  • Fixes keychain prompts in tests by using in-memory token store
  • Fixes MCP OAuth handler to drop stray callbacks and respond with proper HTTP status codes

Technical Changes

  • Bounds three previously-unbounded caches to prevent memory growth on long sessions
  • Uses SSRF-safe HTTP client for remote skills registry
  • Honors Cache-Control headers properly in skills caching
  • Extracts lrucache package and bounds unbounded caches
  • Refactors model override into runAgent request body for atomic model selection
  • Updates Grok example to use grok-4.3 model
  • Treats wezterm as a terminal that handles shift+enter properly
  • Adds clean task to remove generated binary
  • Updates various dependencies including Anthropic SDK, AWS Bedrock runtime, and Docker CLI

What's Changed

  • docs: update CHANGELOG.md for v1.61.0 by @docker-read-write[bot] in #2822
  • modelerrors: make overflow errors more specific by @trungutt in #2818
  • Add .cache to .gitignore by @rumpl in #2827
  • Treat wezterm as a terminal that knows how to handle shift+enter by @rumpl in #2825
  • Don't notify on click if the agent didn't change by @rumpl in #2824
  • tui: Fix URL clicks by @vvoland in #2823
  • feat: add external coding harness agents by @rumpl in #2826
  • perf(tui): only render visible session rows in /sessions dialog by @dgageot in #2830
  • docs: document allow_private_ips option and SSRF protection in fetch tool by @dgageot in #2833
  • fix(tui): bound previously-unbounded caches to prevent OOM on long sessions by @dgageot in #2831
  • Misc Security fixes by @dgageot in #2820
  • fix: use in-memory token store in tests to avoid OS keychain prompt by @dgageot in #2836
  • fix MCP tool name prefix stripping in callTool by @dgageot in #2837
  • chore(examples): remove shebang lines and executable bits by @dgageot in #2838
  • docs(memory): fix incorrect default database path placeholder by @kenijkawada in #2835
  • fix(tui): user_prompt dialog opens scrolled to top and respects user scrolling by @dgageot in #2843
  • feat(mcpcatalog): hide disable / reset_auth tools when no server is enabled by @dgageot in #2840
  • fix(tui): restore terminal on Ctrl-C when bubbletea shutdown stalls by @dgageot in #2842
  • fix(examples): update grok example to use grok-4.3 by @dgageot in #2846
  • chore: add clean task to remove generated binary by @dgageot in #2847
  • test(server): make TestAttachedServer_DeleteSessionStopsEventStream more robust by @dgageot in #2845
  • chore: bump direct Go dependencies by @dgageot in #2849
  • fix(openai): support Notion and Jira MCP tools with gpt-5 strict mode by @dgageot in #2839
  • fix(gemini): forward stream chunks that carry only UsageMetadata by @kenijkawada in #2848
  • docs+config: surface the two env-variable expansion syntaxes (#2615) by @dgageot in #2851
  • feat(skills): run context: fork slash commands as sub-sessions by @dgageot in #2850
  • refactor(api): fold model override into runAgent request body by @dgageot in #2852
  • feat(sandbox): docker-agent kit, gateway allowlist, and assorted --sandbox fixes by @dgageot in #2844

New Contributors

Full Changelog: v1.61.0...v1.62.0