mcp/v0.4.0
Auto-drafted from commits in mcp/v0.3.0..mcp/v0.4.0, grouped by conventional-commit type. Edit on the release page after publish if you want a polished writeup; the canonical release notes live on the website.
🚀 Features
- feat(context)!: offload conditions decide granularity (typescript) (#5325) (50a391e)
- feat(mcp): add find_integrations tool backed by the catalog feed (#5878) (085d4de)
- feat(models): handle Bedrock InvokeModel in AnthropicModel (mid-stream errors, API version); add defaultEffort to the shared model info (py + ts) (#6064) (860c07c)
- feat(injection)!: write injected text into history as an injected block (python) (#5977) (228990b)
- feat(harness)!: drop todos from the default built-in plugins (#5974) (23de8a8)
- feat(site): add Decider product navigation (#6036) (39de68e)
- feat(hitl): add "auto" mode to HumanInTheLoop (#5975) (edfb509)
- feat(decisions): add SageMakerDecisionModel for System One models on SageMaker AI endpoints (TypeScript) (#5890) (f8dda55)
- feat(python): let ClassifierStrategy route with any DecisionModel (#5995) (7c35bcd)
- feat(models): give Model.summarize() a client-side base implementation (TS port of #5962) (#6022) (c1a689e)
- feat(cli): merge feature/cli-0.3.0 into main (#5194) (b80085b)
- feat(models): give Model.summarize() a client-side base implementation (#5962) (75a0cdd)
- feat(vended-tools): make the shell tool's default timeout configurable (#5796) (e0a6a22)
- feat(site): replace model provider logos with customer logos (#5973) (75d49f8)
- feat(mcp): accept alternate phrasings in search_docs and fuse the rankings (#5913) (2185349)
- feat(site): publish the integrations catalog as a versioned JSON feed (#5877) (fb0f55e)
- feat(models): port server-side summary with Anthropic on-demand compaction to TypeScript (#5924) (8fe496a)
- feat: accept pre-built vendor clients in the Anthropic and OpenAI providers (Python + TypeScript) and document Bedrock InvokeModel / Mantle through them (#5914) (6145b7d)
- feat(injection)!: write injected text into history as an InjectedBlock (typescript) (#5569) (a5de0ee)
- feat(models): server-side summary capability with Anthropic on-demand compaction (#5840) (a83884a)
- feat(site): promote latest blog post in homepage banner (#5910) (7ee2c74)
- feat(mcp): add server instructions, tool annotations, and recoverable fetch_doc errors (#5867) (17b76df)
- feat(site): complete schema.org structured data across page types (#5880) (49a5141)
- feat(harness): pass the caching setting to OpenAI and Bedrock Mantle as an SDK cache config (#5821) (3117349)
- feat(anthropic): support @anthropic-ai/sdk 0.110 through 1.x in the TypeScript SDK (#5798) (4892c7c)
- feat(site): organize sample guides by user goal (#5761) (baca027)
- feat(docs): add migration guide from strands-agents-tools (#5730) (f078b5c)
- feat(openai): place explicit cache points on GPT-5.6+ by default (#5418) (6639872)
- feat(site): import versioned external docs (#5666) (e4a0ee2)
- feat(ts): let ClassifierStrategy route with any DecisionModel (#5219) (6d14c4a)
- feat(site): surface releases in the community hub and add a compact docs footer (#5432) (027cc15)
- feat(python): add SystemOneDecisionModel for Jev and decisionapi.net (#5590) (3baec37)
- feat(site): render samples as documentation guides (#5337) (713bee3)
- feat(ts): expose messages to BeforeInvocationEvent (#4370) (be920d4)
- feat(storage): add S3 Vectors search strategy for S3Storage in Python (#5552) (d6c3da4)
- feat(models): default Bedrock maxTokens to the model info output limit (Python + TypeScript) (#5645) (0a50a80)
- feat(models): add Model.model_info with capabilities and limits (Python) (#5627) (bcd704b)
- feat(sdk): add structured output attempt limits (#4926) (9cca7b2)
- feat(stop): use agent.cancel() to stop the event loop (TypeScript) (#4834) (0334ab3)
- feat(vended-tools): add graph tool in TypeScript (#5467) (36e6a44)
- feat(vended-tools): port read tool to TypeScript (#5614) (aa908fd)
- feat(vended-tools): port write tool to TypeScript (#5583) (9a9e2f5)
- feat(vended-tools): port edit tool to TypeScript, deprecate fileEditor (#5582) (2359bbc)
- feat(models): add Model.info with capabilities and limits (TypeScript) (#5313) (eed3a17)
- feat(vended-tools): add read tool in Python (#5548) (0eb5ecd)
- feat(python): accept DecisionModel as HumanInTheLoop risk classifier (#5588) (40b4eab)
- feat(vended_tools): add write tool (py) (#5549) (d1fb512)
- feat(python): add DecisionModel primitive and LLMDecisionModel (#5125) (85fe98a)
- feat(vended_tools): add edit tool, deprecate file_editor (#5317) (3f55488)
- feat(storage): add S3 Vectors search strategy for S3Storage (#3967) (5a478da)
- feat(decisions): add System One providers (#5240) (aa2da86)
- feat(vended-tools): add graph tool in Python (#5131) (beff502)
- feat(tools)!: persist subagent and swarm interrupts on the parent in TypeScript (#5330) (de89fbf)
- feat(catalog): add magic hour (#5488) (20daa13)
- feat(tools): add Python tool registry removal (#5444) (f3ee040)
- feat(multiagent): support request-wide limits on Graph and Swarm (#5306) (d283f83)
- feat(ts): accept DecisionModel as HumanInTheLoop risk classifier (#5267) (2bac28b)
- feat(agent): enforce invoke limits and usage accounting across the whole agent tree (Python port of #4667) (#5288) (28678be)
- feat(tools)!: consolidate shared agent tool streaming logic (#5079) (519fb66)
- feat(decisions): add decision usage to the request's invocation context (#5304) (5adc6a6)
- feat(python): add experimental OpenAI Live provider (#5286) (420cedc)
- feat(skills): add docs-verifier skill (#5268) (0a99337)
- feat(agent): enforce invoke limits and usage accounting across the whole agent tree (#4667) (6992d10)
- feat(vended-tools)!: add swarm tool in TypeScript (#5204) (78847d0)
- feat(changelog): add harness, CLI, and box release streams (#5192) (e67dda5)
- feat(stop): use agent.cancel() to stop the event loop (Python) (#4833) (cf0c6ae)
- feat(vended-tools): add swarm tool in Python (#4922) (b85c373)
- feat(middleware): make the Python middleware system public (#4976) (1632430)
- feat(telemetry): port baggage propagation to TypeScript (#5073) (fbc6977)
- feat(catalog): add attenu-guard (community intervention) (#3998) (a2c4fb4)
- feat(skills): package Strands for Claude, Codex, and Cursor (#5123) (5e84caf)
- feat(ts): add DecisionModel primitive and LLMDecisionModel (#4942) (8340c42)
- feat(mcp-ts): add progress callbacks for tool calls (#4302) (5eaf888)
- feat(mcp-ts): added mcp v2 prompts, resources methods with paginationToken (#4296) (f1c4a75)
- feat(storage-ts): accept a config object in LocalFileStorage and InMemoryStorage (#5090) (db38e30)
- feat(mcp): support client-level request metadata (_meta) on tool calls (#4660) (ce9b113)
- feat(context)!: share the stash across agents through a caller-scoped… (#5075) (c033969)
- feat(vended-tools): add python_repl vended tool to TS (#5041) (30facf3)
- feat(telemetry): propagate OTel baggage context in Python (#4840) (900ad33)
- feat(mcp/ts): add SEP-2663 task execution on mcp/ext-tasks (#4977) (2c3cfe7)
- feat(bedrock-ts): support strict tool use via strictTools config (#4181) (17a3391)
- feat(py): add python_repl vended tool (#4384) (a2524a5)
- feat(agent): add auxModel for auxiliary model calls (TS port of #4658) (#4783) (eba4e5a)
- feat(context)!: share the stash across agents through a caller-scoped storage view (#4389) (b340edb)
- feat(ts): port vended subagent tool to TypeScript (#4971) (29d006e)
- feat(mcp): expose tool client accessor (#4863) (1556ede)
- feat: add vended subagent tool (#4841) (f076964)
- feat(mcp/ts): restore legacy task execution on the SDK 2.x client (#4711) (d9c971a)
- feat(ts): port mcp_router vended tool to TypeScript (#4448) (ec86d61)
- feat(bidi): normalize token usage events (#4886) (3973d1c)
- feat(multiagent): migrate agent axis policies to SDKs (#4714) (d87a071)
- feat(stop): use agent.cancel() to stop the event loop (#3506) (5e82809)
- feat(skills): add Strands coding-agent skill (#4739) (8404ebb)
- feat: strands decider blog (#4765) (93e51a0)
- feat(agent): add aux_model for auxiliary model calls (#4658) (e3d5b4c)
- feat(session): support BidiAgent in SnapshotSessionManager (#4603) (0f91c9a)
- feat(bidi): graduate bidirectional streaming API (#4707) (8dbc128)
- feat(vended-tools): port a2a_client tool to TypeScript (#4575) (ff114a9)
- feat(bidi): display tool calls in console I/O (#4703) (5a940fb)
- feat(bidi): support cancellation from custom tools (#4664) (3e5e89e)
- feat(bidi): preserve grouped tool calls through execution and delivery (#4687) (43479b8)
- feat(bidi): support typing and speech in a shared console (#4640) (535f2ec)
- feat(bidi): add text and reasoning stream events (#4624) (b106b6e)
- feat(types): bring LocalAgent to parity with the TypeScript interface (#4639) (d56afd3)
- feat(interrupt): export InterruptError from the TypeScript SDK (#4541) (41bfd53)
- feat(site): color the product slug consistently across homepage, menu, and docs (#4527) (bc099a4)
- feat(bidi): add agent-level storage to BidiAgent (#4616) (c56b7de)
- feat(cli): add strands update and polish compact, skills, rename, and setup flows (#4612) (923a5ac)
- feat(bidi): support grouped content messages (#4609) (4342e12)
- feat(bidi): add snapshot capture and restore (#4584) (b8a2e5c)
- feat(cli): replace setup Q&A with Quickstart, Customize, and Export, and add /tools (#4581) (9b7657f)
- feat(py): add a2a_client vended tool (#4304) (9746df6)
🐛 Fixes
- fix(models): mirror anthropic 1.7.0 enum/const schema handling (typescript) (#6016) (5f88066)
- fix(models): send Claude Haiku 5.5 structured output to native output (#6073) (b512a53)
- fix(models): show the output schema to Ollama and llama.cpp models in structured_output (#6000) (3bee385)
- fix(agent): keep other sources' tools when an MCP server refreshes its list (#6055) (4330e22)
- fix(gemini): retry a 503 UNAVAILABLE as throttling (#5916) (#5947) (bd00d2d)
- fix(models): retry with drop_block when no thinking config is set (#6061) (97bceac)
- fix(streaming): preserve same-index signed reasoning blocks (#5708) (b0a1740)
- fix(decision): used strands' tracer and use span_attributes (#6059) (dc6a377)
- fix(cli): unblock Windows agent import and export (#6028) (bbcd58e)
- fix(models): add Claude Fable 5.2 and Mythos 5.2 model info (py + ts + cli) (#5994) (59ff5a1)
- fix(types): keep unknown content blocks when restoring saved data (typescript) (#5564) (3184848)
- fix(mcp-router): enforce tool_filters on call_tool (python) (#5971) (0b68b8a)
- fix(gemini): send tool result images and documents as media (#5941) (62ddea5)
- fix(site): include shell releases in the changelog (#5918) (43492f5)
- fix(models): mirror anthropic 2.7.0 enum/const schema handling (python) (#5981) (d7f24bb)
- fix(mcp-router): enforce toolFilters on call_tool (typescript) (#5972) (53fcff9)
- fix(ts): enable strict tool use on LLMDecisionModel's default BedrockModel (#5946) (a97a164)
- fix(models): reroute the Bedrock Mantle client when updateConfig crosses a base path (#3988) (4c68519)
- fix(interrupt): reject None interrupt responses instead of silently re-interrupting (#4471) (4bbd89a)
- fix(agent): warn when structured output drops non-text system prompt blocks (#3776) (e7a64e0)
- fix(site): show language support aside on community pages (#5023) (de4dc60)
- fix(cli): never take the system prompt or agent definition from session files (#5922) (3d32c22)
- fix(python): summarizer truncation fallback also shrinks text blocks under 3 × preserve_chars (#5792) (c25317d)
- fix(sandbox): report directories and missing paths distinctly in PosixShellSandbox read_file (Python + TypeScript) (#5818) (b4802e0)
- fix(mcp): rank search with field-weighted BM25 and index llms.txt descriptions (#5875) (6dc4593)
- fix(python): convert SageMaker tool results to user messages (#3305) (04a5290)
- fix(harness): report Platform and Shell for a PowerShell sandbox (#5625) (40268cc)
- fix(anthropic): apply the 2026-10-21 restrictions only from that API version on (Python) (#5909) (ae84d0d)
- fix(models): add GPT-6 Cyber context window (py + ts + cli) (#5899) (485da78)
- fix(interrupt): restore a pending tool execution only for an activated state, and validate it (Python) (#5654) (ca134a4)
- fix(decisions): map HTTP 503 from System One providers to ModelThrottledError (TypeScript) (#5784) (0cb69d4)
- fix(models): support anthropic SDK 1.x and 2.x in AnthropicModel (#5799) (f703ff1)
- fix(py): accumulate metrics for hook retries (#4345) (89271e9)
- fix(docs): snapshot upstream content at deploy (#5838) (736d37a)
- fix(site): keep mobile menu below announcement and navigation (#5684) (1e068b7)
- fix(openai): report maxTokens instead of toolUse when a Responses tool call is cut off (TypeScript) (#5749) (73b64ca)
- fix(gemini): classify any HTTP 429 as throttling (TypeScript) (#5751) (379c84f)
- fix(models): detect Nova and OpenAI-style Bedrock context overflow errors (py + ts) (#5746) (7eb9671)
- fix(sagemaker): raise ModelThrottledException when the model container returns 429 (#5750) (33ee9af)
- fix(models): return an empty assistant message when a stream ends without a message start (#5762) (1d129a4)
- fix(models): retry transient request failures in VercelModel and GoogleModel (#5663) (bd8c83d)
- fix(mcp): load @modelcontextprotocol/ext-tasks lazily so CommonJS loaders can import the SDK (#5732) (134c082)
- fix(bedrock): send toolResult status to Amazon Nova models (TypeScript) (#5748) (26ce3f3)
- fix(bedrock): send toolResult status to Amazon Nova models (Python) (#5747) (8273203)
- fix(python): summarizer fallback truncates the largest text blocks first, not every oversized block (#5691) (930fcad)
- fix(models): keep Bedrock auto caching on for Claude ids the model info does not list (Python + TypeScript) (#5697) (68749c6)
- fix(gemini): stop thought signatures from splitting streamed answer text (#5662) (a45d1be)
- fix(python): run ContextOffloader result rewrite after user AfterToolCall hooks (#5601) (078f2f9)
- fix(models): add GPT-6.1 Terra context window (py + ts + cli) (#5563) (35a7b16)
- fix(python): summarizing conversation manager falls back to truncation instead of failing every turn (#5603) (e22fd05)
- fix(python): head+tail ContextOffloader preview; never drop a matched line in search (#5602) (4a14d72)
- fix(gemini): map BLOCKLIST, PROHIBITED_CONTENT and SPII to content_filtered (#5517) (639a4ef)
- fix(models): recognize Bedrock OpenAI Daybreak model ids (py + ts) (#5538) (be09f9b)
- fix(hitl): gate trusted tools on enableTrust and let live answers win (#5641) (dde8159)
- fix(multiagent): clear pending interrupts when a graph or swarm invocation fails (#5633) (3ee280f)
- fix(ts): ignore pending tool execution when interrupt state is not activated (#5628) (a4865cd)
- fix(context): never stash or serve offload previews as originals (py + ts) (#5626) (baf15f5)
- fix(agent): preserve structured output before history offloading (#5429) (fa313cc)
- fix(models): handle Mistral list content as reasoning and text blocks (py) (#5487) (de30e34)
- fix(multiagent): resume a graph node interrupted on revisit after session restore (#5336) (b5bac05)
- fix(harness): match Bedrock GPT effort levels per model and extend the gates to Daybreak ids (py + ts + cli) (#5485) (1cecf88)
- fix(writer): map a content_filter finish reason to content_filtered (#5338) (15ca21f)
- fix(harness-py): leave an already-installed tracer provider and its propagators alone (#5481) (f584b90)
- fix(site): keep hero stable when switching language (#5430) (cd02d65)
- fix(voice): explain how to install PortAudio when PyAudio cannot load it (#5494) (5457759)
- fix(storage): strip trailing slash from S3Storage prefix in Python (#5551) (277b943)
- fix(site): bound maximum pages the broken-links checker can concurrently check (#5542) (13deff2)
- fix(ci): stop skips and shared TS names skewing flaky-test metrics (#5529) (37ea222)
- fix(sandbox): run executeCode tests with node instead of python (#5541) (bbbaaf0)
- fix(site): align blog reading progress with the hidden mobile header (#5436) (487d965)
- fix(site): make the harness quickstart the main entry point and use "quickstart" consistently (#5437) (8401125)
- fix: tighten URL scheme filtering in web fetch and diagram comment stripping (#5507) (10b9393)
- fix(test-infra): grant the integ role the global Claude Haiku 4.5 profile (#5508) (3f00dbd)
- fix(ci): make integ test metrics and dashboards trustworthy (#5503) (7b56ef8)
- fix(test-infra): grant the integ role the new smoke-test Bedrock models (#5506) (f509da5)
- fix(harness): make Gemini effort levels per model; Argon and 3.8 Flash reject minimal (py + ts + cli) (#5456) (beae278)
- fix(harness): report the real working directory on Windows (#5473) (e61beaa)
- fix(background-tasks): report aborted tools as cancelled (#5433) (954aea1)
- fix(ts): let providers enforce structured output when a model cannot be forced (#5326) (5a54052)
- fix(cli): complete the context window mirror against SDK 1.19.0 (#5454) (8916c9f)
- fix(models): add Bedrock OpenAI GPT 5.4/5.5/5.6/6/6.1 context windows (py + ts) (#5453) (414ed84)
- fix(models): add Codestral 25.08 context window and integ smoke test (py) (#5397) (faeb4f2)
- fix(models): add Bedrock Grok 4.x context windows and integ smoke tests (py + ts) (#5398) (a016b6e)
- fix(models): add Mistral Small 4 context window and integ smoke test (py) (#5395) (5f2958c)
- fix(models): add Bedrock Gemma 4 context windows and integ smoke tests (py + ts) (#5415) (e720936)
- fix(models): add Ministral 3 context windows and integ smoke test (py) (#5394) (6af1665)
- fix(models): add OpenAI chat-latest context window and integ smoke tests (py + ts) (#5411) (349fdde)
- fix(models): add Bedrock Mistral context windows and integ smoke tests (py + ts) (#5400) (8f61b0b)
- fix(models): add Gemini 4 Argon context window and integ smoke tests (py + ts) (#5388) (6fa04ab)
- fix(models): add Mistral Large 4 context window and integ smoke test (py) (#5396) (7f0e8c7)
- fix: reject blank prompts before they enter agent history (#5434) (096594b)
- fix(models): add Gemini 3.8 Flash context window and integ smoke tests (py + ts) (#5392) (0abec0b)
- fix(harness): run web_fetch's curl through PowerShell when the sandbox speaks it (#5328) (cd941fe)
- fix(models): add gpt-oss context windows and integ coverage (py + ts) (#5416) (b612303)
- fix(models): add Mistral Medium 3.5 context window and integ smoke test (py) (#5393) (36e2666)
- fix: settle cancelled background task executions (#5211) (7ddb741)
- fix(site): import Starlight Hero via package export (#5335) (554e00b)
- fix(models): log unsupported-block skips once per request (#5319) (74b6790)
- fix(harness): sniff image bytes in read so a non-image or mislabeled file is not sent as an image (#5311) (7ce6c7d)
- fix(ts): prevent text duplication across streamed content blocks (#5308) (774351c)
- fix(context): render tool calls as text in summarizer input (#5292) (b4c2054)
- fix(python): render tool calls as text in summarizer input (#5293) (6a077ea)
- fix(memory): run Bedrock knowledge base calls off the event loop (#5053) (c6bfe94)
- fix(deps): cap litellm below 1.107.0 (#5307) (f32ff21)
- fix(memory): always append the JSON output format to ModelExtractor prompts (#5269) (f0fd304)
- fix(cli): add GPT-6 Sol, Luna and 6.1 Sol to the fallback context windows (#5215) (f760f3a)
- fix(models): add context window limits for GLM-5, 5.3 and 4.7 Flash (py + ts) (#5301) (3c1291f)
- fix(harness): inject memory on user turns only, matching the SDK default (#5298) (2602fb1)
- fix(site): serve readable content at legacy docs URLs (#5155) (b412adc)
- fix: fix test flakiness caused by set_tracer_provider pollution (#5270) (b429fa1)
- fix(anthropic): drop unsigned reasoning instead of raising KeyError (#5247) (3fcf7e6)
- fix(multiagent): inherit the parent's interventions in the default subagent builder (#5200) (5f630db)
- fix(python): let providers enforce structured output when a model cannot be forced (#5190) (79b2d33)
- fix(multiagent): add DISPATCHED status to prevent fan-in double-execution on resume (#3633) (#3724) (2ea678a)
- fix(sandbox): run the default local environment's commands on Windows (#5244) (04b7cf6)
- fix(bedrock-ts): omit empty citation source when replaying citations (#5266) (1f52310)
- fix(python): preserve tool result adjacency in mistral, writer and llamacpp (#5248) (cbec09b)
- fix(bedrock): drop reasoning blocks the target model rejects (TypeScript) (#5246) (28cc479)
- fix: replace retired Claude Sonnet 4 model IDs with Sonnet 4.6 (#5241) (6b0368f)
- fix(memory): delegate FileMemoryStore search, scope storage namespaces (#5117) (207b206)
- fix(models): retry with drop_block when a history edit invalidates replayed thinking (#5171) (25c2460)
- fix(ts): report correct paths for values after nested objects in deepCopyWithValidation (#4981) (bd0b6a9)
- fix(harness): enable Bedrock Mantle web search for GPT-6.1 Sol (#5188) (26700e6)
- fix(sagemaker): keep assistant text that sits beside tool calls (#4919) (8909ec4)
- fix(harness): make the file tools work on Windows and run Windows CI for harness-ts, harness-py and strands-cli (#4978) (4ab2303)
- fix(cli): trim comma-separated flag values (#5183) (c1487af)
- fix(sagemaker): invoke endpoints off the event loop (#5034) (e6cfa5c)
- fix(models): add context window limits for GPT-6 Sol, Luna and 6.1 Sol (py + ts) (#5147) (02a83fc)
- fix(bedrock): drop reasoning blocks the target model rejects when history crosses model families (#5166) (5cb8805)
- fix(subagent): surface the child's stop reason instead of masking blocked runs as success (#5165) (ab88efd)
- fix(context): keep removal markers and summaries out of message 0 (#5121) (47fb500)
- fix(harness): send adaptive thinking to Claude Haiku 5.5 (#5159) (83a4b0c)
- fix(python): preserve tool result adjacency with injected context (#5158) (fde126c)
- fix(offloader): return portable filename from TS FileStorage.store (#4668) (91c9430)
- fix: text content block is silently dropped when a toolUse is pending in the same content block stop (#4004) (#4067) (c99665b)
- fix(site): normalize analytics route URLs (#5007) (12170cf)
- fix(mcp): preserve shared connection when creator aborts (#5065) (1250365)
- fix(google): set include_server_side_tool_invocations when mixing function declarations with built-in tools (#4754) (d485c14)
- fix(storage-ts): reject host-filesystem search strategies with a sandbox (#5093) (5600fcc)
- fix(graph): map cancelled agent results to FAILED and stop downstream routing (#4753) (109c15b)
- fix(python): serialize multi-agent snapshot saves (#4673) (1494d5b)
- fix(openai): map a content-filtered Responses API run to content_filtered (#5074) (80ed9a0)
- fix(openai): map content_filter finish reason to content_filtered (#5072) (c75eb15)
- fix(mcp/ts): forward the call signal to connect and fetch task metadata for unlisted tools (#5043) (dde611f)
- fix(mcp-ts): rebuild transport and client when reconnecting url-configured clients (#4378) (bf9f11a)
- fix(python): deduplicate usage nudges via stdlib warnings module (#4983) (38afb96)
- fix(openai): warn about reasoningContent once per request (#5016) (e46b0db)
- fix(harness-py): map Bedrock families to small web_fetch summarizers; enable Nova 2 thinking (#4853) (7583a50)
- fix(openai): read chat usage reported on the finish_reason chunk (#4851) (94df46f)
- fix(models): add context window limit for Haiku 5.5 (py + ts) (#4998) (6d60fdb)
- fix(gemini): format video content blocks as inline data (#4910) (e519d67)
- fix(models): support Anthropic cache writes on older LiteLLM (#4979) (925067c)
- fix(vended-tools): reject non-finite web fetch size limits (#4718) (5b7a2ac)
- fix(injection): drop the leading blank line on tool-result turns (py) (#4828) (d8f4b7f)
- fix(gemini): classify every 429 as throttling regardless of body format (#4524) (1db454f)
- fix(cli): handle sandbox clipboard failures (#4959) (c1ca227)
- fix(harness-py): require SDK 1.57.2 for session restore (#4974) (6f23cba)
- fix(agent): resume nested agent-as-tool interrupts across rehydration (#3675) (79cd735)
- fix(gemini): map RECITATION finish reason to content_filtered (#4898) (2bd213d)
- fix(models): preserve reported cache token usage (#4943) (c43bdb4)
- fix(ts): propagate and resume nested agent-as-tool interrupts (#4782) (356ca49)
- fix(site): improve mobile and small-screen usability (#4856) (34173c1)
- fix: broaden Mantle gpt-6 prefix to cover dot-separated model ids (#4882) (8dbf4d0)
- fix(bidi): emit OpenAI usage before response stop (#4889) (e366bba)
- fix(python): remove sqlalchemy<2.1.0 cap, fixed upstream in 2.1.1 (#4674) (3c64a87)
- fix(ollama): forward numeric keep_alive values such as 0 (#4725) (8ba04f7)
- fix(bidi): save sessions before restart and document checkpoints (#4813) (5831966)
- fix(harness): log at info when the default web_search is unavailable (#4786) (bc4cec4)
- fix(strands-ts): include traceAttributes on chat, execute_tool, and cycle spans (#4669) (563f57d)
- fix(mcp): prevent hang when server connection drops during in-flight tool call (#4499) (a169c4c)
- fix(bidi): confirm OpenAI interruptions and fix console rendering (#4792) (69b81c8)
- fix(cli): preserve HTTPS skill sources (#4579) (456b15f)
- fix(mcp): skip overlong prefixed tools when continuing on error (#4569) (06494b4)
- fix(structured_output): preserve anyOf for nullable enums and respect model_json_schema overrides (#4610) (2fd75dd)
- fix(anthropic): store redacted thinking as bytes and re-encode on send (#4593) (3b11e82)
- fix(site): show full product sidebar in mobile nav and fix dark LinkCard hover (#4780) (47ad14b)
- fix(cli): streamline terminal layout and startup experience (#4729) (e0c95ee)
- fix(session): retry failed multi-agent restore (#4663) (0e9f812)
- fix(site): prevent header nav overflow at laptop widths (#4750) (bc1cf50)
- fix(gemini): tolerate missing usage metadata on final response (#4724) (4cbc6a7)
- fix(bedrock): skip guardContent wrap for blank text (#4693) (142a4bc)
- fix(harness): remove context offloader plugin from harness in favor of context manager's stash (#4701) (c73253d)
- fix(context-manager): keep stashed originals when backfilling after session resume (#4699) (db34d01)
- fix(models): skip location-source documents in OpenAIResponsesModel message formatting (#4706) (ec2d410)
- fix(site): correct homepage code-sample copy and rebalance logo wall (#4571) (9299f22)
- fix(models): add context window limits for Sonnet 5.5, Opus 5.5, Fable 5.1 (py + ts) (#4694) (0ab57b2)
- fix(strands-ts): format model-facing numbers independently of the host locale (#4682) (5109437)
- fix(bedrock): normalize tool inputs before replay (#4625) (226a0f2)
- fix(bidi): deliver tool results that finish after a connection restart (#4677) (9e50496)
- fix(offloader): return portable filename from FileStorage.store instead of host path (#4568) (5b33849)
- fix(harness): reject caching values other than 'auto', a bool, or None (#4631) (d7fbb2a)
- fix(bidi): defer OpenAI responses during user speech (#4642) (7917865)
- fix(caching): surface prompt-cache write tokens on TS OpenAI and Bedrock paths (#4617) (b660f0e)
- fix(openai-responses): map cache_write_tokens to cacheWriteInputTokens (#4193) (15399af)
- fix(anthropic): include cache tokens in totalTokens (#4219) (21b314f)
- fix(py): update model id in cancellation integ tests (#4611) (6da3f48)
- fix(session): rewrite all stored copies of a message when guardrail redacts it (#4606) (69a465e)
- fix(bidi): record tool dispatch in conversation history (#4605) (4dc582c)
- fix(bidi): align response boundaries and transcript history (#4560) (09e2fe3)
- fix(graph): finalize invocation before yielding the result (#4580) (3d4cf9a)
- fix(python): cap sqlalchemy<2.1.0 to avoid RecursionError in Hatch dependency check (#4583) (711be5d)
- fix(a2a): extract content from task.status.message when artifacts are absent (#4511) (7f2b0c5)
⚡ Performance
♻️ Refactoring
- refactor(harness): support Anthropic native web search in TypeScript (#4789) (afc3e05)
- refactor(harness-ts): make @strands-agents/sdk a peerDependency (#4890) (8fd9144)
- refactor(bidi): rename auto_reconnect to auto_restart (#4740) (7ac70b1)
- refactor(bidi): remove directory tool watching (#4746) (536b614)
- refactor(bidi): correct docstrings and drop unused barge-in and connection stop reasons (#4728) (2da3a69)
- refactor(bidi): use restart consistently for connection restarts (#4734) (4dfeca8)
- refactor(bidi): make tool execution internals private (#4708) (a9a62d4)
- refactor(bidi): remove session manager configuration (#4698) (e108c79)
- refactor(bidi): remove response stop reasons (#4604) (b5dac92)
- refactor(bidi): use barge-in terminology (#4566) (e83c048)
📚 Documentation
- docs(streaming): add browser streaming guide with SSE (#5544) (7b651c3)
- docs(models): add multi-tenant model routing guide (#5842) (687ce5d)
- docs: add a standalone Strands FAQ (#6023) (d0563b8)
- docs: add decision models section (#6002) (de8ae22)
- docs: explain which context strategies keep thinking on models that preserve thinking (#6026) (7296cab)
- docs(hitl): fix decision model risk classifier examples (#6001) (045697b)
- docs(site): group homepage toolkit into three pillars (#5887) (b22e0f9)
- docs(changelog): sync release notes (#6009) (f732c59)
- docs(blog): add post on replacing Sonnet 4.6 with Strands Decider for… (#5976) (d16bcb9)
- docs: import Strands Decider documentation (#5893) (3b40ee7)
- docs(catalog): add built-in entries for the remaining vended tools (#5917) (141622e)
- docs(changelog): sync release notes (#5900) (3bd9ed1)
- docs(blog): announce Strands Box Linux support (#5895) (c4397ed)
- docs(site): index Box documentation (#5797) (49c974c)
- docs: clarify that inputTokens may include cached tokens depending on provider (#5819) (611dc1d)
- docs(changelog): sync release notes (#5854) (7727893)
- docs(changelog): sync release notes (#5837) (434261a)
- docs(blog): announce expanded built-in tools (#5835) (e8c9f7a)
- docs(changelog): sync release notes (#5829) (d9c5de3)
- docs: add Python code snippet to vended tools quickstart (#5816) (0bd132a)
- docs: document passing a DecisionModel as the HumanInTheLoop classifier (#5593) (b93d730)
- docs(bedrock): update reasoning section (#5640) (28c123e)
- docs(site): rename projects navigation to docs (#5705) (e098a32)
- docs(changelog): sync release notes (#5660) (1af083d)
- docs(site): add Skai testimonial to homepage (#5678) (2f1fc66)
- docs(site): split vended tools page into one page per tool (#5540) (e68d402)
- docs(cedar): warn that onError proceed fails open (#5643) (409cb54)
- docs(bidi): enable audio processing in the quickstart and audio I/O examples (#5637) (a56fa9e)
- docs: stop referencing strands-agents-tools (#5322) (c40d351)
- docs(site): declare AI content usage preferences (#5581) (fd88b13)
- docs(team): align tool deprecation guidance with strands-py warn rules (#5579) (cb4b242)
- docs(blog): add red teaming launch post for Strands Evals (#5543) (1f27884)
- docs(catalog): add Sprites integration (#5048) (ad41916)
- docs(catalog): add strands-pixeltable memory store (#5214) (b498114)
- docs(catalog): add Asqav observability integration (#5501) (26a84cd)
- docs(catalog): add BotsRated integration (#5479) (d7e349b)
- docs(catalog): add EmpirioLabs AI model provider (#5493) (3a083e1)
- docs(catalog): add membase-strands memory store (#5514) (50b7270)
- docs(catalog): add mnemoverse to the integrations catalog (#5516) (c2d3948)
- docs(evals): document CrescendoStrategy stop_on_tool_call (#5440) (00b9fc0)
- docs(changelog): sync release notes (#5441) (5263ada)
- docs: fix stale and missing links (#5417) (4a2b989)
- docs(catalog): add strands-web-llm model provider (#5217) (c613366)
- docs(memory): document Python AgentCore memory store (#5233) (79e2574)
- docs(changelog): sync release notes (#5321) (dbdad09)
- docs(memory): add file memory store docs (#4279) (2afa133)
- docs(agent-loop): recommend invocation limits for long-running agents (#5295) (79e0f89)
- docs(evals): update red-teaming guide for graduation and attacker-refusal detection (#5234) (9a125e8)
- docs(agents): clarify lifecycle controls and recovery (#5153) (95381d8)
- docs: clarify TypeScript integration in the README (#5154) (0788ccb)
- docs(blog): add co-authors to StructuredOutputSimilarity post (#5285) (24c814f)
- docs(designs): add 0021 cache-friendly tool management (#5161) (823eabf)
- docs(changelog): backfill harness, CLI, and box releases (#5193) (8a59681)
- docs(blog): add StructuredOutputSimilarity launch post (#5256) (6b6bc9c)
- docs: add agent foundation migration paths (#5152) (3bd98e6)
- docs(learning): clarify course updates and optional additions (#5095) (038f9d1)
- docs: split structured output into a build guide and a component page (#5089) (f63c143)
- docs(evals): add StructuredOutputSimilarity evaluator page (#4464) (6d34195)
- docs(evals): fix and refine getting-started examples and description and drop redundant Overview headings (#5195) (287ec07)
- docs: revise custom-tools page (#5088) (1f4b6ab)
- docs(catalog): add LangWatch observability integration (#5167) (d738205)
- docs: fix typos in comments and docstrings (#4997) (c91524e)
- docs(migrate): verify and revise the LangGraph migration guide (#4536) (d6b83a0)
- docs(site): redraw docs diagrams as theme-aware SVGs (#5135) (43ccafa)
- docs(blog): announce Gemma 4 Strands Decider models (#5080) (5538a5c)
- docs(storage): add search strategies page and storage section (#5078) (e6f6725)
- docs(catalog): add LoopGrid Strands integration (#4629) (9779f57)
- docs(blog): set harness benchmark post date to 2026-10-13 (#5124) (041a47f)
- docs(blog): add harness cost benchmark post (#5116) (12e67c4)
- docs: list every monorepo directory in CONTRIBUTING and AGENTS (#5120) (7b0569d)
- docs(changelog): sync strands-agents/harness-sdk python/v1.60.0 (#5092) (7d7f1fe)
- docs(site): highlight interactive harness benchmark chart (#5082) (dc03b1c)
- docs(changelog): sync strands-agents/harness-sdk typescript/v1.20.0 (#5006) (58158f7)
- docs(site): move Conversation management to the bottom of Components (#5086) (ff45036)
- docs: link every directory in the README monorepo table (#5050) (5050753)
- docs(sdk): document aux_model / auxModel for auxiliary model calls (#4784) (54775ee)
- docs(multi-agent): set callback_handler=None on Python agents used as tools (#4790) (35c8f73)
- docs(designs): decision model primitive (TS-first rework of 0020) (#4891) (13e02c8)
- docs(mcp): drop removed streamablehttp_client from Streamable HTTP examples (#4938) (9a6e25a)
- docs(box): launch the Strands Box docs, blog post, and homepage (#4970) (e9895fd)
- docs(agentcore): stop advancing time_of_last_update on every /ping (#4968) (0483ff5)
- docs(blog): link Bidi Agent docs and quickstart (#4908) (9b8ae35)
- docs(blog): polish bidi GA announcement (#4904) (d6faa6e)
- docs(blog): embed the AWS x Anthropic MHS video in the Strands Robots post (#4688) (1c212c8)
- docs(bidi): refine model provider guides (#4894) (37b77fa)
- docs(site): reposition homepage metadata as an open source agent toolkit (#4883) (c475949)
- docs(bidi): correct connection and audio docstrings (#4884) (3e5524c)
- docs(bidi): align titles, links, and navigation (#4880) (f594d54)
- docs(bidi): update bidi quickstart page (#4867) (593f919)
- docs(bidi): add bidirectional streaming models overview page (#4868) (64883c2)
- docs(bidi): Rewrite bidirectional streaming overview (#4865) (ccd54ad)
- docs(bidi): add tools guide and clean up failed context entry (#4836) (76bebff)
- docs(bidi): update python readme information for bidi (#4866) (e60a1e1)
- docs(bidi): rewrite I/O streams guide (#4858) (a0c9af7)
- docs(bidi): rewrite agent guide (#4859) (7c6411c)
- docs(bidi): remove standalone barge-in guide (#4860) (4816c2b)
- docs(bidi): clarify hook registration and events (#4818) (7ecd752)
- docs(bidi): document input content (#4824) (7c9bcb5)
- docs(bidi): place sessions and interrupts after hooks (#4823) (2db86f4)
- docs(bidi): group model guides in sidebar (#4820) (bc6cde1)
- docs: add Versioning & Support to Harness SDK nav (#4811) (be08a0e)
- docs(bidi): clarify stream events and ordering (#4788) (c5baa8c)
- docs(changelog): sync strands-agents/harness-sdk python/v1.57.2 (#4799) (e1675f7)
- docs(bidi): remove the voice agent page from Build guides (#4794) (eff1e15)
- docs(bidi): rename the Realtime section to Voice and move its pages to /sdk/bidi/ (#4793) (22706f3)
- docs: add Observability catalog type (#4772) (79bfd80)
- docs(labs): add Strands Decider to Labs projects (#4774) (957579a)
- docs(evals): add Confident AI as an observability integration (#4768) (8925798)
- docs(agents): add note on invocation state (#4744) (ea7305f)
- docs(bidi): add session management and interrupt status pages (#4732) (44bd73a)
- docs: add Human Overview sections to templates per AI usage reflection (#4696) (303a2be)
- docs(catalog): add strands-neuraltrust integration (#4326) (eca8cf1)
- docs(community): add Neo4j Agent Memory memory store to catalog (#4595) (2e80525)
- docs(harness): update default model (#4661) (b7900ae)
- docs(catalog): add serply-mcp to the integrations catalog (#4374) (15da9dc)
- docs(changelog): sync strands-agents/evals backfill (#4522) (f293750)
- docs(changelog): sync strands-agents/harness-sdk backfill (#4615) (4a42ded)
- docs(changelog): sync strands-agents/harness-sdk python/v1.57.1 (#4614) (e2262ed)
- docs(site): add PyBay and Open Source Summit Europe to events (#4562) (0411de6)
✅ Tests
- test(models): expect temporary messages for Claude Opus 5.5 in the model info lookup test (#6092) (07b8a0b)
- test(integ): read the summary block from SummarizeResult in the Anthropic Bedrock test (#6032) (b17ae40)
- test(cli): fix Windows live integration assumptions (#6024) (a2d24b0)
- test(bedrock): remove duplicated media-block describe blocks (TS) (#5966) (f04f0fd)
- test(bedrock): make the duplicate redacts_output test enable output redaction (#5968) (fb86be1)
- test(llamaapi): cover RateLimitError mapping to ModelThrottledException (#5965) (fe1ae33)
- test(anthropic): parametrize format_chunk content_block_delta cases (#5967) (84119f5)
- test(writer): cover RateLimitError mapping to ModelThrottledException (#5964) (6d4063e)
- test(storage): add S3VectorSearchStrategy integration test (TypeScript) (#5547) (69c2aec)
- test(harness-ts): stop the legacy claude 3 max tokens test depending on an unreleased SDK (#5701) (a709879)
- test(litellm): pin region and rerun the cache test (#5624) (df20053)
- test(models): one parametrized model smoke table per SDK for the 2026-10 catalog batch (#5452) (fe11c98)
- test(harness-ts): give the web_fetch end-to-end test a 30 s timeout (#5469) (e381994)
- test(litellm): skip flaky multi-turn cache read test (#5314) (7a0f7ba)
- test(bedrock): skip audio integ tests when Bedrock rejects audio input (#5310) (5021853)
- test(mcp-ts): cover the legacy fallback through the 2.0 client transports (#4278) (84bb0b6)
👷 CI
- ci: bump actions/setup-python from 7.0.0 to 7.1.0 (#6047) (1060cce)
- ci(docs): bump unist-util-visit from 5.1.0 to 5.2.0 in /site (#5611) (3228f9b)
- ci(docs): bump @astrojs/markdown-satteri from 0.4.5 to 0.4.6 in /site (#5721) (04de9aa)
- ci: bump astral-sh/setup-uv from 10.3.2 to 10.3.3 (#5717) (21c87a6)
- ci(typescript): bump @hono/node-server from 1.19.17 to 2.1.6 (#5728) (8ec4695)
- ci: link box discussions and the box repo from the issue chooser (#5729) (9b55109)
- ci(docs): bump @astrojs/markdown-remark from 7.3.4 to 7.3.5 in /site (#5718) (f041724)
- ci(site): load samples in documentation previews (#5725) (1c6e8a8)
- ci(typescript): update dev dependencies and move tests to vitest 5 (#5617) (0f8bf1a)
- ci: raise the TypeScript integ metrics test-name cap to 2000 (#5646) (aba7737)
- ci(docs): pick Node for previews independently of the PR branch (#5638) (094cfa9)
- ci(docs): read Node from .node-version and raise it to 22.23.4 (#5616) (daf830e)
- ci(typescript): bump @modelcontextprotocol/sdk from 1.30.0 to 1.32.0 (#5282) (74f9708)
- ci(typescript): bump fast-uri from 3.1.8 to 3.1.9 (#5510) (85bc093)
- ci(docs): bump the npm_and_yarn group across 1 directory with 2 updates (#5449) (69ba5a4)
- ci(docs): bump satori from 0.63.1 to 0.63.2 in /site (#5527) (f0be304)
- ci(docs): bump @astrojs/markdown-remark from 7.3.3 to 7.3.4 in /site (#5525) (c397ce6)
- ci(docs): bump @astrojs/markdown-satteri from 0.4.4 to 0.4.5 in /site (#5521) (ba201a9)
- ci(typescript): bump zod from 4.6.5 to 4.6.7 (#5509) (5d88e91)
- ci(python): update openai requirement from <3.0.0,>=1.68.0 to >=1.68.0,<4.0.0 in /strands-py (#5522) (cf598c8)
- ci(docs): bump vite from 8.3.4 to 8.3.5 in /site (#5520) (fc84974)
- ci: paginate issue events and comments in auto-close (#5607) (a01774d)
- ci: bump astral-sh/setup-uv from 10.3.0 to 10.3.2 (#5518) (9120df2)
- ci: bump actions/setup-python from 7.0.0 to 7.1.0 (#5519) (f0cffd9)
- ci(deps): bump the npm_and_yarn group across 6 directories with 8 updates (#5512) (a9e35e3)
- ci(docs): bump @astrojs/starlight from 0.42.6 to 0.42.7 in /site (#5571) (6f1f29d)
- ci(typescript): bump @aws-sdk/client-bedrock-runtime from 3.1152.0 to 3.1154.0 in the production-minor group across 1 directory (#5572) (794a2cc)
- ci(python): bump cedar-policy-mcp-schema-generator from 0.6.1 to 0.7.0 in /strands-py (#5524) (1fa711b)
- ci(labeler): cover harness, CLI, and new SDK subsystems in issue classifier (#5592) (92bf072)
- ci: close superseded release announcements (#5471) (c98fc29)
- ci(docs): bump @astrojs/markdown-satteri from 0.3.8 to 0.4.4 in /site (#4649) (b2a4b39)
- ci(docs): bump typedoc-plugin-markdown from 4.14.0 to 4.14.1 in /site (#5462) (c4683e5)
- ci(docs): bump satori from 0.62.0 to 0.63.1 in /site (#5461) (487e630)
- ci(docs): enforce TypeScript formatting (#5468) (448660d)
- ci(docs): bump astro from 7.4.0 to 7.4.1 in /site (#5460) (528346e)
- ci: run harness tests against the local SDK on SDK changes (#5333) (c34a1d1)
- ci(docs): bump sanitize-html from 2.17.7 to 2.18.1 in /site in the npm_and_yarn group across 1 directory (#5348) (3aca339)
- ci(typescript): bump qs from 6.15.2 to 6.16.1 (#4123) (7e70704)
- ci(python): update mcp requirement from <2.2,>=1.23.0 to >=1.23.0,<2.4 in /strands-py (#4912) (124f878)
- ci: bump astral-sh/setup-uv from 10.0.1 to 10.3.0 (#5098) (24f806a)
- ci(docs): bump typedoc-plugin-markdown from 4.13.1 to 4.14.0 in /site (#5228) (92dab81)
- ci(docs): bump satori from 0.52.0 to 0.62.0 in /site (#5261) (064b777)
- ci(docs): bump astro from 7.3.3 to 7.4.0 in /site (#5226) (d30b79c)
- ci(docs): bump jsdom from 30.1.2 to 30.1.3 in /site (#5230) (efe5f28)
- ci(docs): bump pino-pretty from 13.1.3 to 13.2.0 in /site (#4993) (8ce5631)
- ci(docs): bump prettier from 3.9.9 to 3.9.10 in /site (#5132) (e5423a9)
- ci(typescript): bump the production-minor group across 1 directory with 2 updates (#5133) (d67cad2)
- ci(docs): bump node-html-parser from 9.0.4 to 9.0.5 in /site (#5345) (b18627a)
- ci(python): bump cedarpy from 4.12.0 to 4.12.2 in /strands-py (#5227) (995ad7a)
- ci(docs): bump markdown-it from 15.0.2 to 15.0.3 in /site (#5225) (a9e1f12)
- ci: bump actions/download-artifact from 8.0.1 to 8.0.2 (#5097) (1386ddc)
- ci: bump actions/upload-artifact from 7.0.1 to 7.0.2 (#5099) (e9a8d1f)
- ci(docs): bump @astrojs/starlight from 0.41.9 to 0.42.6 in /site (#4875) (8bdd7da)
- ci(catalog): apply area-catalog label to PRs touching catalog entries (#5334) (ee033b9)
- ci(typescript): bump hono from 4.13.8 to 4.13.13 (#5302) (df6fef2)
- ci: bump re-actors/alls-green from 1.2.2 to 1.3.0 (#3963) (ee5e568)
- ci(docs): bump @astrojs/markdown-remark from 7.3.1 to 7.3.3 in /site (#5229) (1adcaf9)
- ci(docs): bump satori from 0.47.1 to 0.52.0 in /site (#5189) (7939e67)
- ci(docs): bump jsdom from 30.0.1 to 30.1.2 in /site (#4994) (229a008)
- ci: bump codecov/codecov-action from 7.0.0 to 7.1.1 (#4430) (19d3be2)
- ci(python): update ruff requirement from <0.17.0,>=0.16.0 to >=0.16.0,<0.18.0 in /strands-py (#5100) (1a47163)
- ci(docs): bump the npm_and_yarn group across 1 directory with 2 updates (#5109) (26b4d68)
- ci(docs): bump satori from 0.33.5 to 0.47.1 in /site (#5102) (929e5f8)
- ci(docs): bump vite from 8.3.0 to 8.3.4 in /site (#5104) (685a42a)
- ci(typescript): bump @modelcontextprotocol/client from 2.0.0 to 2.3.1 (#4931) (1647c60)
- ci(typescript): bump source-map-js from 1.2.1 to 1.2.2 (#4928) (44e5d56)
- ci(docs): bump pino from 10.3.1 to 10.4.0 in /site (#4911) (4167e3b)
- ci(typescript): bump proxy-addr from 2.0.7 to 2.0.8 (#4929) (79d8d07)
- ci(docs): bump http-cache-semantics from 4.2.0 to 4.3.0 in /site in the npm_and_yarn group across 1 directory (#4869) (f90af22)
- ci(deps-dev): bump browserslist from 4.28.2 to 4.28.8 in /test-infra in the npm_and_yarn group across 1 directory (#4110) (59f126f)
- ci(typescript): bump vitest from 4.1.10 to 4.1.11 (#4387) (8c35ea4)
- ci(typescript): bump brace-expansion from 5.0.7 to 5.0.12 (#4730) (7517965)
- ci(python): update mistralai requirement from <3.0.0,>=2.0.0 to >=2.0.0,<4.0.0 in /strands-py (#4809) (c631339)
- ci(docs): bump the npm_and_yarn group across 1 directory with 9 updates (#4781) (3d50456)
- ci(docs): bump qs from 6.15.3 to 6.16.0 in /site in the npm_and_yarn group across 1 directory (#4122) (c973821)
- ci(docs): bump prettier from 3.9.8 to 3.9.9 in /site (#4644) (9f0690f)
- ci(docs): bump markdown-it from 15.0.1 to 15.0.2 in /site (#4320) (8b8f8a9)
- ci(typescript): bump ip-address from 10.4.0 to 10.7.2 (#4690) (d7682c0)
- ci(python): bump cedar-policy-mcp-schema-generator from 0.6.0 to 0.6.1 in /strands-py (#4650) (3d8db4b)
🔧 Chores
- chore(site): refresh catalog stats (#5948) (65eb350)
- chore(docs): update external docs lock (#5839) (74bb307)
- chore: add glama.json to claim the MCP server on Glama (#5832) (a8865d4)
- chore(site): refresh catalog stats (#5716) (c3e5076)
- chore(site): refresh catalog stats (#3938) (e8b765f)
- chore(cli): depend on harness ~0.1.1 (#4582) (7ae759d)
🔖 Other
- fix!(session): raise when context_manager is used with a RepositorySessionManager (#5446) (c3e76bc)
- style(docs): format site TypeScript files (#5425) (8854de7)
- catalog: add opencode model provider (#4887) (67e45dd)
- Add strands-you (You.com web tools plugin) to the integrations catalog (#5057) (fbf4085)
- blog: announce Bidi Agents general availability (#4899) (210d695)