Changelog

New Features:
  • Audio File Upload on Playground: You can now upload audio files and have a model interpret the audio, do sentiment analysis, provide an audio transcription, etc.
Bug Fixes:
  • Claude Thinking Streaming: Fix Claude thinking when streaming is active, as well as for async runs.

New Features:
  • Claude 3.7 Support: Added support for the latest Claude 3.7 Sonnet model
Bug Fixes:
  • Claude Tool Use: Fixed an issue where tools and content could not be used in the same block when interacting with Claude models.

New Features:
  • Audio Responses: Agents can now deliver audio responses (both with streaming and non-streaming).
    • The audio is in the agent.run_response.response_audio.
    • This only works with OpenAIChat with the gpt-4o-audio-preview model. See their docs for more on how it works.
    • See the audio_conversation_agent cookbook to test it out on the Agent Playground.
  • Image understanding support for Together.ai and XAi: You can now give images to agents using models from XAi and Together.ai.
Improvements:
  • Automated Tests: Added integration tests for all models. Most of these will be run on each pull request, with a suite of integration tests run before a new release is published.
  • Grounding and Search with Gemini: Grounding and Search can be used to improve the accuracy and recency of responses from the Gemini models.
Bug Fixes:
  • Structured output updates: Fixed various cases where native structured output was not used on models.
  • Ollama tool parsing: Fixed cases for Ollama with tools with optional parameters.
  • Gemini Memory Summariser: Fixed cases where Gemini models were used as the memory summariser.
  • Gemini auto tool calling: Enabled automatic tool calling when tools are provided, aligning behavior with other models.
  • FixedSizeChunking issue with overlap: Fixed issue where chunking would fail if overlap was set.
  • Claude tools with multiple types: Fixed an issue where Claude tools would break when handling a union of types in parameters.
  • JSON response parsing: Fixed cases where JSON model responses returned quoted strings within dictionary values.

Improvements:
  • Gmail Tools: Added get_emails_by_thread and send_email_reply methods to GmailTools.
Bug Fixes:
  • Gemini List Parameters: Fixed an issue with functions using list-type parameters in Gemini.
  • Gemini Safety Parameters: Fixed an issue with passing safety parameters in Gemini.
  • ChromaDB Multiple Docs: Fixed an issue with loading multiple documents into ChromaDB.
  • Agentic Chunking: Fixed an issue where OpenAI was required for chunking even when a model was provided.

Bug Fixes:
  • Gemini Tool-Call History: Fixed an issue where Gemini rejected tool-calls from historic messages.

Improvements:
  • Reasoning with o3 Models: Reasoning support added for OpenAI’s o3 models.
  • Gemini embedder update: Updated the GeminiEmbedder to use the new Google’s genai SDK.
Bug Fixes:
  • Singlestore Fix: Fixed an issue where querying SingleStore caused the embeddings column to return in binary format.
  • MongoDB Vectorstore Fix: Fixed multiple issues in MongoDB , including duplicate creation and deletion of collections during initialization. All known issues have been resolved.
  • LanceDB Fix: Fixed various errors in LanceDB and added on_bad_vectors as a parameter.

Improvements:
  • File / Image Uploads on Agent UI: Agent UI now supports file and image uploads with prompts.
    • Supported file formats: .pdf , .csv ,  .txt ,  .docx , .json
    • Supported image formats: .png  ,  .jpeg ,.jpg  , .webp
  • Firecrawl Custom API URL: Allowed users to set a custom API URL for Firecrawl.
  • Updated ModelsLabTools Toolkit Constructor: The constructor in /libs/agno/tools/models_labs.py has been updated to accommodate audio generation API calls. This is a breaking change, as the parameters for the ModelsLabTools class have changed. The url and fetch_url parameters have been removed, and API URLs are now decided based on the file_type provided by the user.
Bug Fixes:
  • Gemini functions with no parameters: Addressed an issue where Gemini would reject function declarations with empty properties.
  • Fix exponential memory growth: Fixed certain cases where the agent memory would grow exponentially.
  • Chroma DB: Fixed various issues related to metadata on insertion and search.
  • Gemini Structured Output: Fixed a bug where Gemini would not generate structured output correctly.
  • MistralEmbedder: Fixed issue with instantiation of MistralEmbedder.
  • Reasoning: Fixed an issue with setting reasoning models.
  • Audio Response: Fixed an issue with streaming audio artefacts to the playground.

Model Improvements:
  • Models Refactor: A complete overhaul of our models implementation to improve on performance and to have better feature parity across models.
    • This improves metrics and visibility on the Agent UI as well.
    • All models now support async-await, with the exception of AwsBedrock.
  • Azure AI Foundry: We now support all models on Azure AI Foundry. Learn more here..
  • AWS Bedrock Support: Our redone AWS Bedrock implementation now supports all Bedrock models. It is important to note which models support which features.
  • Gemini via Google SDK: With the 1.0.0 release of Google’s genai SDK we could improve our previous implementation of Gemini . This will allow for easier integration of Gemini features in future.
  • Model Failure Retries: We added better error handling of third-party errors (e.g. Rate-Limit errors) and the agent will now optionally retry with exponential backoff if exponential_backoff is set to True. <docs>
Other Improvements:
  • Exa Answers Support: Added support for the Exa answers capability.
  • GoogleSearchTools: Updated the name of GoogleSearch to GoogleSearchTools for consistency.
Deprecation:
  • Our Gemini implementation directly on the Vertex API has been replaced by the Google SDK implementation of Gemini.
  • Our Gemini implementation via the OpenAI client has been replaced by the Google SDK implementation of Gemini.
  • Our OllamaHermes has been removed as the implementation of Ollama was improved.
Bug Fixes:
  • Team Members Names: Fixed a bug where teams where team members have non-aphanumeric characters in their names would cause exceptions.

New Features:
  • Perplexity Model: We now support Perplexity as a model provider.
  • Todoist Toolkit: Added a toolkit for managing tasks on Todoist.
  • JSON Reader: Added a JSON file reader for use in knowledge bases.
Improvements:
  • LanceDb: Implemented name_exists function for LanceDb.
Bug Fixes:
  • Storage growth bug: Fixed a bug with duplication of run_messages.messages for every run in storage.

New Features:
  • Google Sheets Toolkit: Added a basic toolkit for reading, creating and updating Google sheets.
  • Weviate Vector Store: Added support for Weviate as a vector store.
Improvements:
  • Mistral Async: Mistral now supports async execution via agent.arun() and agent.aprint_response().
  • Cohere Async: Cohere now supports async execution via agent.arun() and agent.aprint_response().
Bug Fixes:
  • Retriever as knowledge source: Added small fix and examples for using the custom retriever parameter with an agent.

New Features:
  • Google Maps Toolkit: Added a rich toolkit for Google Maps that includes business discovery, directions, navigation, geocode locations, nearby places, etc.
  • URL reader and knowledge base: Added reader and knowledge base that can process any URL and store the text contents in the document store.
Bug Fixes:
  • Zoom tools fix: Zoom tools updated to include the auth step and other misc fixes.
  • Github search_repositories pagination: Pagination did not work correctly and this was fixed.

New Features:
  • Gmail Tools: Add tools for Gmail, including mail search, sending mails, etc.
Improvements:
  • Exa Toolkit Upgrade: Added find_similar to ExaTools.
  • Claude Async: Claude models can now be used with await agent.aprint_response() and await agent.arun().
  • Mistral Vision: Mistral vision models are now supported. Various examples were added to illustrate example.

Bug Fixes:
  • Claude Tool Invocation: Fixed issue where Claude was not working with tools that have no parameters.

Improvements:
  • OpenAI Reasoning Parameter: Added a reasoning parameter to OpenAI.

Improvements:
  • Model Client Caching: Made all models cache the client instantiation, improving Agno agent instantiation time.
  • XTools: Renamed TwitterTools to XTools and updated capabilities to be compatible with Twitter API v2.
Bug Fixes:
  • Agent Dataclass Compatibility: Removed slots=True from the agent dataclass decorator, which was not compatible with Python <3.10.
  • AzureOpenAIEmbedder: Fixed issue where AzureOpenAIEmbedder was not correctly made a dataclass.

Improvements:
  • Mistral Model Caching: Enabled caching for Mistral models.

This is a major refactor to be coupled with the launch of Agno.
Interface Changes:
  • Class Renaming: Renamed certain classes. For example, phi.model.x is now agno.models.x. See Changes
  • Multi-modal interface updates: We have improved the overall multimodal interface to be more intuitive. See Changes
Improvements:
  • Dataclasses: Changed various instances of Pydantic models to dataclasses to improve the speed.
Removals:
  • Removed all references to Assistant.
  • Removed all references to llm.
  • Removed the PhiTools tool.
  • Removed the PythonAgent and DuckDbAgent (this will be brought back in future with more specific agents).
Bug Fixes:
  • Semantic Chunking: Fixed semantic chunking by replacing similarity_threshold param with threshold param.
New Features:
  • Evals for Agents: Introducing Evals to measure the performance, accuracy, and reliability of your Agents.