This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
Affected surfaces
Summary
AI summaryBroad release touches Technical Changes, Bug Fixes, What's New, and fix.
Full changelog
This release adds shared toolsets, a new plan builtin toolset for multi-agent collaboration, and a readonly attribute for toolsets and agents, alongside several MCP OAuth reliability fixes and improvements to attachment forwarding and deterministic prompt ordering.
What's New
- Adds a top-level
toolsetsmap to the config schema, allowing toolset definitions to be shared and referenced by name from any agent via a newuse_toolsetsfield - Adds a
planbuiltin toolset that provides agents a shared, persistent scratchpad (write_plan,read_plan, and related tools) for multi-agent collaboration across turns - Adds a
readonlyboolean attribute to bothToolsetandAgentConfig, restricting agents or toolsets to read-only tools when set - Adds
styles.RegisterBuiltinThemes(fsys fs.FS)for Go SDK embedders to contribute additional built-in themes from a filesystem - Adds
SessionIDtoErrorEventand session-aware constructors soisRootEventcorrectly filters child-session errors
Bug Fixes
- Fixes image and PDF attachments being silently dropped for DMR-hosted models that are absent from the models.dev catalog
- Fixes MCP OAuth auto-recovery: a server-side
401 invalid_tokenrejection now evicts and refreshes the token instead of burning all reconnect attempts and enteringStateFailed - Fixes a retry storm on permanent OAuth reconnect errors in MCP
- Fixes non-interactive sessions stalling silently when an OAuth-protected MCP server has no cached token; now fails fast with an error
- Fixes
BuildAuthorizationURLincorrectly appending a second?when the OAuth authorization endpoint already contains a query string - Fixes eval runs failing with
unknown provider type "anthropic"by building the judge model from the populated provider registry - Fixes a TUI dialog being silently dropped when a nested sub-agent stream started in the same session, leaving the run blocked on user input
- Fixes non-deterministic prompt ordering in
ScriptToolSetby sortingshellToolsandtool.Argskeys before iteration, preventing Anthropic prompt-cache misses - Fixes provider registry being empty for RAG toolsets and other code paths after an earlier refactor emptied the default registry
- Fixes a compile error caused by a call site using the old unexported name
interactivePromptsAllowedafter it was renamed toInteractivePromptsAllowed
Technical Changes
- Converts bug and feature GitHub issue templates from markdown to issue forms (
.yml) - Makes registered theme precedence last-wins, using
slices.Backwardfor iteration - Surfaces re-auth notices and ensures background MCP OAuth reconnects are non-interactive
What's Changed
- docs: update CHANGELOG.md for v1.86.0 by @docker-read-write[bot] in https://github.com/docker/docker-agent/pull/3212
- Let embedders register built-in themes via RegisterBuiltinThemes by @EronWright in https://github.com/docker/docker-agent/pull/3182
- docs: update API server, CLI, DMR provider, and Go SDK for PRs #3199 #3201 #3206 #3182 by @aheritier in https://github.com/docker/docker-agent/pull/3215
- docs: add Snapshots feature page by @dgageot in https://github.com/docker/docker-agent/pull/3218
- fix(eval): build judge model from the populated provider registry by @Sayt-0 in https://github.com/docker/docker-agent/pull/3222
- chore: bump docker-agent-action to v2.0.1 by @docker-agent in https://github.com/docker/docker-agent/pull/3214
- fix: forward image and PDF attachments for DMR models by @Sayt-0 in https://github.com/docker/docker-agent/pull/3197
- fix(mcp): auto-recover remote MCP OAuth on server-side invalid_token by @aheritier in https://github.com/docker/docker-agent/pull/3207
- chore: convert bug/feature issue templates to issue forms by @aheritier in https://github.com/docker/docker-agent/pull/3134
- fix(tui): keep pending dialog when a nested sub-agent stream starts by @aheritier in https://github.com/docker/docker-agent/pull/3221
- fix: restore provider registry after cf5a430d2 emptied the default by @dgageot in https://github.com/docker/docker-agent/pull/3196
- Add SessionID to ErrorEvent so isRootEvent correctly filters child errors by @simonferquel-clanker in https://github.com/docker/docker-agent/pull/3224
- fix: fail fast on OAuth MCP auth in non-interactive sessions by @Sayt-0 in https://github.com/docker/docker-agent/pull/3213
- fix: correct exported name InteractivePromptsAllowed in OAuth MCP handler by @dgageot in https://github.com/docker/docker-agent/pull/3225
- feat: add readonly attribute for toolsets and agents by @dgageot in https://github.com/docker/docker-agent/pull/3226
- ci: don't cancel in-progress runs on main by @dgageot in https://github.com/docker/docker-agent/pull/3228
- feat: add top-level shared toolsets with use_toolsets agent field by @dgageot in https://github.com/docker/docker-agent/pull/3232
- feat: add plan builtin toolset for shared multi-agent collaboration by @dgageot in https://github.com/docker/docker-agent/pull/3227
- fix(mcp/oauth): merge query params when building authorize URL (#3229) by @aheritier in https://github.com/docker/docker-agent/pull/3230
- fix: sort script toolset keys for deterministic prompt ordering by @simonferquel-clanker in https://github.com/docker/docker-agent/pull/3235
New Contributors
- @EronWright made their first contribution in https://github.com/docker/docker-agent/pull/3182
Full Changelog: https://github.com/docker/docker-agent/compare/v1.86.0...v1.87.0
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Earlier breaking changes
- v1.71.0 Freezes configuration schema v9 and starts v10 as latest version
Beta — feedback welcome: [email protected]