python/v1.58.0
Auto-drafted from commits in python/v1.57.2..python/v1.58.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(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)
🐛 Fixes
- 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)
♻️ Refactoring
- refactor(bidi): rename auto_reconnect to auto_restart (#4740) (7ac70b1)
- refactor(bidi): remove directory tool watching (#4746) (536b614)
📚 Documentation
- 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)
👷 CI
- 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)