Releases: agno-agi/agno
Releases · agno-agi/agno
v2.0.10
Changelog
Improvements:
- Session State: Adds a new flag
overwrite_db_session_state
to overwrite the session state persisted in the database
Bug Fixes:
- AWS Claude Model Class: Fixes a bug with Tool call parsing
What's Changed
- feat: allow to overwrite stored session_state by @manuhortet in #4793
- fix: aws claude legacy tool format [v2] by @kausmeows in #4796
- chore: Release 2.0.10 by @ysolanky in #4798
Full Changelog: v2.0.9...v2.0.10
v1.8.4
Changelog
Bug Fixes:
- Aws Claude Model Class: Fixed a regression caused in 1.8.3 leading to tool call failure for AWS Claude Model Class
What's Changed
- fix: aws claude legacy tool format [v1] by @kausmeows in #4795
Full Changelog: v1.8.3...v1.8.4
v2.0.9
Changelog
New Features:
- MCP Toolbox: new Toolkit to provide your Agents with access to Google’s MCP Toolbox for Databases.
- Bulk DB writing: all DB implementations now support writing multiple Sessions and Memories with one DB call.
- Ollama Cloud: Added support for Ollama cloud.
- Handle session_state: the AgentOS run endpoints now support receiving the
session_state
anddependencies
parameters
Improvements:
- Ollama Cloud: Ollama Model class now supports use of Ollama Cloud via an API key
- AgentOS WhatsApp interface: allow adjusting the WhatsApp version to use with the interface.
- Workflows support for Slack interface: Workflows can now be used in AgentOS together with the Slack interface.
- Scrape Graph Toolkit: New methods added to the Scrape Graph Toolkit.
- Raise on Storage errors: Raise any critical errors that happen when reading or writing from a database, instead of logging them.
- V2 Migration script: batch operations to support and speed up migrating large tables.
Bug Fixes:
- AgentOS chat: Fixed a bug where user messages would be displayed in the wrong order.
- V2 Migration script: Add support for schemas pertaining to older Agno versions.
- HuggingFace Model Class: Fixed a bug with tool call streaming for HF model class
What's Changed
- fix: whatsapp version always defaulting v22.0 by @mishramonalisha76 in #4751
- feat: handle large tables in the migration script by @manuhortet in #4734
- fix: migration script session field mapping fixes by @manuhortet in #4753
- feat: add workflows support in slack interface by @kausmeows in #4754
- [docs] update wrong code path in
CONTRIBUTING.md
by @b41sh in #4752 - Feat: add MCP Toolbox for Databases Toolkit by @ajshedivy in #4010
- fix: Reasoning model run by @dirkbrnd in #4756
- feat: Ollama cloud model support by @Mustafa-Esoofally in #4763
- feat: Update scrapegraph toolkit by @VinciGit00 in #4468
- fix: huggingface model class by @ysolanky in #4768
- [fix] preserve team run created_at timestamp by @Nishant-Sagar in #4764
- fix: whatsapp interface always calling sync function by @mishramonalisha76 in #4770
- feat: handle session_state as kwarg in the OS run endpoints by @manuhortet in #4778
- fix: anthropic format tools by @ysolanky in #4780
- fix: get_run_input OS util to use the right user message by @IAseven in #4777
- fix: raise on storage error by @manuhortet in #4761
- [Fix] reasoning for thinking models by @Mustafa-Esoofally in #4760
- fix: agentos datetime serialization by @ysolanky in #4783
- chore: Release 2.0.9 by @ysolanky in #4782
New Contributors
- @b41sh made their first contribution in #4752
- @ajshedivy made their first contribution in #4010
- @IAseven made their first contribution in #4777
Full Changelog: v2.0.8...v2.0.9
v1.8.3
v2.0.8
Changelog
New Features:
- CometAPI: Added support for CometAPI as a model provider.
Improvements:
- Access dependencies on tool:
dependencies
are now available on custom tools as a built-in argument. See an example. - V1 → V2 Migration Script: Updated the migration script by introducing batching. This makes it significantly more performant for large databases.
- Support multiple text_contents on
add_contents()
in Knowledge. - MultiMCPTools: Added
allow_partial_failure
flag toMultiMCPTools
toolkit
Bug Fixes:
- Dependencies in Teams: Ensure dependencies are correctly passed through to member agents to reference.
- Tool call limit on default reasoning agent: Ensures that a
tool_call_limit
can be passed to the default reasoning agent, avoiding potential costly tool call loops. - Fix string encoding: Addresses issue where string encoding broke when adding Chinese string content. Encoding now reliably works via utf-8 encoding.
- Fix
run_input
not being populated in session runs endpoint: The/sessions/<session_id>/runs
endpoint does not returnrun_input
in case of error as it references it fromstep_executor_runs
and its empty if the workflow hasn't run yet, so in this case we fallback to directly get it frominput
. - Fix State Precedence for Agents/Teams: Fixed issues related to state from the database that would override state passed on
agent.run
. - Fix early stop in workflow to return correct last output: early stop functionality in workflow was not updating the last output properly for non stream cases
- Fixed
OpenAIResponses
to remove duplicate messages for reasoning models:- The
OpenAIResponses
API has the (default enabled) feature that they store the conversation server-side and we send aprevious_response_id
with any followup questions. - Agno's
OpenAIResponses
class implements this feature by looking through the message history, finding the most recent assistant response, and using that message ID asprevious_response_id
. This part works. However, we were then not deleting the prior messages from the request it sends to OpenAI. As a result OpenAI concatenates its own message history with the message history sent by Agno, resulting in an exponential number of repeated messages as the conversation continues.
- The
What's Changed
- fix: langchaindb and llamaindex by @Ayush0054 in #4687
- feat: custom middleware agent os cookbook by @kausmeows in #4689
- fix: resolve circular import between Vectordb and knowledge modules by @SamJupe in #4696
- fix: Always encode string content as UTF-8 by @RockPaperSmittie in #4697
- fix: Handle extra_data in migration scripts by @willemcdejongh in #4654
- chore: add workflow id in workflow_data by @kausmeows in #4698
- fix: system message role bug fix by @Ayush0054 in #4701
- fix: Pass dependencies correctly to member agents by @dirkbrnd in #4700
- fix: Allow for passing tool_call_limit to default reasoning agent. by @RockPaperSmittie in #4703
- feat: access dependencies on tool by @kausmeows in #4706
- fix: favor session db state for subsequent runs by @RockPaperSmittie in #4704
- [fix] Fix claude reasoning tool user by @KeraStudios in #4709
- fix: Add fix for parameters on agentic filtering by @dirkbrnd in #4702
- [Fix] async ollama client with different Host not used correctly by @Mustafa-Esoofally in #4711
- fix: run_input not being populated in session runs endpoint if workflow raises error by @kausmeows in #4730
- Revert "fix: favor session db state for subsequent runs" by @dirkbrnd in #4732
- Fix: Ensure session state precedence by @RockPaperSmittie in #4735
- [fix] Fix reasoning content aggregation and streaming by @jtalmi in #4708
- [feat] Add CometAPI as a new model provider by @TensorNull in #4682
- fix: Gemini structured output by @dirkbrnd in #4647
- [Fix] Stop team task by @Nishant-Sagar in #4727
- fix: tool call mis match fix for ollama cloud by @Ayush0054 in #4733
- feat: fix initialisation of the sentence transformer client directly in get_embedding method. by @Ayush0054 in #4738
- [fix] Add message_id handling for correct tool call ordering by @Mustafa-Esoofally in #4664
- fix: early stop in workflow to return correct last output by @kausmeows in #4743
- fix: remove duplicate messages in OpenAIResponses by @mishramonalisha76 in #4739
- chore: OpenAI responses update by @kausmeows in #4744
- feat: add allow_partial_failure option to MultiMCPTools by @yinglj in #3627
- docs: added maxim support for observability by @akmadan in #3831
- feat: Support text_contents in add_contents by @willemcdejongh in #4695
- chore: Release 2.0.8 by @ysolanky in #4710
New Contributors
- @jtalmi made their first contribution in #4708
- @TensorNull made their first contribution in #4682
- @Nishant-Sagar made their first contribution in #4727
- @yinglj made their first contribution in #3627
- @akmadan made their first contribution in #3831
Full Changelog: v2.0.7...v2.0.8
v2.0.7
Changelog
New Features:
- LlamaCpp Model: Added a new
LlamaCpp
Model class for Llama CPP support!
Improvements:
- AgentOS CORS Middleware: AgentOS now automatically merges existing CORSMiddleware allow_origin lists when a custom FastAPI app is provided, with what is required for the AgentOS UI to function correctly.
Bug Fixes:
input_schema
in UI breaking workflows: For some workflow configs where the steps are not wrapped inStep
class, the UI does not show theinput_schema
form for them. This has been resolved.- Improve functionality of send_media_to_model flag:
- we currently use the
send_media_to_model
flag for the case where the input image to agent is to be accessed by a tool and should not be available to the model. - In this use-case if we use a tool to generate an image (e.g. DallE tools) and using a non-multimodal model, we then append the tool generated media now as a user message to model. When
send_media_to_model=False
we now exclude these results when sending messages to the model.
- we currently use the
What's Changed
- fix: Allow passing embedder instance to semantic chunker by @RockPaperSmittie in #4655
- fix: custom app cors by @ysolanky in #4673
- fix: input-schema UI breaking workflows by @kausmeows in #4666
- fix: Update AgentOS demo cookbook to match docs by @RockPaperSmittie in #4675
- fix: Remove mastra mcp from example and move to sqlite by @RockPaperSmittie in #4676
- fix: Don't overwrite tool call ids each time - this is a patch for now as the issue is annoying by @adiberk in #4657
- [perf] Update create_agent_run and File.valid_mime_types by @guodage in #4597
- feat: Add chat_history field to TeamSessionDetailSchema by @Ayush0054 in #4680
- fix: improve functionality of send_media_to_model flag by @kausmeows in #4683
- fix: Add support for handling provider_data in agent and response flow by @mishramonalisha76 in #4684
- feat: llama cpp by @ysolanky in #4686
- chore: Release 2.0.7 by @dirkbrnd in #4679
New Contributors
Full Changelog: v2.0.6...v2.0.7
v2.0.6
Changelog
New Features:
- Nexus Model Class: Adds a Model class for Nexus Router
- File Generation Tools: Added
FileGenerationTools
to give agents the ability to generate file artifacts! PDFs, CSVs, JSON and TXT. See the docs for more information.
Improvements:
- Store Workflow Input in DB: The main workflow input is also now stored in
WorkflowRunOutput
and correspondingly in DB.
Bug Fixes:
- E2B Tools Parsing: Fixed issues with parsing bytes results.
- ChromaDB Metadata: Fixed issues related to complex metadata schemas and
ChromaDb
. - Gemini Schema Parsing: Fixed parsing of MCP tool schemas with nullable types and empty item definitions along with union type fields for structured output.
- File upload in AgentOS chat page: Fix breaking file upload like pdfs in chat page
- Enabling
search_session_history
should be user specific: fix on ****enablingsearch_session_history=True
we are not fetching user specific sessions. - LanceDB: Fixed a bug with LanceDB metadata update function
What's Changed
- Change List[] (invariant) annotation to Sequence[] (covariant) for Agent tools by @jonemo in #4644
- fix: correct file type detection and enhance content reading logic in E2BTools by @Ayush0054 in #4645
- fix: OpenRouter API key evaluation timing by @basnijholt in #4614
- feat: store workflow input in db by @kausmeows in #4648
- fix: multiple issues causing KB load failures in version 2.x.x #4422 by @nksgw11 in #4519
- chore: remove background bool from run in workflow by @kausmeows in #4650
- [test] add tool hooks test suite by @KarthikeyaKollu in #4588
- chore: Revert "chore: remove background bool from run in workflow" by @kausmeows in #4652
- [fix] inconsistent session type argument for Storage
get_session()
by @guyrosin in #4625 - Feat: streamlit app for podcast generator by @harshithvh in #4495
- feat: add file generation tools by @kausmeows in #4574
- fix: Chroma metadata flattening by @willemcdejongh in #4653
- fix: gemini schema parsing by @kausmeows in #4525
- Fix: skip if exists on add_contents by @dirkbrnd in #4656
- fix: improve WebsiteReader content extraction and crawling by @Nancy-Chauhan in #4555
- fix: search session history to be user specific by @kausmeows in #4661
- fix: LanceDB metadata handling by @willemcdejongh in #4659
- feat: nexus model by @ysolanky in #4662
- chore: Release 2.0.6 by @ysolanky in #4665
New Contributors
- @jonemo made their first contribution in #4644
- @nksgw11 made their first contribution in #4519
- @KarthikeyaKollu made their first contribution in #4588
Full Changelog: v2.0.5...v2.0.6
v2.0.5
Changelog
Improvements:
- AgentOS Home: Added route for
/
to avoid 404 errors. - Ag-UI: Fixed Ag-UI <> AgentOS integration.
- AgentOS with Custom FastAPI: Extended further support for custom FastAPI apps with AgentOS, where existing routes that clash with AgentOS routes are overwritten by default, but can be switched off with
replace_routes=False
. - Migration Script Updates: Updated the v1 → v2 migration script to support parsing for metrics and migrations for MongoDB. See the full migration guide here
- OpenAI Responses: Added accurate metric tracking for OpenAI Responses
What's Changed
- cookbook: Agentos-demo by @ashpreetbedi in #4547
- [fix] Remove @DataClass decorator from Streamlit class to resolve AwsApp parameter inheritance by @crilofer in #4581
- fix:whatsapp documentation change by @VirusDumb in #4594
- feat: fix reasoning demo example by @anuragts in #4602
- [fix] update parameter name in Google search function for consistency by @ishrath99 in #4607
- fix: custom function step data not storing properly in db by @kausmeows in #4605
- [chore] Add link to website in README by @kyleaton in #4615
- feat: Update Duckduckgo tools with new search_engine param by @Mustafa-Esoofally in #4616
- fix: Cohere and SentenceTransformer cookbooks by @willemcdejongh in #4624
- feat: cookbook for webSearch reader and remove urlReader by @Ayush0054 in #4609
- Fix: reasoning content duplication issue by @Mustafa-Esoofally in #4618
- fix: Migration script updates and mongo support by @willemcdejongh in #4627
- fix: populate reasoning steps on RunSchemas by @anuragts in #4628
- fix: tool call none argument by @ysolanky in #4631
- fix: media deserialization from messages by @kausmeows in #4629
- feat: Add AgentOS Home route by @dirkbrnd in #4599
- chore: Add token metric at openai responses API by @anch0vy in #4621
- [feat] Add userid in context for discord integration by @maanya145 in #4623
- fix: content_db autodiscovery by @willemcdejongh in #4633
- cookbook: chainlit app by @ysolanky in #4635
- feat: AGUI bug fixes - Multiple tool calling, duplicate events, etc by @Mustafa-Esoofally in #4636
- fix: session summary generation by @ysolanky in #4639
- chore: Release 2.0.5 by @dirkbrnd in #4637
New Contributors
- @crilofer made their first contribution in #4581
- @kyleaton made their first contribution in #4615
- @anch0vy made their first contribution in #4621
- @maanya145 made their first contribution in #4623
Full Changelog: v2.0.4...v2.0.5
v2.0.4
Changelog
New Features:
-
TypedDict
support ininput_schema
for agent/team/workflow with structured input: Along withPydantic
support,TypedDict
support is also available. -
Added
SiliconFlow
: New model class added for Silicon Flow. -
session_state
as param in custom function step for workflow:
You can now do-# on the function of the custom python function step for a workflow def custom_function_step(step_input: StepInput, session_state): session_state["test"] = test_1 # updates the workflow session state
Improvements:
- MCP support on AgentOS evals: all evals now support async tools, as MCP.
extra_body
on OpenAI: Addedextra_body
parameter onOpenAIChat
andOpenAILike
.- Knowledge Content Resolution: Rehydration of contentsdb rows for existing vectors
Bug Fixes:
- Dependencies: Resolved issues on Agent/Team for dependency resolution.
- Agno Infra: Fixed issues related to
ag infra up
andag infra down
when run outside of the project. - Workflows session serialization: handle events serialization like in agent/team.
- Website reader url handling improved
What's Changed
- Fix: tool call spacing by @Mustafa-Esoofally in #4535
- feat: async in reliability eval runs from OS by @manuhortet in #4539
- chore: Add extra_body etc to OpenAIChat and responses by @dirkbrnd in #4543
- fix: Agent deep copy by @SamJupe in #4544
- fix: Add agent_id, team_id and child_run_id by @dirkbrnd in #4542
- fix: Change how security key works on AgentOS by @dirkbrnd in #4545
- feat: deterministic ids for all db implementations by @manuhortet in #4548
- chore: update logs by @kausmeows in #4550
- cookbook: add custom strategy coobook by @Nancy-Chauhan in #4551
- feat: TypeDict on
input_schema
by @kausmeows in #4534 - fix: Update infra CLI commands by @dirkbrnd in #4556
- feat: session state as param in custom function step for workflow by @kausmeows in #4557
- fix: agno infra config by @ysolanky in #4558
- [docs] update wrong script path in README for standalone memory by @fehmisener in #4570
- [feat] Move session state adding to method for easy customization by @adiberk in #4546
- fix: workflows event handling in to_dict by @kausmeows in #4569
- fix: ag infra config path by @ysolanky in #4572
- fix: Update how auth works on websocket connections by @dirkbrnd in #4554
- fix: Resolve dependency issues by @dirkbrnd in #4565
- feat: Fix running Mem0 Toolkit with local Mem0 config by @falmanna in #4449
- fix: Use URL if content does not have extension by @willemcdejongh in #4559
- [feat] Add Siliconflow model provider by @shiw-yang in #3775
- feat: streamlit app for vision ai by @harshithvh in #4526
- fix: Handle contentsDB insert is skip_existing triggered by @willemcdejongh in #4549
- chore: Release 2.0.4 by @dirkbrnd in #4576
New Contributors
- @fehmisener made their first contribution in #4570
- @falmanna made their first contribution in #4449
- @shiw-yang made their first contribution in #3775
Full Changelog: v2.0.3...v2.0.4
v2.0.3
Changelog
New Features:
- WorkflowTools: Added
WorkflowTools
as a tool for agents and teams that allows the agent/team to run a workflow. Also has reasoning support for think/analyze. - MemoryTools: Added
MemoryTools
as a tool for agents and teams to add, update, delete memories. Also has reasoning support for think/analyze. - Gemini TTS: Added support for Gemini Text to Speech.
- Added support for
encoding
to be passed on reader class.
Improvements:
- AgentOS
kwargs
on runs: Added support for additional arguments on running an agent/team/workflow viaAgentOS
API.
Bug Fixes:
- Cerebras: Fixed issues with
parallel_tool_calls
in Cerebras model. - OpenAIResponses: Fixed a bug with
store=False
inOpenAIResponses
class. - AgentOS Slack Interface: the events endpoint was wrongly exposed on
slack/slack/events
, it is now exposed onslack/events
- AgentOS WhatsApp Interface: fixed a bug where some messages wouldn’t be sent.
- Team MemoryManager: Added
memory_manager
parameter to Teams. - FixedSizeChunking: Default chunk_size increased to 5000.
- Parser Model output in
print_response_stream
: In streaming case the structured output from parser model was not being displayed json formatted in cli.
What's Changed
- [fix] Add 'docker' to allowed commands in MCP command preparation by @ishrath99 in #4482
- chore: opt out of telemetry on pipelines by @SamJupe in #4503
- fix: whatsapp router on agentos by @VirusDumb in #4504
- feat: WorkflowTool and MemoryTool by @dirkbrnd in #4506
- fix: Cerebras parallel_tool_calls by @dirkbrnd in #4513
- fix: slack router prefix by @manuhortet in #4517
- fix: Update fixedChunking size by @willemcdejongh in #4518
- feat: handle kwargs in OS endpoints by @manuhortet in #4509
- fix: dont raise if no session when getting chat history by @manuhortet in #4516
- feat: Support custom encoding on reader class by @willemcdejongh in #4521
- feat: Only warn if LiteLLM client is not provided by @whitfin in #4470
- feat: update structured input output example with parser model by @kausmeows in #4515
- fix: team memory manager by @anuragts in #4523
- feat: Gemini TTS by @Mustafa-Esoofally in #4307
- feat: update SSE format by @manuhortet in #4524
- fix: print response stream changes for parser model by @kausmeows in #4530
- Update structured IO cookbook by @ashpreetbedi in #4532
- feat: Handle Zdr model for OpenAI reasoning models by @Mustafa-Esoofally in #4520
- chore: Release 2.0.3 by @ysolanky in #4529
New Contributors
- @ishrath99 made their first contribution in #4482
- @SamJupe made their first contribution in #4503
- @whitfin made their first contribution in #4470
Full Changelog: v2.0.2...v2.0.3