This release adds comprehensive OpenTelemetry instrumentation following GenAI semantic conventions, exposes session forking over HTTP, and includes several bug fixes for model streaming, local model detection, and OAuth registration.
What's New
- Adds end-to-end OpenTelemetry instrumentation across the runtime, including provider chat/embed/rerank spans, session and stream spans, MCP client/server and OAuth flows, A2A server, memory, RAG, evaluation, hook executor, and built-in tool internals — following GenAI semantic conventions
- Adds structured status code classification for GenAI errors in telemetry
- Exposes session forking over HTTP, allowing clients to branch a conversation from a specific point in history
- Adds a hidden
--pprof-addrflag (andCAGENT_PPROF_ADDRenv var) toserve apithat starts a Go pprof HTTP server at/debug/pprof/when explicitly configured
Bug Fixes
- Fixes OAuth Dynamic Client Registration to advertise both
authorization_codeandrefresh_tokengrant types, resolving rejections from strict authorization servers - Fixes detection and use of locally-installed Docker Model Runner models, resolving "No model providers available" and "No models available" symptoms when local models are already pulled
- Fixes permanently stalled
docker-agent runsessions caused by blocking SSE stream reads with no idle timeout or context cancellation - Fixes fork validation and stops classifying fork errors by string matching; serializes fork read-modify-write and preserves safety-rail limits
- Fixes
toolset.startspan kind attribute by correctly unwrapping the toolset wrapper
Technical Changes
- Adds tool count attributes to session and MCP spans
- Adds W3C traceparent injection for remote MCP requests
- Migrates CI/CD references from
docker/cagent-actiontodocker/docker-agent-action(v2.0.0)
What's Changed
- docs: update CHANGELOG.md for v1.85.0 by @docker-read-write[bot] in #3194
- fix: advertise refresh_token grant in OAuth DCR + add Miro MCP example by @aheritier in #3192
- feat(otel): instrument runtime with GenAI semantic conventions by @tdabasinskas in #2620
- feat(serve): add live pprof HTTP server to serve api command by @zampani-docker in #3201
- chore: migrate cagent-action to docker-agent-action (v2.0.0) by @docker-agent in #3203
- chore: bump go.yaml.in/yaml/v4 and modernc.org/sqlite by @dgageot in #3195
- fix: add idle timeout and context cancellation to model stream reads by @aheritier in #3210
- docs: update /docs for PRs merged 2026-06-22–23 by @aheritier in #3208
- fix(dmr): detect and use locally-installed Docker Model Runner models by @Sayt-0 in #3206
- feat(server): expose session forking over HTTP by @trungutt in #3199
New Contributors
- @zampani-docker made their first contribution in #3201
- @docker-agent made their first contribution in #3203
Full Changelog: v1.85.0...v1.86.0