github docker/docker-agent v1.152.0

6 hours ago

This release delivers significant Claude 5.x support improvements, RAG sharing optimizations, security hardening for the REST API, and history load performance gains.

What's New

  • Adds syntax highlighting for scripts in common shell wrappers, including Python, Node/JavaScript, Ruby, Perl, and shell heredocs in the TUI
  • Adds an explicit Claude 5.x model table covering nine models, replacing name-based guesses for request policy on Anthropic Direct, Vertex, and Bedrock
  • Adds warnings and refusals when Claude 5.x cannot honor thinking_budget none, and rejects final assistant prefill for Claude 5.x
  • Refuses server-side fallback involving Claude 5.x and refuses Claude Mythos 5 on Bedrock (unsupported configurations)
  • Adds versioned, attributed provider raw state (ProviderState gains Version and Model fields) with explicit policy for unreplayable thinking blocks
  • Adds helpers for raw-state replay policy and seals provider state after generated media

Improvements

  • Deduplicates history entries in linear time on load, replacing a quadratic scan-and-splice approach
  • Redacts loaded history messages concurrently across available CPU workers, reducing sequential redaction overhead
  • Shares a single RAG index, file watcher, and embedding concurrency cap across all agents referencing the same RAG definition, eliminating redundant re-indexing
  • Accumulates Bedrock native block text in a strings.Builder instead of copying immutable strings on every delta, fixing quadratic behavior on Bedrock streams

Bug Fixes

  • Fixes OAuth token endpoint auth method: registration now requests client_secret_post unless the server only offers basic or none, and token exchange follows the registered method
  • Fixes OAuth default: omitted token_endpoint_auth_methods_supported and token_endpoint_auth_method now default to client_secret_basic
  • Locks down the REST session API against CSRF and DNS rebinding: rejects cross-origin requests on all methods, validates Host headers on unauthenticated TCP listeners, and requires tokens on non-loopback listeners
  • Fixes Anthropic Haiku 5.x: omits sampling parameters (e.g. temperature) that the model rejects
  • Fixes RAG: skips re-embedding files already indexed by another store, and does not attribute shared background indexing to a session
  • Fixes Bedrock: captures, persists, and replays native Claude reasoning blocks in order; never replays unsigned reasoning blocks
  • Fixes Anthropic: preserves thinking blocks from another provider's raw state
  • Fixes structured output on Claude 5.x: fails correctly without a prefill retry
  • Fixes provider factory: keeps VertexAI out of the factory's dependencies; scopes the Claude 5.x thinking warning to Model Garden and zero budgets
  • Fixes images in tool results: restores typed image attachments after tool replies, handles the explicit-cache path, and preserves following user text on message merge
  • Fixes theme watcher races: ThemeWatcher now uses a blocking, context-owned Run method instead of an internally managed goroutine
  • Fixes transcription: preserves transcripts and errors through dictation finalization; Capturer.Run and Transcriber.Run are now context-owned per run
  • Replaces models removed from the models.dev snapshot

Technical Changes

  • Refreshes the embedded models.dev catalog snapshot (+661 added, -71 removed, ~381 modified)
  • Updates Go to 1.27.3, picking up security fixes

What's Changed

  • fix: lock down REST session API against CSRF and DNS rebinding by @dgageot in #4632
  • perf(history): deduplicate entries in linear time on load by @dgageot in #4633
  • fix(oauth): send the registered token auth method by @locker95 in #4595
  • chore(deps): bump portcullis to v1.1.2 by @dgageot in #4635
  • docs: update CHANGELOG.md for v1.151.0 by @docker-read-write[bot] in #4638
  • perf(history): redact loaded messages concurrently by @dgageot in #4639
  • chore: refresh models.dev snapshot (+661 -71 ~381) by @github-actions[bot] in #4631
  • fix(anthropic): omit sampling params for Haiku 5.x by @locker95 in #4640
  • feat: highlight scripts in common shell wrappers by @rumpl in #4649
  • fix(rag): share one index across agents referencing the same RAG by @aheritier in #4650
  • docs: document TUI shell command syntax highlighting (2026-10-20) by @aheritier in #4662
  • test(runtime): make TestHandleStream_ContextCancellation deterministic by @aheritier in #4648
  • test(teamloader): stop LSP tests from auto-installing gopls by @aheritier in #4647
  • fix: preserve images in tool results by @topabomb in #4661
  • chore: bump direct Go dependencies by @dgageot in #4663
  • fix(claude): explicit Claude 5.x model table for request policy by @aheritier in #4657
  • feat(claude): refuse Claude 5.x fallbacks and Mythos 5 on Bedrock by @aheritier in #4658
  • fix(bedrock): capture and replay native Claude reasoning blocks by @aheritier in #4666
  • perf(bedrock): accumulate native block text in a strings.Builder by @aheritier in #4667
  • test: shrink GitHub archive file-count fixtures by @dgageot in #4670
  • test: disable tool installation when loading examples by @dgageot in #4669
  • feat(provider): versioned raw state and explicit policy for unreplayable thinking by @aheritier in #4668
  • fix: harden context-owned theme watching by @dgageot in #4673
  • refactor: make transcription and capture context-owned per run by @dgageot in #4674
  • test: speed up test fixtures and completion checks by @dgageot in #4675
  • ci: prune unused Go build-cache entries before saving by @dgageot in #4676
  • bump Go to 1.27.3 by @trungutt in #4679

New Contributors

Full Changelog: v1.151.0...v1.152.0

Don't miss a new docker-agent release

NewReleases is sending notifications on new releases.