GeezerVison is showing github.com — Releases · docker/docker-agent
Releases · docker/docker-agent
v1.160.0
f5cb1d6
This commit was created on GitHub.com and signed with GitHub’s verified signature.
This release upgrades the Go toolchain to version 1.27.4, which includes security fixes.
Technical Changes
- Upgrades Go toolchain from 1.27.3 to 1.27.4, incorporating security fixes in cgo, the Go command, compiler, linker, and net/http
What's Changed
- docs: update CHANGELOG.md for v1.159.0 by @docker-read-write[bot] in #4900
- chore: upgrade Go to 1.27.4 by @aheritier in #4902
Full Changelog: v1.159.0...v1.160.0
Assets
8
Loading
Uh oh!
There was an error while loading. Please reload this page.
v1.159.0
b4fa1eb
This commit was created on GitHub.com and signed with GitHub’s verified signature.
This release adds new providers and Anthropic fast mode support, completes built-in agent definitions, fixes several correctness and security issues, and includes extensive internal refactoring.
What's New
- Adds Obscurify.ai to the built-in provider catalog (OpenAI-compatible, default model
deepseek/deepseek-v4-flash)
- Adds fast mode to the Anthropic provider via
provider_opts.speed (fast | standard) for the Messages API
- Adds support for Claude Fable 5.2 and Mythos 5.2 on Bedrock
- Completes default and minimal built-in agents; the built-in default is now a coding agent with a
minimal general-purpose alternative
- Emits a warning when a final reply is missing after tool use, instead of silently treating it as successful
Improvements
- Ends the Kitty graphics terminal probe on the DA1 reply, reducing startup delay for terminals that do not support Kitty graphics
- Loads prompt history off the startup path, cutting time to first TUI frame
Bug Fixes
- Fixes MCP tool results where separate text blocks were concatenated without separators, causing file lists and other multi-element results to run together
- Fixes Gemini handling of
MALFORMED_FUNCTION_CALL / UNEXPECTED_TOOL_CALL to fail the stream with a non-retryable error instead of silently ending as a finished answer
- Fixes Gemini to omit
thinkingConfig for non-reasoning models (fixes Gemini Flash Image)
- Fixes Gemini to keep invalid function calls non-retryable
- Fixes OpenAI-compatible stream adapter to treat
content_filter finish reason as a refusal instead of passing it through unhandled
- Fixes config loading to accept agent configs and
.env files saved with a UTF-8 BOM (affects files written by PowerShell 5 on Windows)
- Fixes
.agentsignore parsing to remove the 64 KiB per-line scanner limit
- Fixes RAG package detection to stop dropping files with over-long lines
- Fixes transcript writes to be flushed before compaction is persisted, preventing ordering issues on Windows
- Fixes inherited Windows socket handles to be released with
closesocket instead of CloseHandle
- Fixes
docker agent serve acp to use the default agent when no agent argument is specified
- Fixes API read-only hints to apply only to GET requests; other HTTP methods are no longer incorrectly classified as read-only
- Fixes sandbox auto-kits to exclude workspace prompt symlinks, preventing host targets from being copied in
- Fixes message-merge probes to report aggregate prompt tokens correctly
- Fixes Anthropic catalogue pricing to be preserved for
ANTHROPIC_BASE_URL endpoints in fast mode
Technical Changes
- Extensive internal refactoring across runtime, TUI, RAG, providers, shell, config, and other packages — removes redundant helpers, unused adapters, write-only state, and duplicate logic (net ~169 lines removed from production code)
- Refreshes the models.dev catalog snapshot (32 models added, 14 removed, 84 updated)
- Isolates test suites from the developer's home directory to prevent personal config from affecting test results
- Adds opt-in message-merging compatibility probes for provider testing
What's Changed
- refactor(leantui): clone cached tool lines directly by @dgageot in #4868
- refactor(rag): reuse initialization file sets by @dgageot in #4867
- refactor(rag): stop collecting unused fusion ranks by @dgageot in #4865
- refactor(markdown): reuse incremental renderer reset by @dgageot in #4866
- refactor(leantui): inline single-use command filter by @dgageot in #4864
- refactor(cli): reuse model-list JSON encoder by @dgageot in #4863
- refactor(runtime): remove redundant JSON key sorting by @dgageot in #4862
- refactor(bedrock): remove lazy document forwarder by @dgageot in #4861
- refactor(effort): use standard first-match lookup by @dgageot in #4860
- refactor(tui): remove write-only inline edit content by @dgageot in #4859
- refactor(markdown): remove unused derived style state by @dgageot in #4856
- refactor(tui): reuse snapshot pluralization helper by @dgageot in #4857
- refactor(runtime): remove harness tool ID accessor by @dgageot in #4858
- refactor(tasks): remove JSON result forwarder by @dgageot in #4855
- build(deps): bump the actions group across 1 directory with 2 updates by @dependabot[bot] in #4827
- refactor(shell): remove shell detection forwarder by @dgageot in #4853
- refactor(mermaid): reuse sequence canvas for lifelines by @dgageot in #4854
- refactor(skills): consolidate skill lookup by @dgageot in #4851
- refactor(providers): remove stream adapter forwarders by @dgageot in #4852
- refactor(runtime): reuse prompt joiner for delegation notes by @dgageot in #4850
- refactor(codemode): use maps.Clone for schema copies by @dgageot in #4849
- refactor(codemode): remove unused comment indentation layer by @dgageot in #4848
- refactor(tui): remove redundant extractor state flags by @dgageot in #4846
- refactor(leantui): remove image forwarding layer by @dgageot in #4845
- refactor(fetch): remove HTML-to-text forwarding helper by @dgageot in #4844
- refactor(kit): remove unused auto-install check by @dgageot in #4834
- refactor(shellpath): collapse redundant Unix shell helper by @dgageot in #4835
- refactor(runtime): remove unused approval source mappers by @dgageot in #4833
- refactor(skills): remove unused git root helper by @dgageot in #4832
- refactor(httpclient): inline test-only ID source option by @dgageot in #4838
- refactor(path): delegate home shortening to shared helper by @dgageot in #4840
- refactor(tui): remove test-only validation adapters by @dgageot in #4841
- refactor(tui): remove write-only pointer state by @dgageot in #4843
- fix(runtime): flush transcript writes before persisting compaction by @dgageot in #4871
- refactor(anthropic): remove test-only content helper by @dgageot in #4837
- docs: update CHANGELOG.md for v1.158.0 by @docker-read-write[bot] in #4830
- fix(oaistream): end a content_filter turn as a refusal by @jaeminbird in #4825
- fix(acp): use default agent when none is specified by @dgageot in #4876
- Make the default built-in a coding agent by @dgageot in #4875
- refactor(runtime): reuse notifier pointer identity helper by @dgageot in #4847
- refactor(tui): inline agent registry index lookups by @dgageot in #4839
- refactor(rag): remove BM25 document-loading adapter by @dgageot in #4870
- refactor(config): share instruction-file decoder callback by @dgageot in #4869
- refactor(providerutil): remove redundant nil-map guards by @dgageot in #4842
- fix(config): accept agent configs and env files saved with a UTF-8 BOM by @jaeminbird in #4826
- chore: bump direct Go dependencies by @dgageot in #4878
- Bump golang.org/x/term to v0.48.0 by @dgageot in #4879
- fix(server): release inherited Windows sockets with closesocket by @dgageot in #4872
- fix(gemini): fail invalid function calls, end unfinished continuations by @jaeminbird in #4808
- feat: add Obscurify.ai to the built-in provider catalog by @tonydavis629 in #4751
- chore: refresh models.dev snapshot (+32 -14 ~84) by @github-actions[bot] in #4880
- docs: correct configuration and tool guidance by @dgageot in #4885
- feat: support Claude Fable and Mythos 5.2 by @aheritier in #4883
- test(providers): add opt-in message-merging compatibility probes by @onatozmenn in #4831
- refactor: remove accidental complexity in 33 small, behavior-preserving steps by @dgageot in #4887
- fix(mcp): keep separate text blocks of a tool result apart by @jaeminbird in #4802
- fix(rag): stop dropping files with over-long lines in package detection by @TDnorthgarden in https...
Read more
Contributors
dgageot, aheritier, and 7 other contributors
Assets
8
Loading
Uh oh!
There was an error while loading. Please reload this page.
v1.158.0
7f94f37
This commit was created on GitHub.com and signed with GitHub’s verified signature.
This release adds optional config history and model catalog support, improves tool duration visibility in both TUIs, and fixes compaction overflow and theme hot-reload issues.
What's New
- Makes config history and embedded model catalog optional for Go hosts, reducing dependencies and binary data when those features are not needed
- Shows persistent tool duration footers in both TUIs, displaying live durations and retaining final "Completed in …" or "Failed after …" messages
Bug Fixes
- Fixes compaction overflow by retrying the summary request with less history when the context budget is exceeded
- Fixes embedded model snapshot not being included in image context
- Fixes theme watcher stopping across same-theme reloads, which could cause hot-reload edits to be dropped
Technical Changes
- Removes unused wrappers across multiple packages (chat, concurrent, markdown, TUI, promptfiles, genai, logging, session, httpclient, config, creator, skills)
- Moves test-only helpers into test files and adds coverage for configured backup limits
- Refreshes the embedded models.dev catalog snapshot (85 models added, 86 removed, ~258 updated)
What's Changed
- fix(compaction): retry the summary with less history when it overflows by @melmennaoui in #4817
- feat: show persistent tool duration footers in both TUIs by @rumpl in #4819
- docs: update CHANGELOG.md for v1.157.0 by @docker-read-write[bot] in #4812
- Make config history and embedded model catalog optional by @dgageot in #4814
- fix: flaky theme hot-reload, A2A agent card and stream idle-timeout tests by @aheritier in #4821
- refactor: remove unused wrappers and isolate test helpers by @dgageot in #4823
- chore: refresh models.dev snapshot (+85 -86 ~258) by @github-actions[bot] in #4829
Full Changelog: v1.157.2...v1.158.0
Contributors
rumpl, dgageot, and 2 other contributors
Assets
8
Loading
Uh oh!
There was an error while loading. Please reload this page.
v1.157.2
c83962d
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Assets
8
Loading
Uh oh!
There was an error while loading. Please reload this page.
v1.157.1
c83962d
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Assets
8
Loading
Uh oh!
There was an error while loading. Please reload this page.
v1.157.0
c83962d
This commit was created on GitHub.com and signed with GitHub’s verified signature.
This release delivers several bug fixes across runtime token handling, model error recognition, and provider-specific behavior, along with a UI fix for text selection and a new build tag for embedders.
What's New
- Adds
docker_agent_no_hook_templates build tag, allowing embedders to drop text/template from the runtime to reduce binary size (relevant for WebAssembly targets)
- Adds
worktree: true opt-in for background agents to isolate concurrent tasks in separate git worktrees with independent checkouts, tools, and hooks
- Validates structured output using
google/jsonschema-go
Bug Fixes
- Fixes tool calls cut off by the output-token limit being executed with truncated arguments instead of being retracted
- Fixes llama.cpp context overflow errors not being recognized as token overflow, preventing auto-compact from triggering on Docker Model Runner
- Fixes Gemini adapter not reporting
MAX_TOKENS as a length stop or SAFETY stops as refusals, which could cause refused tool calls to execute and loop
- Fixes
sort -ofile and tree -ofile (option operands) being incorrectly classified as safe commands
- Fixes server-side fallback token usage counting only the final attempt's tokens instead of all attempts, allowing token budgets to be exceeded
- Fixes Google SDK endpoint precedence so that
GOOGLE_GEMINI_BASE_URL and GOOGLE_VERTEX_BASE_URL environment variables are not overridden by injected catalog endpoints
- Fixes
OPENAI_BASE_URL not being considered when determining whether hosted (native) tool search should be disabled
- Fixes double-click text selection to use Unicode word boundaries and grapheme-aware hit testing, highlighting, and clipboard extraction
- Fixes runtime not preserving the raw thinking state of a length turn that retracts nothing
What's Changed
- docs: update CHANGELOG.md for v1.156.2 by @docker-read-write[bot] in #4797
- docs: auto-update for merged PRs (2026-11-03) by @aheritier in #4798
- build(deps): bump the actions group across 2 directories with 7 updates by @dependabot[bot] in #4788
- fix(runtime): retract a tool call cut off by the token limit by @PerryLink in #4784
- fix(modelerrors): recognize llama.cpp context overflow by @jaeminbird in #4785
- fix(gemini): report MAX_TOKENS as length and safety stops as refusal by @jaeminbird in #4786
- fix(openai): exclude OPENAI_BASE_URL from hosted tool search by @oyobbeb in #4793
- fix(google): preserve SDK endpoint precedence by @TDnorthgarden in #4790
- fix(runtime): count all server fallback tokens toward budgets by @TDnorthgarden in #4799
- fix(safety): do not classify sort and tree with an option operand as safe by @arxhr007 in #4787
- test(hooks): skip stdin JSON test when jq is missing by @onatozmenn in #4800
- Fix double-click text selection by @dgageot in #4801
- docs: auto-update for merged PRs (2026-11-05) by @aheritier in #4809
- Let embedders drop text/template from the runtime by @trungutt in #4811
New Contributors
Full Changelog: v1.156.2...v1.157.0
Contributors
dgageot, aheritier, and 8 other contributors
Assets
8
Loading
Uh oh!
There was an error while loading. Please reload this page.
v1.156.2
a712a73
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Assets
8
Loading
Uh oh!
There was an error while loading. Please reload this page.
v1.156.1
a712a73
This commit was created on GitHub.com and signed with GitHub’s verified signature.
This release introduces a TypeScript SDK that generates and publishes wire types directly from the Go source, making docker-agent the source of truth for TypeScript API integrations.
What's New
- Adds a TypeScript SDK (
@docker/docker-agent-ts-sdk) that generates TypeScript types for the API wire types, sessions, and events from the Go source code
- Adds generated Zod schemas for built-in tool arguments as part of the TypeScript SDK
- Adds CI checks to build the TypeScript SDK package and verify its contents
What's Changed
- Generate and publish a TypeScript SDK for the API wire types by @trungutt in #4795
Full Changelog: v1.156.0...v1.156.1
Assets
8
Loading
Uh oh!
There was an error while loading. Please reload this page.
v1.155.0
90d3bbe
This commit was created on GitHub.com and signed with GitHub’s verified signature.
This release adds new MCP transport options, a CloudGPU provider, and improved elicitation forms for Claude Code, alongside a range of bug fixes for MCP environment handling, streaming finish reasons, and tool schema correctness.
What's New
- Adds
remote.standalone_sse option to MCP toolsets, enabling the streamable-HTTP standalone SSE stream via YAML configuration
- Adds CloudGPU as a built-in provider in the embedded catalog, discoverable via
CLOUDGPU_API_KEY with deepseek-v4.1-flash as the default model
- Adds multi-select and titled choices support in elicitation forms (checkboxes for array fields, option titles and descriptions for
oneOf/anyOf choices)
- Puts Claude Code's questions (
AskUserQuestion) and plan approvals (ExitPlanMode) to the user as elicitation forms instead of plain text
Improvements
- Centralizes providers into an embedded catalog, replacing hard-coded provider and alias tables
Breaking
- Evaluation containers no longer receive credentials or other environment variables automatically; explicitly forward each variable with
-e NAME or -e NAME=VALUE.
Bug Fixes
- Fixes
${env.X} expansion in MCP toolset env preflight to match runtime expansion behavior
- Fixes MCP supervisors failing to start after an explicit stop; allows reconnection without public API changes
- Fixes text content being dropped when a provider sends the last content delta in the same chunk as a terminal finish reason
- Fixes MCP toolset
env values being silently overridden by the host environment; toolset env now takes precedence
- Fixes
model_context_window_exceeded stop reason on Anthropic and Bedrock being treated as a normal stop instead of truncation
- Fixes typeless enum/const schemas being incorrectly typed as
object; type is now derived from the enum/const values
- Fixes
OPENAI_BASE_URL not being treated as a custom endpoint, causing incorrect behavior with local servers
- Fixes held-back
stop/length finish reason being lost or reported as stop when usage arrives in a separate final chunk
- Fixes concurrent session compaction requests; concurrent manual or overflow compactions are now rejected with
compaction already in progress
- Fixes tool results in evaluation judge transcripts being silently truncated to 500 bytes; full tool responses are now preserved
- Fixes MCP stop and resume to be transport-safe
Technical Changes
- Refreshes the embedded models.dev catalog snapshot
- Updates CloudGPU documentation example to use
kimi-k3 model
What's Changed
- fix: allow MCP supervisors to start after an explicit stop by @rumpl in #4716
- refactor: centralize providers in an embedded catalog by @rumpl in #4755
- docs: update CHANGELOG.md for v1.154.0 by @docker-read-write[bot] in #4758
- docs: add model provider contribution guide by @aheritier in #4761
- chore: update Go dependencies by @dgageot in #4762
- fix: reject concurrent session compaction requests by @rumpl in #4769
- fix(runtime): keep text sent with a terminal finish reason by @locker95 in #4718
- fix(mcp): give the toolset's env precedence over the host environment by @PerryLink in #4744
- fix(codemode): keep runtime-handled tools out of the script toolset by @PerryLink in #4754
- fix(anthropic,bedrock): treat model_context_window_exceeded as truncation by @jaeminbird in #4759
- feat(mcp): add remote.standalone_sse to open the streamable-HTTP standalone stream by @steilerDev in #4741
- fix(evaluation): preserve full tool results in judge transcripts by @melmennaoui in #4771
- feat: add CloudGPU provider (centralized catalog) by @mrhy7176 in #4763
- chore: bump Go dependencies by @dgageot in #4778
- docs(cloudgpu): use kimi-k3 in examples by @mrhy7176 in #4781
- feat(harness): put Claude Code's questions and plan approvals to the user by @Sayt-0 in #4767
- fix(tools): type typeless enum/const schemas from their values by @jaeminbird in #4760
- fix(openai): treat OPENAI_BASE_URL as a custom endpoint by @oyobbeb in #4773
- fix(oaistream): keep a held-back stop/length finish reason by @jaeminbird in #4774
- fix(config): expand ${env.X} in the MCP toolset env preflight by @PerryLink in #4712
- docs: auto-update for merged PRs (2026-10-30) by @aheritier in #4772
- chore: refresh models.dev snapshot (+116 -124 ~284) by @github-actions[bot] in #4789
New Contributors
Full Changelog: v1.154.0...v1.155.0
Contributors
rumpl, dgageot, and 9 other contributors
Assets
8
Loading
Uh oh!
There was an error while loading. Please reload this page.
MysticalMount reacted with thumbs up emoji
1 person reacted
v1.154.0
b8fce99
This commit was created on GitHub.com and signed with GitHub’s verified signature.
This release adds support for the Lunaroute AI provider and fixes compatibility with recent sbx sandbox releases.
What's New
- Adds Lunaroute as an OpenAI-compatible provider, including credential-based selection and model discovery
Bug Fixes
- Fixes compatibility with recent sbx sandbox releases, accepting both array and legacy envelope listings from
sbx ls --json and updating the cloud flag for sbx 0.48–0.50.0
What's Changed
- feat: add Lunaroute provider support by @aheritier in #4750
- fix: support recent sbx sandbox releases by @dgageot in #4753
- docs: update CHANGELOG.md for v1.153.0 by @docker-read-write[bot] in #4752
Full Changelog: v1.153.0...v1.154.0
Contributors
dgageot and aheritier
Assets
8
Loading
Uh oh!
There was an error while loading. Please reload this page.
MysticalMount reacted with thumbs up emoji
1 person reacted
|