Changelog
New Features:
- ModelsLab SFX Support: You can now generate sound effects with
ModelLabsTools. - Database Migrations Manager: We are introducing the
MigrationManagerclass together with our first migrations for thesessionsandmemoriestables.- If you are using PostgreSQL, SQLite, MySQL, or SingleStore together with Agno, you would benefit from migrating your tables to the latest version.
- You can read more on how to handle your migrations in the Migration docs.
Improvements:
- Async Mongo: Improve support for using the
AsyncMongoDbclass in contexts where multiple event loops exist, like some advance use cases with the AgentOS. - HTTPX Client Singleton: All model instances now share a
httpxclient for much better resource allocation and instantiation speed. Also addshttp2for better http multiplexing. show_member_responses: You can now setshow_member_responsesonprint_response,aprint_responseforTeam.- RedisCluster Support: Added support for
RedisClusterwhen configuring aRedisDbinstance for agent database. - Stateless Knowledge base Filters: Filters on knowledge base now correctly work with AgentOS in a stateless manner. It means using filtering on
knowledgenow requires the use ofcontents_db.
Bug Fixes:
- OpenAIEmbedder lazy imports: Fix import errors by making OpenAIEmbedder imports lazy in SemanticChunking and CouchbaseSearch.
- Anthropic Betas Streaming: Update the logic to stream responses while using Anthropic models with Beta features activated. Now all events are always emitted as expected.
- Knowledge filters: Update the
knowledge.get_filters()method to always return valid filter keys instead of dummy keys. - Gemini Unclosed Session: Correctly handle client session lifecycle for Gemini models to deal with “Unclosed client session” errors.
- Session History Retrieval: Fixed
get_previous_session_messages()to return the most recent N sessions instead of the oldest N sessions.
Breaking changes:
- Nebius Model: Updated the default behavior to use the new
api.tokenfactory.nebius.comendpoint.- If you are using Nebius AI Studio you can still specify that URL as the
base_url, but by default the class uses the Token Factory URL as per the Nebius product release.
- If you are using Nebius AI Studio you can still specify that URL as the
- Team Delegation Flag: Renamed the
delegate_task_to_all_membersparameter in Team todelegate_to_all_members. - Google Search Toolkit: The
GoogleSearchToolsToolkit has been removed, as scrapping Google results in the way it was done here is not longer possible. We recommend usingDuckDuckGoToolsinstead for your web searching needs. - Streaming with Print and CLI methods: The
stream_eventsparameter has been removed from the print_response, aprint_response, and CLI methods, for Agent, Team and Workflow. Event handling is now always done correctly when streaming a response with these methods. - Knowledge requires Contents DB: Using
knowledge(...)now requires setting thecontents_dbif you want to useknowledge_filters. See the docs on filtering. - Functions to get Messages and Chat History: Some util functions have been renamed, updated or removed. This is the complete list of changes:
- Removed functions:
get_messages_for_sessionfrom Agent and Team.get_messages_from_last_n_runsfrom the Session, Agent, and Team classes.
- Functions available now:
get_messagesandget_chat_historyin the Session classes.get_session_messagesandget_chat_historyin the Agent, Team and Workflow classes.get_chat_historyalso on the Step class.
- The
get_messagesandget_session_messagesfunctions now have all filtering capabilities. See the docs.
- Removed functions:
- Removed AgentOS Parameters: The following parameters have been removed from the AgentOS class after being deprecated in our previous
v2.2.0version:os_id: You should now useidfastapi_app: You should now usebase_appenable_mcp: You should now useenable_mcp_serverreplace_routes: You should now useon_route_conflict
What's Changed
- chore: Rename knowledge get config API endpoint by @willemcdejongh in #5437
- fix: async mongo indexes management by @manuhortet in #5386
- fix: Handle Beta types from Anthropic streaming by @Sebastiao-Assuncao in #5439
- fix: update
knowledge.get_filters()to return valid filter keys by @kausmeows in #5445 - [feat] Add SFX support to ModelsLabTools by @anurag12-webster in #4361
- feat: Deprecate GoogleSearchTools by @Mustafa-Esoofally in #5413
- fix: update http clients to a global singleton pattern by @JasonLovesDoggo in #5227
- fix: Remove stream_events parameter from print and cli methods [SDK-269] by @harshsinha03 in #5408
- fix: Make OpenAIEmbedder imports lazy to support custom embedders [SDK-312] by @harshsinha03 in #5434
- feat: show_member_response on print methods [SDK-303] by @harshsinha03 in #5435
- refactor: update Nebius branding from AI Studio to Token Factory by @Arindam200 in #5343
- feat: Add RedisCluster support to redis_client parameter by @Forget-C in #5418
- feat: rename delegate_task_to_all_members to delegate_to_all_members by @manuhortet in #5403
- feat: clean-up messages and chat history convenience functions by @manuhortet in #5399
- feat: support Gemini 3.0 thought signatures in Gemini model by @fkwfung in #5454
- fix: remove all break statement and add comments in streaming for team run by @harrytran001 in #5387
- fix:
get_previous_session_messagesfunction to return most recent session msgs by @kausmeows in #5472 - chore: deprecation warnings, gemini client closure warning by @manuhortet in #5468
- refactor: enhance error handling in function result processing by @uzaxirr in #5464
- fix: yield step output by @ysolanky in #5449
- fix: Filtering on knowledge with Async by @dirkbrnd in #5282
- feat: Migration Manager by @dirkbrnd in #5421
- Add optional session parameter to yfinance Ticker calls by @AkhilmsAchu in #5402
- chore: v2.3.0 by @manuhortet in #5461
New Contributors
- @anurag12-webster made their first contribution in #4361
- @Arindam200 made their first contribution in #5343
- @fkwfung made their first contribution in #5454
- @AkhilmsAchu made their first contribution in #5402
Full Changelog: v2.2.13...v2.3.0