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 refactor.
Full changelog
This release adds session context referencing and 1Password secret caching, fixes silent failures on empty/reasoning-only agent turns, and resolves environment variable substitution in model configuration fields.
What's New
- Adds a
session_contexttoolset withlist_sessionsandread_sessiontools, allowing agents to reference previous sessions as context - Adds
WithRootoption to worktree creation to decouple from the global data directory - Caches
op://secret resolutions and coalesces concurrent lookups to avoid redundantopCLI invocations
Bug Fixes
- Fixes silent failure when the runtime receives empty or reasoning-only turns; these are now surfaced instead of dropped
- Fixes whitespace-only turns being treated as valid output, which could cause re-entry loops
- Fixes
${env.X}references inmodelandbase_urlconfig fields not being substituted before being sent to providers - Fixes
${env.X}placeholders not being accepted in thebase_urlschema validation - Fixes empty agent responses on OpenAI-compatible providers caused by multiple consecutive system messages; consecutive system messages are now merged on the
openai_chatcompletionspath (scoped toopenai_chatcompletionsendpoints) - Fixes
os.ChmodinRegistry.Writebreaking non-owner callers by making the permission tightening best-effort - Fixes a data race on the
defaultRegistrypointer by switching toatomic.Pointer - Fixes
${env.VAR}not being normalized beforeos.ExpandEnvin filesystem path expansion - Fixes a transient failure when promoting a worktree directory under concurrency
Technical Changes
- Extracts
themeRegistrystruct to eliminate global state and enable parallel-safe tests - Introduces
Registrystruct inrunregistryto replace process-global directory state - Removes process-global clock and ID variables from
pkg/session, moving them into per-session fields - Introduces
Resolvertype inuseridand injects cagent ID source inhttpclientfor parallel-safe tests - Replaces package-level globals with dependency injection across multiple packages to enable parallel-safe tests
- Enables
t.Parallel()across ~337 test functions in the test suite - Makes
${env.X}the canonical variable-expansion syntax in documentation and example YAML files
What's Changed
- docs: update CHANGELOG.md for v1.91.0 by @docker-read-write[bot] in https://github.com/docker/docker-agent/pull/3314
- refactor: introduce Resolver type in userid and inject cagent ID source in httpclient for parallel-safe tests by @dgageot in https://github.com/docker/docker-agent/pull/3321
- chore: bump direct Go dependencies by @dgageot in https://github.com/docker/docker-agent/pull/3315
- refactor: extract themeRegistry struct for parallel-safe tests by @dgageot in https://github.com/docker/docker-agent/pull/3316
- refactor(runregistry): introduce Registry struct and tighten dir permissions by @dgageot in https://github.com/docker/docker-agent/pull/3317
- feat(worktree): add WithRoot option to decouple from global data dir by @dgageot in https://github.com/docker/docker-agent/pull/3318
- feat(1password): cache op:// resolutions and coalesce concurrent lookups by @dgageot in https://github.com/docker/docker-agent/pull/3322
- fix: make chmod in Registry.Write best-effort to avoid breaking non-owner callers by @dgageot in https://github.com/docker/docker-agent/pull/3323
- fix: eliminate themeRegistry data race and TOCTOU window by @dgageot in https://github.com/docker/docker-agent/pull/3324
- refactor: remove process-global clock/ID vars from pkg/session by @dgageot in https://github.com/docker/docker-agent/pull/3319
- fix(config): substitute ${env.X} in model and base_url fields by @Sayt-0 in https://github.com/docker/docker-agent/pull/3304
- refactor: replace test-mutated globals with dependency injection by @dgageot in https://github.com/docker/docker-agent/pull/3326
- docs: make ${env.X} the canonical variable-expansion syntax (+ fixes) by @dgageot in https://github.com/docker/docker-agent/pull/3325
- test: enable t.Parallel() across the test suite by @dgageot in https://github.com/docker/docker-agent/pull/3328
- feat(session_context): reference previous sessions as context by @Sayt-0 in https://github.com/docker/docker-agent/pull/3320
- test: enable t.Parallel() in environment, config, and sessioncontext tests by @dgageot in https://github.com/docker/docker-agent/pull/3329
- fix(#3145): empty agent response from multiple system messages on OpenAI-compatible providers by @Sayt-0 in https://github.com/docker/docker-agent/pull/3327
Full Changelog: https://github.com/docker/docker-agent/compare/v1.91.0...v1.92.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]