Releases: agno-agi/agno
Releases · agno-agi/agno
v1.4.7
Changelog
New Features:
- Azure OpenAI Tools: Added image generation via Dall-E via Azure AI Foundry.
- OpenTelemetry Instrumentation: We have contributed to the OpenInference project and added an auto-instrumentor for Agno agents. This adds tracing instrumentation for Agno Agents for any OpenTelemetry-compatible observability provider. These include Arize, Langfuse and Langsmith. Examples added to illustrate how to use each one (here).
- Evals Updates: Added logic to run accuracy evaluations with pre-generated answers and minor improvements for all evals classes.
- Hybrid Search and Reranker for Milvus Vector DB: Added support for
hybrid_search
on Milvus. - MCP with Streamable-HTTP: Now supporting the streamable-HTTP transport for MCP servers.
Improvements:
- Knowledge Filters Cookbook: Instead of storing the sample data locally, we now pull it from s3 at runtime to keep the forking of the repo as light as possible.
Bug Fixes:
- Team Model State: Fixed issues related to state being shared between models on teams.
- Concurrent Agent Runs: Fixed certain race-conditions related to running agents concurrently.
Breaking changes:
- Evals Refactoring:
- Our performance evaluation class has been renamed from
PerfEval
toPerformanceEval
- Our accuracy evaluation class has new required fields:
agent
,prompt
andexpected_answer
- Our performance evaluation class has been renamed from
- Concurrent Agent Runs: We removed duplicate information from some events during streaming (
stream=True
). Individual events will have more relevant data now.
What's Changed
- cookbook/playground: use ag setup to authenticate by @continuous1024 in #2996
- Modify toolkit to support new image generation model by @Mustafa-Esoofally in #3147
- Image generation App by @Mustafa-Esoofally in #3146
- Create an Azure OpenAI tool with image generation by @ArvidB3 in #2536
- ci: Add PR linting workflow and update contributing guidelines by @aryan-dani in #3032
- [feat] Replace markdown issue templates with YAML forms by @aryan-dani in #3034
- [fix] Make models stateless by @dirkbrnd in #3140
- memory-v2-dict-fix-ag-3058 by @ysolanky in #3133
- chore: pull filter data from s3 at runtime by @kausmeows in #3174
- feat: Supabase MCP app by @Mustafa-Esoofally in #3175
- chore: refactor accuracy eval logic by @manuhortet in #2916
- feat: Arize Phoenix via OpenInference by @dirkbrnd in #3136
- fix: concurrent-arun-calls-mixing-responses by @kausmeows in #3138
- feat: add hybrid search support in milvus vdb by @kausmeows in #3164
- feat: Add support for streamable-http in MCPTools by @kkpalczewski in #3159
- feat: implement cli auth get by @pritipsingh in #3049
- chore: Release 1.5.0 by @dirkbrnd in #3171
New Contributors
- @continuous1024 made their first contribution in #2996
- @ArvidB3 made their first contribution in #2536
- @aryan-dani made their first contribution in #3032
- @kkpalczewski made their first contribution in #3159
Full Changelog: v1.4.6...v1.5.0
v1.5.0
Changelog
New Features:
- Azure OpenAI Tools: Added image generation via Dall-E via Azure AI Foundry.
- OpenTelemetry Instrumentation: We have contributed to the OpenInference project and added an auto-instrumentor for Agno agents. This adds tracing instrumentation for Agno Agents for any OpenTelemetry-compatible observability provider. These include Arize, Langfuse and Langsmith. Examples added to illustrate how to use each one (here).
- Evals Updates: Added logic to run accuracy evaluations with pre-generated answers and minor improvements for all evals classes.
- Hybrid Search and Reranker for Milvus Vector DB: Added support for
hybrid_search
on Milvus. - MCP with Streamable-HTTP: Now supporting the streamable-HTTP transport for MCP servers.
Improvements:
- Knowledge Filters Cookbook: Instead of storing the sample data locally, we now pull it from s3 at runtime to keep the forking of the repo as light as possible.
Bug Fixes:
- Team Model State: Fixed issues related to state being shared between models on teams.
- Concurrent Agent Runs: Fixed certain race-conditions related to running agents concurrently.
Breaking changes:
- Evals Refactoring:
- Our performance evaluation class has been renamed from
PerfEval
toPerformanceEval
- Our accuracy evaluation class has new required fields:
agent
,prompt
andexpected_answer
- Our performance evaluation class has been renamed from
- Concurrent Agent Runs: We removed duplicate information from some events during streaming (
stream=True
). Individual events will have more relevant data now.
What's Changed
- cookbook/playground: use ag setup to authenticate by @continuous1024 in #2996
- Modify toolkit to support new image generation model by @Mustafa-Esoofally in #3147
- Image generation App by @Mustafa-Esoofally in #3146
- Create an Azure OpenAI tool with image generation by @ArvidB3 in #2536
- ci: Add PR linting workflow and update contributing guidelines by @aryan-dani in #3032
- [feat] Replace markdown issue templates with YAML forms by @aryan-dani in #3034
- [fix] Make models stateless by @dirkbrnd in #3140
- memory-v2-dict-fix-ag-3058 by @ysolanky in #3133
- chore: pull filter data from s3 at runtime by @kausmeows in #3174
- feat: Supabase MCP app by @Mustafa-Esoofally in #3175
- chore: refactor accuracy eval logic by @manuhortet in #2916
- feat: Arize Phoenix via OpenInference by @dirkbrnd in #3136
- fix: concurrent-arun-calls-mixing-responses by @kausmeows in #3138
- feat: add hybrid search support in milvus vdb by @kausmeows in #3164
- feat: Add support for streamable-http in MCPTools by @kkpalczewski in #3159
- feat: implement cli auth get by @pritipsingh in #3049
- chore: Release 1.5.0 by @dirkbrnd in #3171
New Contributors
- @continuous1024 made their first contribution in #2996
- @ArvidB3 made their first contribution in #2536
- @aryan-dani made their first contribution in #3032
- @kkpalczewski made their first contribution in #3159
Full Changelog: v1.4.6...v1.5.0
v1.4.6
Changelog
New Features:
- Cerebras Model Provider: Added Cerebras as a model provider.
- Claude Web Search: Added support for Claude’s new web search tool.
- Knowledge Base Metadata Filtering (Beta): Added support for filtering documents by metadata
-
Two Ways to Apply Filters:
-
Explicit Filtering: Pass filters directly to Agent or during run/query
# Option 1: Filters on Agent initialization agent = Agent( knowledge=knowledge_base, knowledge_filters={"filter_1": "abc"} ) # Option 2: Filters on run execution agent.run("Tell me about...", knowledge_filters={"filter_1": "abc"})
See docs here
-
Agentic Filtering: Agent automatically detects and applies filters from user queries
# Enable automatic filter detection agent = Agent( knowledge=knowledge_base, enable_agentic_knowledge_filters=True ) # Agent extracts filters from query agent.run("Tell me about John Doe's experience...")
See docs here
-
-
Two approaches for adding metadata to documents:
-
During Knowledge Base Initialization:
knowledge_base = PDFKnowledgeBase(path=[ { "path": "file_1.pdf", "metadata": { "user_id": "abc" } }, { "path": "file_2.pdf", "metadata": { "user_id": "xyz" } } ])
-
During Individual Document Loading:
knowledge_base.load_document( path="file.pdf", metadata={"user_id": "abc"} )
-
-
Compatibility
- Knowledge Base Types:
PDF
,Text
,DOCX
,JSON
, andPDF_URL
- Vector Databases:
Qdrant
,LanceDB
, andMongoDB
- Knowledge Base Types:
-
Improvements:
- User and Session ID in Tools: Added
current_user_id
andcurrent_session_id
as default variables insession_data
.
Bug Fixes:
- Knowledge Base ID Clashes: Knowledge files with overlapping names (e.g.,
abc.-.xyz.pdf
andabc.-.def.pdf
) were being incorrectly identified due to the readers using formatted names as unique id which were getting uniqueness conflict. Introduced a unique ID for each document in all the readers usinguuidv4()
to ensure strict identification and prevent conflicts.
What's Changed
- weave-cookbook-ag-3050 by @ysolanky in #3102
- fix: readers set unique id by @kausmeows in #3104
- add cerebras OpenAILike and SDK model integration by @kausmeows in #3118
- Notion MCP agent by @Mustafa-Esoofally in #3115
- metrics-fix-ag-3052 by @ysolanky in #3119
- Massive tests fix code refactor by @Mustafa-Esoofally in #3098
- model-cleanup by @ysolanky in #3080
- agent-reasoning-update-ag-3057 by @ysolanky in #3131
- add workflow for cerebras by @kausmeows in #3142
- [bug-fix] Remove null for optional values by @dirkbrnd in #3123
- Add cookbook for langfuse via openlit by @dirkbrnd in #3127
- update reasoning tools cookbook with ibm-watsonx by @kausmeows in #3150
- feat-claude-web-search-ag-3053 by @ysolanky in #3128
- [feat] Add current_user_id and current_session_id by @dirkbrnd in #3152
- feat: knowledge filters- manual + agentic v1 by @kausmeows in #3005
- fix message history bug in agentic rag and answer engine by @Ayush0054 in #3100
- update lancedb by @kausmeows in #3155
- Release 1.4.6 by @dirkbrnd in #3154
Full Changelog: v1.4.5...v1.4.6
v1.4.5
Changelog
New Features:
- Embedder Support via AWS Bedrock:
AwsBedrockEmbedder
has been added with a default embedding model ofcohere.embed-multilingual-v3
. - Gemini Video Generation Tool: Added video generation capabilities to
GeminiTools
.
Improvements:
- Apify Revamp: Complete revamp of
ApifyTools
to make it completely compatible with Apify actors.
Bug Fixes:
- Tools with Optional Parameters on Llama API: Fixed edge cases with functions
What's Changed
- add warning if async is used with run in retriever by @kausmeows in #3070
- Remove MCP tool description by @dirkbrnd in #3072
- add aws bedrock embedder by @kausmeows in #3075
- Prevent json from loading dict by @alpha-xone in #3077
- Fix loading of sessions if no run has occurred by @dirkbrnd in #3084
- An agent that uses RAG to get recipes and generates images by @Mustafa-Esoofally in #3058
- Fix tool calling on Llama API by @dirkbrnd in #3064
- Fix memory for teams by @dirkbrnd in #3085
- Gemini video tools by @Mustafa-Esoofally in #3012
- Add better Apify integration with examples by @ohlava in #2566
- Release 1.4.5 by @dirkbrnd in #3086
New Contributors
Full Changelog: v1.4.4...v1.4.5
v1.4.4
Changelog
New Features:
- OpenAI File Support: Added support for
File
attached to prompts for agents withOpenAIChat
models.
Improvements:
- Llama API: Various improvements for Llama and LlamaOpenAI model classes including structured output and image input support
- Async Custom Retriever: The
retriever
parameter can now be anasync
function to be used withagent.arun
andagent.aprint_response
. - Gemini Video URL Input: Added support for
Video(url=...)
for Gemini.
Bug Fixes:
- OpenAI Responses o3 / o4 Tools: Fixed broken tool use for advanced reasoning models on
OpenAIResponses
. - MCP on CLI Support: Fixed support for
MCPTools
usage while callingagent.acli_app
.
What's Changed
- llama-api-update-ag-3035 by @ysolanky in #3037
- llama api fixes and updates by @kausmeows in #3038
- Website kb + pinecone DB should respect namespace arg by @5739n4 in #2973
- add support for async retriever by @kausmeows in #3026
- Bug Fix [3041]: Gemni models always return tool_call_id as None and a… by @gauravdhiman in #3042
- Make sure reasoning models are correctly set by @dirkbrnd in #3057
- fix o3/o4-mini for tools by @kausmeows in #3023
- Allow PDF / doc uploads for OpenAIChat by @Mustafa-Esoofally in #3052
- feat(agent): add support for async cli app by @manuhortet in #3045
- Allow new models for OpenAI Transcription by @Mustafa-Esoofally in #3040
- fix(bedrock-model): propagate
request_params
to Bedrock Converse API by @leandrodamascena in #3035 - delete_user_memory missing existence check by @jkatigb in #2999
- gemini-video-url-ag-3017 by @ysolanky in #2980
- fix(mcp): Apply checks for include_tools and exclude_tools during initialize. by @daavoo in #2985
- [Fix] Fix issues in Workflows when loading sessions with new default memory by @dirkbrnd in #3056
- llama-image-support-ag-3037 by @ysolanky in #3053
- Fix schema handling in SQLTools for table inspection by @tiberiu92 in #3060
- add better exception for website reader by @Ayush0054 in #2975
- Fix: metrics-fix-ag-3045 by @ysolanky in #3062
- Release 1.4.4 by @dirkbrnd in #3061
New Contributors
- @leandrodamascena made their first contribution in #3035
- @jkatigb made their first contribution in #2999
- @daavoo made their first contribution in #2985
- @tiberiu92 made their first contribution in #3060
Full Changelog: v1.4.3...v1.4.4
v1.4.3
Changelog
New Features:
- Llama API: Added native SDK and OpenAI-like model classes.
Improvements:
- Claude: Added support for AWS Session token for Claude
- DynamoDB: Added support for AWS profile-based authentication.
Bug Fixes:
- Session Metrics: Fix for session metrics showing up as 0
- HF Embedder fix: Fixed Hugging Face Embedder
What's Changed
- Claude support aws session token. This is required for using AWS credentials from an assumed role by @gnanda17 in #2948
- lite-llm-import-fix-ag-3018 by @ysolanky in #2981
- fix-hf-embedder-ag-3016 by @ysolanky in #2979
- feat(dynamodb): Add support for AWS profile-based authentication. by @lironesamoun in #2989
- fix-session-metrics-ag-3024 by @ysolanky in #2993
- fix: perplexity citations handling for playground by @anuragts in #3008
- fix(evals): better parsing for tool calls by @manuhortet in #3009
- [Reasoning model] Added support for o4-mini and probably o4 when released. Closes #2990 by @emerleite in #3007
- GitHub repo analyzer by @Mustafa-Esoofally in #2582
- llama-api-ag-3032 by @ysolanky in #3025
- Release-1.4.3 by @ysolanky in #3036
New Contributors
- @gnanda17 made their first contribution in #2948
- @lironesamoun made their first contribution in #2989
- @emerleite made their first contribution in #3007
Full Changelog: v1.4.2...v1.4.3
v1.4.2
Changelog
New Features:
- MCP SSE Support: Added support for connecting to SSE MCP Servers.
- Tool Hooks: You can now have a hook that is wrapped around all tool calls. This works for
Toolkits
and custom tools. See this example. - Team Session State: You can now manage a single state dictionary across a team leader and team members inside tools given to the team leader/members. See this example.
- Cartesia Tool: Added support for Cartesia for text-to-speech capabilities.
- Gemini Image Tools: Added a tool that uses Gemini models to generate images.
- Groq Audio Tools: Added a tool that uses Groq models to translate, transcribe and generate audio.
Improvements:
- PubmedTools Expanded Results: Added expanded result sets for
PubmedTools
. - Variety in Tool Results: Custom tools can now have any return type and it would be handled before being provided to the model.
Bug Fixes:
- Teams Shared Model Bug: Fixed issues where a single model is used across team members. This should reduce tool call failures in team execution.
What's Changed
- agent-default-param-update-ag-3011 by @ysolanky in #2954
- Added Read Timeout for MCP Client Session by @ssenthilnathan3 in #2961
- Add cartesia tool by @manthanguptaa in #2412
- Feat/mcp-sse: Extending MCP with SSE transport by @dsaad68 in #2892
- pyproject-keywords-ag-3013 by @ysolanky in #2957
- Fix cases where streaming breaks print_response by @dirkbrnd in #2964
- Feature: Implement shared team session state by @dirkbrnd in #2956
- Add execution hooks for agents and teams by @dirkbrnd in #2920
- Make sure model tools are unique when model is shared in team by @dirkbrnd in #2947
- Gemini image tool by @Mustafa-Esoofally in #2952
- fix-function-result-type-ag-3014 by @ysolanky in #2974
- Groq native model tools by @Mustafa-Esoofally in #2970
- Release 1.4.2 by @dirkbrnd in #2965
New Contributors
- @ssenthilnathan3 made their first contribution in #2961
- @dsaad68 made their first contribution in #2892
Full Changelog: v1.4.1...v1.4.2
v1.4.1
What's Changed
- chore(playground): cookbook showing an agent with structured outputs in the playground by @manuhortet in #2942
- toolkit-fix-ag-3008 by @ysolanky in #2939
- Extracting website main content should return content as text if all else fails by @mkschreder in #2804
- added option to Send Meeting notification to attendees by @aakashsengar in #2656
- Enhanced PubmedTools with More Comprehensive Article Data by @gusmmm in #2457
- Fix: memory hydration by @ashpreetbedi in #2950
- v1.4.1 by @ashpreetbedi in #2951
New Contributors
- @mkschreder made their first contribution in #2804
- @gusmmm made their first contribution in #2457
Full Changelog: v1.4.0...v1.4.1
v1.4.0
Changelog
New Features:
- Memory Generally Available: We have made improvements and adjustments to how Agentic user memory management works. This is now out of beta and generally available. See these examples and these docs for more info.
- OpenAI Tools: Added
OpenAITools
to enable text-to-speech and image generation through OpenAI’s APIs. - Zep Tools: Added
ZepTools
andAsyncZepTools
to manage memories for your Agent usingzep-cloud
Improvements:
- Azure AI Foundry Reasoning: Added support for reasoning models via Azure AI Foundry. E.g. Deepseek-R1.
- Include/Exclude Tools: Added
include_tools
andexclude_tools
for all toolkits. This allows for selective enabling / disabling of tools inside toolkits, which is especially useful for larger toolkits.
Bug Fixes:
- Gemini with Memory: Fixed issue with
deepcopy
when Gemini is used withMemory
.
Breaking Changes:
- Memory: Agents will now by default use an improved
Memory
instead of the now deprecatedAgentMemory
.agent.memory.messages
→run.messages for run in agent.memory.runs
(oragent.get_messages_for_session()
)create_user_memories
→enable_user_memories
and is now set on the Agent/Team directly.create_session_summary
→enable_session_summaries
and is now set on the Agent/Team directly.
What's Changed
- improve instruction for agno assist by @anuragts in #2917
- Add azure AI foundry for reasoning by @dirkbrnd in #2923
- fix: fixed auto-escaping issue in debug mode when content is in Chine… by @KinonoChen in #2915
- zep-integration-ag-2991 by @ysolanky in #2853
- Openai native model tool calls by @Mustafa-Esoofally in #2736
- Feature: Include/Exclude tools from toolkit by @dirkbrnd in #2918
- agent.py fix by @ashpreetbedi in #2936
- update-stale-issues-workflow-ag-3007 by @ysolanky in #2935
- fix(mcp): handle empty exclude_tools field by @manuhortet in #2941
- fix(playground): stream response only if response is streamable by @manuhortet in #2930
- Fix gemini deepcopy by @dirkbrnd in #2922
- fix/remove memory from agentic rag by @Ayush0054 in #2890
- Release 1.4.0 by @dirkbrnd in #2932
New Contributors
- @KinonoChen made their first contribution in #2915
Full Changelog: v1.3.5...v1.4.0
v1.3.5
Changelog
Improvements:
- Further Async Vector DB Support: Support added for:
- Reasoning on Agno Platform:
- Added extensive support for reasoning on the Agno Platform. Go see your favourite reasoning agents in action!
- Changes from SDK
- Now sending events for the different types of reasoning and populate the
reasoning_content
onRunResponse
forstream/non-stream
,async/non-async
- Unified json structure for all types of reasoning in
Reasoning events
- Now sending events for the different types of reasoning and populate the
- Google Caching Support: Added support for caching files and sending the cached content to Gemini.
Bug Fixes
- Firecrawl Scrape: Fixed issues with non-serializable types for during Firecrawl execution. #2883
What's Changed
- Demo Agents by @ashpreetbedi in #2906
- Fix accuracy eval by @dirkbrnd in #2913
- add clickhouse async support by @kausmeows in #2905
- Feature/reasoning by @kausmeows in #2760
- add chromadb async support by @kausmeows in #2904
- Check data existence in
doc_id
before inserting by @alpha-xone in #2685 - add cassandra vector db async support by @kausmeows in #2903
- Async pinecone by @kausmeows in #2902
- Add example for caching with google by @dirkbrnd in #2893
- add pgvector async by @kausmeows in #2901
- fix: firecrawl scrape api by @kausmeows in #2888
- Release 1.3.5 by @dirkbrnd in #2914
New Contributors
- @alpha-xone made their first contribution in #2685
Full Changelog: v1.3.4...v1.3.5