github docker/docker-agent v1.94.0

latest releases: v1.96.0, v1.95.0
7 hours ago

This release significantly expands model provider support with 12 new built-in providers, adds mouse support and new commands to the TUI, introduces a SafetyPolicy primitive, and includes numerous bug fixes and performance improvements.

What's New

  • Adds Baseten as a built-in model provider (provider: baseten)
  • Adds OVHcloud AI Endpoints as a built-in model provider (provider: ovhcloud)
  • Adds Groq as a built-in model provider (provider: groq)
  • Adds DeepSeek as a built-in model provider (provider: deepseek)
  • Adds Cerebras as a built-in model provider (provider: cerebras)
  • Adds Fireworks AI as a built-in model provider (provider: fireworks)
  • Adds Together AI as a built-in model provider (provider: together)
  • Adds Hugging Face Inference Providers as a built-in model provider (provider: huggingface)
  • Adds Moonshot AI (Kimi) as a built-in model provider (provider: moonshot)
  • Adds Vercel AI Gateway as a built-in model provider (provider: vercel)
  • Adds Cloudflare Workers AI and Cloudflare AI Gateway as built-in model providers
  • Adds mouse support to the agent picker: hover highlights a card, single click selects it, double-click immediately starts the session, and scroll wheel navigates the YAML details panel
  • Adds metadata tags field to agent config and surfaces tags as coloured chips in the agent picker
  • Adds /effort slash command to select the model's reasoning level directly (available in both full and lean TUI)
  • Adds SafetyPolicy primitive (unsafe/safer/strict) to sessions, forwarded to hooks via hooks.Input.SafetyPolicy
  • Enforces lifecycle.startup_timeout for MCP/LSP toolset startup, which was previously parsed but never acted on
  • Adapts safer_shell hook classification to the session SafetyPolicy
  • Collapses file picker keyboard shortcuts to a single line on wide dialogs
  • Strengthens default memory toolset instructions

Improvements

  • Memoizes successful OCI config reads per process, halving warm startup latency for OCI agent refs
  • Suppresses spurious empty-response warning for benign post-tool stops in forked-skill sub-sessions
  • Agent picker dialog is larger and truncates long lines instead of wrapping; cards are 70 columns wide

Bug Fixes

  • Fixes coalescing of system messages for self-hosted and OpenAI-compatible endpoints that reject multiple system messages (e.g. vLLM with Qwen)
  • Fixes OVHcloud default model to Qwen3.5-397B-A17B
  • Fixes macOS Option-key characters not triggering file picker alt+h/alt+i visibility toggles
  • Removes duplicate "Initializing MCP servers…" spinner from the sidebar that fired on every turn even for agents with no MCP servers
  • Adds 5-second timeout to graceful-shutdown calls that previously used WithoutCancel without a deadline, preventing indefinite blocking
  • Fixes concurrent Connect races and goroutine leak on startup timeout for MCP/LSP toolsets
  • Fixes auto-deny of tool asks in non-interactive sessions instead of blocking indefinitely
  • Fixes tool-call confirmations being dropped without a Resume under --yolo in JSON mode
  • Fixes Anthropic provider falling back to token thinking for effort levels on models without adaptive thinking support (e.g. Haiku 4.5)
  • Fixes tool call render briefly disappearing or shrinking while JSON arguments are still streaming in the lean TUI
  • Clamps max_tokens to the context window for OpenAI-compatible providers to prevent "context window exceeded" errors on self-hosted vLLM
  • Fixes cost and context limit display in the lean TUI

Technical Changes

  • Derives provider API-key env vars forwarded to eval containers from the provider registry instead of a hard-coded list
  • Refactors provider client boilerplate into shared helpers across openai, anthropic, gemini, bedrock, and dmr clients
  • Consolidates OpenAI-compatible alias provider tests into a single shared test
  • Extracts shared calleeObject helper in lint cops to remove duplication
  • Adds OTelTracerName lint cop to enforce scoped OpenTelemetry tracer names
  • Replaces 44 time.Sleep calls in the test suite with deterministic synchronization primitives

What's Changed

  • docs: update CHANGELOG.md for v1.93.0 by @docker-read-write[bot] in #3339
  • docs: sync documentation with recent main merges by @aheritier in #3340
  • feat: add Baseten provider support by @dgageot in #3341
  • feat: add OVHcloud AI Endpoints provider support by @aheritier in #3343
  • chore: bump github.com/anthropics/anthropic-sdk-go to v1.55.0 by @dgageot in #3345
  • feat: add Groq as a supported model provider by @Sayt-0 in #3358
  • fix(openai): coalesce system messages for self-hosted and open-model endpoints by @Sayt-0 in #3357
  • feat: add DeepSeek as a supported model provider by @Sayt-0 in #3361
  • docs: group and collapse left navigation sections by @aheritier in #3360
  • docs: list providers alphabetically by name in nav by @aheritier in #3364
  • fix(docs): restore inline code contrast in light mode by @aheritier in #3365
  • feat: collapse file picker shortcuts to one line on wide dialogs by @dgageot in #3366
  • fix(tui): remove duplicate MCP-init spinner from sidebar by @dgageot in #3367
  • fix: add 5s timeout to graceful-shutdown calls that used WithoutCancel by @dgageot in #3370
  • feat: add Cerebras as a supported model provider by @Sayt-0 in #3368
  • fix(tui): accept macOS Option-key chars for file picker toggles by @Sayt-0 in #3333
  • feat: add Fireworks AI as a supported model provider by @Sayt-0 in #3369
  • test: consolidate OpenAI-compatible alias provider tests by @dgageot in #3374
  • refactor(config): derive provider API-key env vars from config by @dgageot in #3375
  • feat: enforce lifecycle.startup_timeout for MCP/LSP toolset startup by @dgageot in #3373
  • feat: add Hugging Face Inference Providers as a supported model provider by @Sayt-0 in #3379
  • docs: tighten comment guidance in AGENTS.md by @dgageot in #3380
  • fix: unblock headless tool-Ask paths (dispatcher + JSON runner) by @melmennaoui in #3377
  • feat(session): add SafetyPolicy primitive and hook pass-through by @melmennaoui in #3378
  • feat: add Together AI as a supported model provider by @Sayt-0 in #3376
  • fix(anthropic): use token thinking for effort levels on models without adaptive support by @Sayt-0 in #3381
  • fix(tui): keep tool call render stable while args stream by @rumpl in #3382
  • feat(hooks/safer_shell): adapt classification to session SafetyPolicy by @melmennaoui in #3383
  • feat: add Moonshot AI (Kimi) as a supported model provider by @Sayt-0 in #3384
  • feat: add Vercel AI Gateway as a supported model provider by @Sayt-0 in #3385
  • feat: add Cloudflare Workers AI and AI Gateway as model providers by @Sayt-0 in #3389
  • test: make models-list tests hermetic and parallelizable by @dgageot in #3388
  • feat(lint): add OTelTracerName cop to enforce scoped tracer names by @dgageot in #3386
  • feat: add tags field to agent config metadata by @dgageot in #3390
  • feat: add mouse support to the agent picker (hover, double-click, wheel) by @dgageot in #3391
  • fix(runtime): suppress spurious empty-response warning for benign post-tool stops by @dgageot in #3392
  • feat(memory): strengthen default toolset instructions by @dgageot in #3395
  • fix: clamp max_tokens to the context window for OpenAI-compatible providers by @Sayt-0 in #3393
  • test: make the test suite faster and sleep-free by @dgageot in #3399
  • perf(config): memoize successful OCI reads to halve warm startup latency by @dgageot in #3397
  • fix: show lean tui cost and context limit by @rumpl in #3400
  • refactor: extract shared calleeObject helper in lint cops by @dgageot in #3396
  • feat: show metadata tags as coloured chips in the agent picker by @dgageot in #3394
  • refactor(provider): deduplicate provider client boilerplate by @dgageot in #3398
  • feat(tui): add /effort command to select the model's reasoning level by @Sayt-0 in #3403

Full Changelog: v1.93.0...v1.94.0

Don't miss a new docker-agent release

NewReleases is sending notifications on new releases.