github docker/docker-agent v1.116.0

5 hours ago

This release adds sandbox authentication improvements, compaction-model context visibility in the TUI, MCP lifecycle enforcement, and a range of bug fixes across the TUI, CLI, and OpenAI integration.

What's New

  • Adds sbx-login injection for gateway authentication in sandbox environments, replacing the previous file-based token-forwarding mechanism
  • Defaults sandbox creation to the docker/docker-agent-sbx-templates:latest template
  • Creates sandboxes under the canonical docker-agent name
  • Makes oauth clientId optional for remote MCP toolsets, supporting Dynamic Client Registration and interactive credential flows
  • Surfaces the compaction-model context-limit cap explicitly in the /context dialog and sidebar, so users can see when a dedicated compaction model is imposing a smaller context window than the primary model
  • Adds segment-aware click detection on the sidebar Token Usage reading: clicking the token count/percentage opens /context, clicking the cost/⚠ capped area opens /cost; the "Token Usage" title is no longer clickable
  • Enforces lifecycle.call_timeout for MCP tool calls, which was previously parsed but never acted on
  • Exposes spawned TUI tabs (opened with ctrl+t) on the --listen control plane so control-plane clients can observe all active sessions
  • Adds GitHub Copilot to docker agent setup and doctor, recognizing both GITHUB_TOKEN and GH_TOKEN

Bug Fixes

  • Fixes copy buttons rendering in contexts where they were never wired up for hit-testing (reasoning blocks, elicitation dialogs, lean TUI, shell output, welcome messages)
  • Fixes the "copied" flash background on user-message copy labels, which previously rendered with a transparent background
  • Fixes mouse hit-testing falling out of sync when layout shifts without a terminal resize (e.g., after loading a past session with /session)
  • Fixes an infinite loop in backgroundAt when encountering invalid UTF-8 bytes
  • Fixes capability handlers (OAuth elicitation, etc.) not being forwarded to inner toolsets when code_mode_tools: true is set
  • Fixes data races in deferred tools and the BM25 RAG strategy, and prevents a TUI editor panic
  • Fixes wrapped URLs losing their clickability in tool output
  • Fixes the ⚠ capped marker on the sidebar opening /cost instead of /context
  • Fixes docker agent debug not appearing in the root help output
  • Fixes docker agent setup provider path labels to clarify built-in cloud providers vs. custom OpenAI-compatible endpoints
  • Fixes OpenAI Responses API function arguments not being recovered when providers omit response.function_call_arguments.delta

Technical Changes

  • Refactors sandbox integration to assume the modern CLI surface shared by both backends
  • Removes all references to the discontinued agentcatalog Docker Hub namespace, replacing examples with neutral myorg/agent placeholders
  • Freezes config schema v14 and advances latest to v15
  • Refactors board internals: deduplicates column lookup with a columnIndexLocked helper, deduplicates stored-project access with a projectsLocked helper, and consolidates per-card controller state into a single cardState map

What's Changed

  • fix(tui): never render dead code-block copy buttons by @dgageot in #3789
  • docs: update CHANGELOG.md for v1.115.0 by @docker-read-write[bot] in #3790
  • sandbox: rely on sbx-login injection for gateway auth, modern sandbox CLI surface by @dgageot in #3791
  • docs: update slash command and permission pattern docs for recent changes by @aheritier in #3794
  • feat(config): make oauth clientId optional for remote MCP toolsets by @dgageot in #3796
  • fix(tui): keep copy label background under "copied" flash by @dgageot in #3797
  • fix(tui): guard backgroundAt against infinite loop on invalid UTF-8 by @dgageot in #3799
  • fix(tui): keep mouse hit-testing in sync when the layout shifts without a resize by @dgageot in #3798
  • chore: remove every trace of the discontinued agent catalog by @dgageot in #3804
  • chore: bump direct Go dependencies by @dgageot in #3801
  • fix(cli): add GitHub Copilot to setup and doctor by @stkevintan in #3793
  • feat(config): freeze config v14 and start v15 as latest by @dgageot in #3807
  • docs: auto-update for merged PRs (2026-07-23) by @aheritier in #3812
  • docs: improve Ollama and local models discoverability by @aheritier in #3810
  • fix(codemode): forward capability handlers to inner toolsets by @aheritier in #3809
  • docs: auto-update for merged PRs (2026-07-24) by @aheritier in #3815
  • feat(tui): open /context or /cost from the sidebar token-usage reading by @aheritier in #3813
  • feat(tui): surface compaction-model context-limit cap in the TUI by @aheritier in #3811
  • chore: bump direct Go dependencies by @dgageot in #3816
  • refactor(board): simplify app and controller internals by @dgageot in #3817
  • feat: enforce lifecycle.call_timeout for MCP tool calls by @jedp-docker in #3814
  • feat(run): expose spawned TUI tabs on the --listen control plane by @dgageot in #3819
  • fix: resolve data races in deferred tools and BM25 strategy, prevent TUI editor panic by @Piyush0049 in #3822
  • fix(tui): keep wrapped URLs clickable by @Sayt-0 in #3823
  • fix(setup): clarify model provider paths by @Sayt-0 in #3824
  • fix(openai): recover final response tool arguments by @Sayt-0 in #3825
  • fix(tui): open /context (not /cost) when clicking the ⚠ capped marker by @aheritier in #3826
  • fix(cli): show debug command in help by @Sayt-0 in #3827

New Contributors

Full Changelog: v1.115.0...v1.116.0

Don't miss a new docker-agent release

NewReleases is sending notifications on new releases.