v1.5.9
Changelog
New Features:
- AG-UI App: Expose your Agno Agents and Teams with an AG-UI compatible FastAPI APP.
- vLLM Support: Added support for running vLLM models via Agno.
- Serper Toolkit: Added
SerperTools
toolkit to search Google - LangDB Support: Added LangDB AI Gateway support into Agno.
- LightRAG server support: Added LightRAG support which provides a fast, graph-based RAG system that enhances document retrieval and knowledge querying capabilities.
- Parser Model: Added ability to use an external model to apply a structured output to a model response
- Pdf Bytes Knowledge: Introduced a new knowledge base class:
PDFBytesKnowledgeBase
, which allows the ingestion of in-memory PDF content via bytes or IO streams instead of file paths. - Qdrant Mcp Server: Added MCP support for Qdrant
- Daytona integration: Added
DaytonaTools
toolkit to let Agents execute code remotely on Daytona sandboxes - Expand URL addition in Crawl4ai: Introduced a new URL expansion feature directly into the Crawl4ai toolkit. Our agents frequently encounter shortened URLs that crawl4ai cannot scrape effectively, leading to incomplete data retrieval. With this update, shortened URLs are expanded to their final destinations before being processed by the crawler.
- AWS SES Tools: Added
AWSSESTools
to send emails via AWS SES. - Location Aware Agents: Added
add_location_to_instructions
to automatically detect the current location where the agent is running and add that to the system message.
Improvements:
- FastAPIApp Update: FastAPIApp was updated and
agent
was replaced withagents
,team
withteams
andworkflows
was added. This also now requires you to specify which agent/team/workflow to run.- E.g.
http://localhost:8001/runs?agent_id=my-agent
- E.g.
- ZepTools Updates: Updated
ZepTools
to remove deprecated features. - GmailTools Attachments:
GmailTools
now support attachments. - Improve code reusability by using fetch with retry and async_fetch_with_retry: updated
fetch_with_retry
andasync_fetc_with_retry
to be reused inurl_reader.py
- Add name to evaluation examples: Included name param in evaluation examples
- XTools Search: Added
search_posts
forXTools
.
Bug Fixes:
- Claude Prompt Tokens: Fixed a bug with prompt tokens not propagating in Claude model class
- Add type in base App class for registry: Can have different types of app like-
slack
,whatsapp
, etc - Accept empty array of pdf urls: Fixed an issue where empty PDF URL arrays were not accepted, preventing knowledge base queries without adding new documents
- Anthropic cache metrics propagation: Fixed a bug where Anthropic's prompt caching metrics were not propagating to Agent responses, despite the raw Anthropic API working correctly. This minimal fix ensures cache performance metrics are properly captured and reported.
- Handle non serializable objects on RunResponse dict parsing:
- Updated
RunResponse.to_dict()
to handle non-serializable fields, as Python enums
- Updated
What's Changed
- fix: add type in base App class for registry by @Ayush0054 in #3444
- feat: Zep toolkit update by @Mustafa-Esoofally in #3436
- feat: Competitor analysis agent by @Mustafa-Esoofally in #3456
- feat: Added serper.dev as new tool with agno toolkit by @CoderOMaster in #2673
- fix: add name to evaluation examples by @anuragts in #3453
- feat: AG-UI agno bridge by @Mustafa-Esoofally in #3405
- feat: vLLM support by @Mustafa-Esoofally in #3315
- chore: adjust AG-UI app url by @manuhortet in #3468
- [fix] anthropic cache metrics propagation by @NitsanCohen770 in #3460
- cookbook: Qdrant Mcp Server by @lucifertrj in #3346
- feat: LangDB AI Gateway Support for Agno by @MrunmayS in #2077
- [FIX] Accept empty array of pdf urls by @matthieu-vincke in #3372
- feat/expand URL addition in crawl4ai by @chiruu12 in #2409
- Feat/pdf bytes knowledge by @renanmoretto in #3024
- feat: parser model by @ysolanky in #3441
- feat: Change fastapi app to allow multiple agents/teams by @dirkbrnd in #3471
- Enable GmailTools to send emails with attachments by @hsubbaraj in #3378
- [feat] Improve code reusability by using fetch with retry and async_fe… by @memorylorry in #3368
- feat: LightRAG server support by @willemcdejongh in #3420
- feat: handle non serializable objects on RunResponse dict parsing by @manuhortet in #3477
- feat: Updates to Crawl4ai toolkit by @Mustafa-Esoofally in #3473
- feat: Infinity Reranker by @bet0x in #3380
- chore: ag-ui integration setup readme by @manuhortet in #3482
- fix: add storage mode in workflows and fixes by @Ayush0054 in #3475
- feat: Add new search posts tool to X toolkit by @Mustafa-Esoofally in #3474
- chore: simplify setup for the AG-UI app by @manuhortet in #3483
- feat: add Daytona toolkit by @manuhortet in #3479
- feat: tool to send email via SES also updated Cookbook example for th… by @aakashsengar in #1882
- [FIX] numpy<2 not required for Windows by @matthieu-vincke in #3388
- fix(media): Add Media IDs to Serialization and Correct Media Deserialization by @0xRichardH in #3227
- Feature/aws sso by @nikodyk in #2880
- [bugfix] use sentence_transformer_client by @mathematicalmichael in #2420
- feat: Add location to instructions to make agent location aware by @dirkbrnd in #3485
- chore: Release 1.5.9 by @kausmeows in #3478
New Contributors
- @CoderOMaster made their first contribution in #2673
- @NitsanCohen770 made their first contribution in #3460
- @MrunmayS made their first contribution in #2077
- @matthieu-vincke made their first contribution in #3372
- @chiruu12 made their first contribution in #2409
- @renanmoretto made their first contribution in #3024
- @hsubbaraj made their first contribution in #3378
- @memorylorry made their first contribution in #3368
- @bet0x made their first contribution in #3380
- @nikodyk made their first contribution in #2880
Full Changelog: v1.5.8...v1.5.9