Changelog
New Features:
- Superserve Tools: Added
SuperserveToolsto run agent-generated code and manage files in Superserve, a Firecracker-based sandbox platform for long-running agents. See docs. - Plivo Tools: Added
PlivoToolsto send SMS, make voice calls, and look up phone numbers with Plivo. See docs. - The Context Company: Added an observability integration to trace agent runs with The Context Company. See docs
Improvements:
agno createEnhancements: Interactive starter template and project name prompts, four new starters (Azure, Helm, Modal, Render), and automatic.envseeding.- Telegram Tools: Add
pin_message,get_chat,get_file, andreact_with_emoji, plussave_downloadsandoutput_directoryto save downloaded files to disk. - Tavily Tools: Add domain, date range, topic, and country filters to searches.
- Google Tools: Add pagination to Gmail, Calendar, Drive, and Slides.
- Oxylabs Tools: Return full page content as Markdown.
- Workflows: Accept
run_contextin Router selectors and Condition evaluators, deprecatingsession_state.
Bug Fixes:
- Teams:
- Deliver user input to members that pause more than once in a run.
- Serialize run outputs whose media or member responses are already dicts.
- AgentOS:
- Skip accumulated run outputs when streaming team responses.
- Reject creating a session with an existing id instead of overwriting its history.
- Workflow & Team Sessions: Honor zero and negative history limits.
- Workflows: Surface the underlying error when a workflow fails mid-stream.
- Slack: Scope sessions per channel so channels no longer share history.
- Tavily Tools: Apply the configured extract depth.
- OpenRouter: Return generated images from image models.
- PostgresDb: Respect
create_schema=Falsewhen components override table names. - PubMed, Firecrawl & Spider Tools: Respect configured and per-call result limits.
- FixedSizeChunking: Keep short documents when the overlap exceeds the content.
- CSVReader & ExcelReader: Give each reader its own default row chunking.
What's Changed
- fix: CSVReader/ExcelReader no longer share one mutable default RowChunking instance by @chuenchen309 in #8922
- fix: FixedSizeChunking silently drops short documents when overlap >= content length by @chuenchen309 in #8943
- [fix] make POST /sessions idempotent for an existing session_id by @ormeilu in #8646
- [fix] Skip run output accumulators in team SSE streams by @cyphercodes in #8236
- fix: guard zero/negative run and message counts in WorkflowSession/TeamSession helpers by @chuenchen309 in #8942
- feat: Add PlivoTools toolkit for SMS and Voice by @sarveshpatil-plivo in #8868
- fix: return generated images from OpenRouter responses by @Himanshu040604 in #8938
- fix: respect configured and explicit result limits in PubMed, Firecrawl and Spider tools by @Orion7r in #6401
- fix: handle already-serialized dicts in TeamRunOutput.to_dict media fields and member_responses by @kausmeows in #8966
- feat: add react_with_emoji tool to TelegramTools by @flobo3 in #7369
- fix: remove deprecated show_tool_calls from cookbooks by @Mustafa-Esoofally in #8897
- fix: channel-scoped Slack session keys to prevent cross-channel collision by @Mustafa-Esoofally in #8933
- cookbook: add The Context Company observability example by @rohilvagarwal in #8955
- fix: preserve Postgres create_schema in resolve_db_from_config clone path by @shaun0927 in #7547
- chore: remove shared default OpenAI model util and refresh example model ids by @maxpetrusenkoagent in #8384
- feat: add pin_message, get_chat, get_file to TelegramTools by @shaunymca in #6548
- feat: improve agno create onboarding by @ashpreetbedi in #8959
- feat: add pagination and max_results_per_request to Gmail tools by @Mustafa-Esoofally in #8462
- feat: expose advanced search parameters in tavily tools by @Himanshu040604 in #8896
- chore: deprecate session_state in condition/router workflow in favour of run_context by @kausmeows in #9018
- fix: persist paused member runs for multi-round team HITL by @Mustafa-Esoofally in #8937
- feat: Add Superserve sandbox tools by @mohamedsobhi777 in #8584
- chore: parallelize CI tests with pytest-split by @Mustafa-Esoofally in #8831
- fix: update oxylabs scrape_website method by @oxy-giedrius in #4882
- fix: Revert "feat: add pagination and max_results_per_request to Gmail tools" by @kausmeows in #9025
- chore: Release v2.7.4 by @harshsinha03 in #9019
New Contributors
- @cyphercodes made their first contribution in #8236
- @sarveshpatil-plivo made their first contribution in #8868
- @Orion7r made their first contribution in #6401
- @rohilvagarwal made their first contribution in #8955
- @maxpetrusenkoagent made their first contribution in #8384
- @shaunymca made their first contribution in #6548
- @mohamedsobhi777 made their first contribution in #8584
Full Changelog: v2.7.3...v2.7.4