harness-python/v0.3.4
Auto-drafted from commits in harness-python/v0.3.3..harness-python/v0.3.4, 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(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)
🐛 Fixes
- 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)
📚 Documentation
- 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)
✅ Tests
- 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)
👷 CI
- 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)