github docker/docker-agent v1.32.5

2 hours ago

This release improves agent reliability and performance with better tool loop detection, enhanced MCP handling, and various bug fixes.

What's New

  • Adds framework-level tool loop detection to prevent degenerate agent loops when the same tool is called repeatedly
  • Adds support for dynamic command expansion in skills using !\command`` syntax
  • Adds support for running skills as isolated sub-agents via context: fork frontmatter
  • Adds CLI flags (--hook-pre-tool-use, --hook-post-tool-use, etc.) to override agent hooks from command line
  • Adds stop and notification hooks with session lifecycle integration

Improvements

  • Reworks thinking budget system to be opt-in by default with adaptive thinking and effort levels
  • Caches syntax highlighting results for code blocks to improve markdown rendering performance
  • Optimizes MCP catalog loading with single fetch per run and ETag caching
  • Derives meaningful names for external sub-agents instead of using generic 'root' name
  • Optimizes filesystem tool performance by avoiding duplicate string allocations
  • Speeds up history loading with ReadFile and strconv.Unquote optimizations

Bug Fixes

  • Fixes context cancelling during RAG initialization and query operations
  • Fixes frozen spinner during MCP tool loading
  • Fixes model name display in TUI sidebar for all model types
  • Fixes two data races in shell tool execution
  • Fixes character handling issues in tmux integration
  • Fixes binary download URLs in documentation to match release artifact naming
  • Validates thinking_budget effort levels at parse time and rejects unknown values

Technical Changes

  • Removes unused methods from codebase
  • Hardens and simplifies MCP gateway code
  • Adds logging for selected model in Agent.Model() for better observability
  • Fixes pool_size reporting to reflect actual selection pool
  • Reverts timeout changes for remote MCP initialization and tool calls

What's Changed

  • Fix rag init context cancel by @gtardif in #2114
  • docs: update CHANGELOG.md for v1.32.4 by @docker-read-write[bot] in #2112
  • Bump dependencies by @dgageot in #2113
  • Fix frozen spinner during MCP tool loading by @dgageot in #2115
  • Support dynamic command expansion in skills (!command syntax) by @dgageot in #2116
  • Fix model name display in TUI sidebar for all model types by @dgageot in #2118
  • perf(markdown): cache syntax highlighting results for code blocks by @dgageot in #2119
  • feat: framework-level tool loop detection by @derekmisler in #2123
  • Fix issues on builtin filesystem tools by @dgageot in #2125
  • Fix two data races in shell tool by @dgageot in #2127
  • Fix a few characters for tmux by @dgageot in #2128
  • Simplify MCP catalog loading: single fetch per run with ETag caching by @dgageot in #2124
  • docs: fix binary download URLs to match release artifact naming by @dgageot in #2129
  • More doc fixing with "agent serve mcp" by @gtardif in #2130
  • Rework thinking budget: opt-in by default, adaptive thinking, effort levels by @dgageot in #2121
  • Add timeouts to remote MCP initialization and tool calls by @dgageot in #2131
  • Optimize start time by @dgageot in #2138
  • gateway: harden and simplify MCP gateway code by @dgageot in #2133
  • Derive meaningful names for external sub-agents instead of using 'root' by @dgageot in #2132
  • Add --hook-* CLI flags to override agent hooks from the command line by @dgageot in #2135
  • feat: support running skills as isolated sub-agents via context: fork by @dgageot in #2137
  • Revert "Add timeouts to remote MCP initialization and tool calls" by @dgageot in #2141
  • Add stop and notification hooks, wire up session lifecycle hooks by @dgageot in #2136
  • Reject unknown thinking_budget effort levels at parse time by @dgageot in #2142
  • Log selected model in Agent.Model() for alloy observability by @derekmisler in #2134

Full Changelog: v1.32.4...v1.32.5

Don't miss a new docker-agent release

NewReleases is sending notifications on new releases.