Changelog
Improvements
- Faster agent runs with many tools: Tool schemas are now derived once and cached across runs, cutting per-run overhead for agents that carry large toolkits. (#9771)
- Faster long conversations: Session history is loaded incrementally per turn, so response time stays flat as a conversation grows instead of scaling with its length. (#9775)
- PubMed request timeout:
PubmedToolsnow accepts atimeoutand passes it to both NCBI E-utilities requests, so a stalled PubMed response cannot hold a tool call indefinitely. (#9463)
Bug Fixes
- Strict-mode tool schemas without
properties:Function.process_schema_for_strictno longer raisesKeyErroron schemas that omitproperties(for example MCP server schemas registered verbatim). (#9578, fixes #9409) - Gemini tool-result media: Images and document blobs returned from tools are now nested inside
FunctionResponse.partsfor Gemini 3 and later models instead of being emitted as siblinginline_dataparts; legacy models keep the previous representation. URI-backed response media on Vertex AI is only sent when the MIME type is supported. (#9647) - Location lookup on core-only installs:
agno.utils.locationused the undeclaredrequestspackage, soadd_location_to_context=TrueraisedModuleNotFoundErrorwithout extras installed. It now useshttpx. (#9793, fixes #9772) ScheduleManagercleanup:close()tolerates a partially constructed manager (for example after a faileddeepcopy), so garbage collection no longer raisesAttributeErroron a missing_pool. (#9792)
Cookbooks
- Added a deterministic side-effect approval flow example. (#9790)
- Added DeepKeep AI Firewall guardrails example. (#9784)
- Documented AgentOS team run states. (#9768)
- Added a Peer Cash MCP agent example. (#9562)
- Fixed stale cookbook paths left over from the directory renumber and in the MCP examples. (#9789, #9783)
What's Changed
- [fix] add PubMed request timeout by @Ghraven in #9463
- [cookbook] Add Peer Cash MCP agent by @ADWilkinson in #9562
- [cookbook] Document AgentOS team run states by @daleselaji-dev in #9768
- feat: export QueueConfig from agno.os by @ysolanky in #9776
- fix: correct stale 90_tools paths in MCP cookbook examples by @cc-9898 in #9783
- fix: cookbooks stale paths left by the directory renumber by @harshsinha03 in #9789
- [cookbook] Add DeepKeep AI Firewall guardrails by @gilarel in #9784
- fix: make ScheduleManager cleanup tolerate partial copies by @kausmeows in #9792
- [cookbook] Add deterministic side-effect approval flow by @daleselaji-dev in #9790
- fix: use httpx for location lookup instead of undeclared requests by @kausmeows in #9793
- fix: stop rebuilding session history on every conversation turn by @ashpreetbedi in #9775
- [fix] Nest Gemini tool-result media in function responses by @green3sf in #9647
- [fix] Tolerate a tool schema without
propertiesin strict mode (#9409) by @Anai-Guo in #9578 - fix: cache tool schema derivation across runs by @ashpreetbedi in #9771
- fix: Drop no-op default assignments in search_user_memories by @darkdi in #9720
- chore: release 3.0.1 by @ysolanky in #9794
New Contributors
- @ADWilkinson made their first contribution in #9562
- @cc-9898 made their first contribution in #9783
- @gilarel made their first contribution in #9784
- @green3sf made their first contribution in #9647
- @Anai-Guo made their first contribution in #9578
- @darkdi made their first contribution in #9720
Full Changelog: v3.0.0...v3.0.1