✦ Features 8
- breaksupport mistralai 2.x in Mistral providermodel
- add pre-push skill mirroring the CI merge gate locallydevx
- support image input via BidiImageInputEventmodelbidirectional-streaming
- make BedrockModel._format_request and _convert_non_streaming_to…model
- add search/grep support to Python retrieval toolcontexttool
- added per-invocation idempotency support via idempotency_tokenasyncagent
- support managed Bedrock knowledge bases in retrieve and ACLmodeltool
- implement MCP progress notifications in MCPClientmcp
⊘ Fixes 27
- bound tool schema normalization recursion depthmcptool
- make gemini thinking-model tool-call integ test robustmodel
- retry flaky guardrail output-intervention testinterventions
- raise timeout on multimodal swarm/graph integ tests to reduce flakinessmultiagent
- report OpenAI Responses cached tokensmodel
- include reasoning block with empty text and non-empty signatureagent
- handle empty Bedrock content blocksmodel
- support non-streaming OpenAI chat completionsmodel
- preserve non-ASCII tool result texttool
- fix on-demand throughput doc URL to preserve anchor fragmentmodel
- pass structured output request paramsmodelstructured-output
- preserve non-ASCII text in provider tool-result and tool-call serializationmodel
- consume orphaned task exception on stream cancellationasyncmodel
- avoid UnboundLocalError on empty model streammodel
- surface cache read tokens in metadata chunkcontextmodel
- prevent tool list mutation across API callsmodel
- stop idempotency waiters from blocking thread-pool workersasyncagent
- clarify MaxTokensReachedException messagecontextdevx
- forward structured output request params for OpenAI Chat Completionsmodelstructured-output
- release invocation lock only in throw modeasyncagent
- generate toolUseId when missing from providermodeltool
- prevent false-positive test failures when output is pipedagent
- respect role from BidiTextInputEventbidirectional-streaming
- sha-pin third-party GitHub Actions
- unwrap FieldInfo default to avoid pydantic warningdevxtool
- bypass model_dump on content_block_stopmodel
- update GeminiModel to handle empty tools in Vertex AI modemodel
⋯ Other 27
- type the Bedrock KB store's S3 client via boto3-stubsmodelpersistence
- add memory manager docs
- add sandbox docsserver
- require 2 maintainer reviews on bot/agent PRs
- add SSH sandbox integration tests for Py and TSserver
- bump codecov/codecov-action from 6 to 7
- bump cedarpy from 4.8.0 to 4.8.4 in /strands-py
- update pytest-asyncio requirement from <1.4.0,>=1.0.0 to >=1.0.0,<1.5.0 in /strands-py
- add timeouts and apt retries to test-lint workflow
- bump actions/checkout from 6 to 7
- update dependencies and refactor dev tooling internals
- opt back into fork-PR checkout under pull_request_target
- gate dependency vulns on PR-introduced changes only
- bump cedarpy from 4.8.4 to 4.8.5 in /strands-py
- update litellm requirement from <=1.83.13,>=1.75.9 to >=1.75.9,<=1.89.3 in /strands-py
- update ruff requirement from <0.15.0,>=0.13.0 to >=0.13.0,<0.16.0 in /strands-py
- update mistralai requirement from <2.0.0,>=1.8.2 to >=1.8.2,<3.0.0 in /strands-py
- update writer-sdk requirement from <3.0.0,>=2.2.0 to >=2.2.0,<4.0.0 in /strands-py
- tighten dependabot versioning strategy
- revert mistralai upper bound to <2.0.0
- bump actions/dependency-review-action from 4 to 5
- add a reasoning bridge to the design doc template
- bump actions/checkout from 6 to 7
- unify Dependabot grouping and cooldown across all ecosystems
- add TESTING.md for python
- improve testing instructions
- skip SDK test matrices on markdown-only changes