Changelog
New Features:
- LLM Response Caching: You can now cache model responses by setting
cache_response=Trueon the model class. Useful to reduce costs and speed-up development and testing scenarios. See the docs for more details. - Support for Async SQLite: You can now use your SQLite databases asynchronously, with the
AsyncSqliteDbclass. See the docs. - Support for Claude Skills: You can now use Claude's native skills for enhanced reasoning, code execution, and tool interactions. See some examples.
- Support for Tavily Extract API: Agents can now use
TavilyReaderfor knowledge base integration andTavilyToolsfor enhanced URL content extraction with full async support.
Improvements:
- Storage for cancelled runs: Improved the persistence of content when a run cancellation happens.
summary_request_messageon SessionSummaryManager: This allows you to override the user instruction given to the LLM when generating session summaries.- Team Model Inheritance: Team members automatically inherit models from their parent team when no model is specified. This applies to
model,reasoning_model,parser_model, andoutput_model. - Automatic MCP Connection: Now you can simply pass
MCPToolsandMultiMCPToolsto yourAgentorTeamand the connection lifecycle will be handled automatically. This does mean it will connect and reconnect on each run. See the docs for best practices. - Refresh MCP: Added
refresh_connectiononMCPToolsandMultiMCPToolsthat allows connections to be refreshed. See the docs.
Bug Fixes:
- Tool State: Fixed issues related to state being stale on tools attached to agents. Agent/Team tools are now correctly handled across multiple concurrent runs (e.g. via AgentOS).
- Team sessions with JsonDb: Fix and issue getting Team sessions with nested Agent runs inside when using the
JsonDborGCSJsonDbdatabase implementations - Team sessions with async databases: Fix a problem persisting sessions in certain scenarios when using a Team with an asynchronous database driver.
- Sending media to model flag in Team: Pass down the
send_media_to_modelflag set on Team to its member agents. - File Input in Workflows: Fixed file input breaking issue, it is now passed down to
.runand.arunproperly - Async database usage when continuing a paused run: Fixed a bug when using an asynchronous database and continuing a stopped run.
- Media Reconstruction in a session: Fix to correctly read the media from db and handle reconstruction between bytes and base64 properly.
- Avoid empty memories: Fix an edge case where an Agent with access to user memories could create empty memories.
What's Changed
- fix: remove unnecessary hydration from Json db implementations by @Mustafa-Esoofally in #5159
- feat: add LLM model response caching by @uzaxirr in #5138
- fix: Await async save in Team._acleanup_and_store() to prevent history race condition by @SamJupe in #5174
- chore: agent run cancel persist data in db by @kausmeows in #5176
- feat: Makes the summary message prompt editable by @peter-mw in #5152
- fix: Update Elevenlabs toolkit by @Mustafa-Esoofally in #5178
- feat: added Tavily Reader and Enhanced Tavily Tool with extract by @uzaxirr in #4983
- fix: pass
send_media_to_modelfrom Team to its members by @kausmeows in #5199 - chore: send_media_to_model Team cleanup by @kausmeows in #5202
- fix: files support in workflows by @kausmeows in #5203
- Update cookbooks by @ashpreetbedi in #5205
- feat: Add Claude Agent Skills integration by @uzaxirr in #5119
- [feat] Enable team model inheritance to member agents [SDK-238] by @harshsinha03 in #5207
- feat: support async sqlite by @manuhortet in #5156
- fix: support async databases in async run continuation scenarios by @niradler in #5206
- fix: correctly read the media in same session by @kausmeows in #5212
- fix: Tool definition instantiation by @dirkbrnd in #5158
- fix: handle empty memories in the OS API by @manuhortet in #5209
- fix: MCP refreshing and connection handling by @dirkbrnd in #5181
- fix: Convenience functions that break with async DB by @dirkbrnd in #5183
- fix: properly pass schema through to _get_table_columns by @JasonLovesDoggo in #5225
- feat: Re-use sessions between agents and teams by @dirkbrnd in #5211
- fix: add missing files check in response_stream media handling by @lacia-hIE in #5219
- fix(kb): correctly call aupdate_content by @alec-drw in #5213
- feat: Add Async Session Summary Methods for Agent and Team by @ron-42 in #5218
- fix: prevent RunContent with 'None' when show_result=True on tool calls by @jtalmi in #5194
- feat: enable mrkdwn formatting by default for Slack interface output by @ItsRoy69 in #5193
- fix: undefined result variable in arun_function_call by @Mustafa-Esoofally in #5180
- chore: Release 2.2.2 by @dirkbrnd in #5226
New Contributors
- @peter-mw made their first contribution in #5152
- @niradler made their first contribution in #5206
- @lacia-hIE made their first contribution in #5219
- @alec-drw made their first contribution in #5213
Full Changelog: v2.2.1...v2.2.2