Skip to content

v1.83.0

Latest

Choose a tag to compare

@docker-read-write docker-read-write released this 19 Jun 16:21
· 4 commits to main since this release
6ce5097

This release adds an opt-in sudo askpass flow for shell commands, a headless embedded chat session API, and several bug fixes for cost accounting, session handling, and custom provider model resolution.

What's New

  • Adds opt-in sudo_askpass: true flag to the shell toolset, bridging sudo password prompts to the agent's elicitation flow instead of hanging until timeout
  • Adds pkg/embeddedchat, a headless chat session API for embedding docker-agent runtime conversations in non-docker-agent UIs, with support for streaming events, tool call confirmation, conversation restart, and cancellation
  • Makes OpenAI, Anthropic, Google, and Amazon Bedrock providers optional via build tags, allowing embedders to drop unneeded providers and reduce binary size

Improvements

  • Replaces the bleve full-text search library with a lightweight pure-Go BM25 matcher for model routing, removing a large transitive dependency tree and enabling WebAssembly cross-compilation

Bug Fixes

  • Fixes duplicate tool_result blocks for the same tool_call_id being passed to strict providers such as AWS Bedrock
  • Fixes custom providers (defined with base_url + token_key) triggering a blocking fetch of the full models.dev catalog (~3.4 MB) on every turn in internet-restricted environments
  • Fixes reasoning tokens from streaming usage not being recorded for Anthropic extended-thinking models
  • Fixes run_background_agent sub-sessions not being persisted to the store
  • Adds a warning when an uncatalogued model bills $0 with token usage
  • Fixes the Shift+Tab thinking-level cycle in the TUI not offering the max effort tier on Claude models that support it (Opus 4.7/4.8, Sonnet 4.6, Fable 5)

Technical Changes

  • Replaces external go-memoize and go-cache libraries with a new internal pkg/memoize package built on golang.org/x/sync/singleflight
  • Makes the RAG toolset opt-in to remove the cgo dependency on go-tree-sitter from the default build
  • Documents YAML anchors, aliases, and merge keys support in the configuration overview
  • Documents the 10-second per-toolset tool-listing timeout for wedged MCP servers in the troubleshooting guide

What's Changed

  • docs: update CHANGELOG.md for v1.82.0 by @docker-read-write[bot] in #3161
  • docs: document startup tool-listing timeout for wedged MCP servers by @aheritier in #3166
  • fix(modelsdev): skip models.dev fetch for custom providers (#3165) by @Sayt-0 in #3169
  • feat(embeddedchat): add headless chat session API by @dgageot in #3171
  • chore: bump direct Go dependencies by @dgageot in #3170
  • refactor: replace go-memoize and go-cache with internal memoize package by @dgageot in #3172
  • fix(runtime): close cost-accounting blind spots (reasoning tokens, $0 spend leaks) by @dgageot in #3173
  • feat(shell): opt-in sudo askpass flow (#1551) by @Sayt-0 in #3163
  • fix(session): drop duplicate tool results in sanitizeToolCalls by @Sayt-0 in #3162
  • refactor(rag): make the rag toolset opt-in to drop cgo from embedders by @dgageot in #3174
  • docs: document YAML anchors, aliases and merge keys by @Sayt-0 in #3175
  • feat(provider): make openai, anthropic, google, and amazon-bedrock optional by @dgageot in #3176
  • refactor: replace bleve with lightweight BM25 matcher for model routing by @dgageot in #3177
  • fix(modelinfo): offer the max effort tier in the Shift+Tab thinking cycle by @Sayt-0 in #3178

Full Changelog: v1.82.0...v1.83.0