Releases: agno-agi/agno
Releases · agno-agi/agno
v2.6.16
Changelog
Improvements
- Support parallel-web >= 1.0 GA API in ParallelBackend: migrate web_search/web_extract to the top-level client and pin the floor to >=1.0
What's Changed
- fix: update ParallelBackend for parallel-web >= 1.0 GA API by @ashpreetbedi in #8412
- chore: release 2.6.16 by @ysolanky in #8421
Full Changelog: v2.6.15...v2.6.16
v2.6.15
Changelog
New Features:
- Custom, Scoped, Identity-Aware MCP Tools: The AgentOS MCP server (served at /mcp) is now a real extension point, configured through a single
MCPServerConfigobject. You can register custom tools (plain callables or Agno @tool/Functions), scope the built-ins (enable_builtin_tools=False, or filter with include_tags/exclude_tags), inject the authenticated caller identity into a tool (declare user_id and AgentOS supplies the JWT subject while hiding it from the client schema), gate calls with a one-line authorize function, and opt into built-in DNS-rebinding protection via allowed_hosts/allowed_origins. All with data, no custom middleware classes. Fully backward compatible: without mcp_config, all built-in tools register exactly as before.
Bug Fixes:
- Call-Site Dependencies Merge: Call-site dependencies passed to agent.run()/team.run() replaced the configured Agent.dependencies/Team.dependencies wholesale, which dropped prompt-template vars over interfaces that always pass call-site dependencies (e.g. Slack/WhatsApp). They now merge({**configured, **call_site}, call-site wins on conflict), matching how metadata/knowledge_filters already merge.
What's Changed
- chore: apply formatting fixes missed by merged PRs by @ashpreetbedi in #8380
- cookbook: refresh 08_learning and add AgentOS learning demo by @ashpreetbedi in #8379
- chore: update model guidance to gpt-5.5 by @ashpreetbedi in #8383
- feat: custom, scoped, identity-aware tools for the AgentOS MCP server (+ bug fixes) by @ashpreetbedi in #8404
- chore: Release v2.6.15 by @kausmeows in #8414
Full Changelog: v2.6.14...v2.6.15
v2.6.14
Changelog
New Features:
- Learnings CRUD on AgentOS: Added create, read, update, and delete endpoints for learnings on AgentOS.
Bug Fixes:
- Gemini Thread Safety: Removed per-response Gemini cleanup that caused a thread-safety race under concurrent usage.
- JSON Object Providers: JSON instructions are now included in the followup prompt for
json_objectproviders.
What's Changed
- fix: include JSON instructions in followup prompt for json_object providers by @RegondaChandan in #8357
- chore: avoid leaking telemetry URL in OS launch debug log by @kausmeows in #8373
- feat: CRUD endpoints for learnings on AgentOS by @ysolanky in #7826
- fix: remove per-response Gemini cleanup causing thread-safety race by @Mustafa-Esoofally in #7797
- chore: release 2.6.14 by @ysolanky in #8375
New Contributors
- @RegondaChandan made their first contribution in #8357
Full Changelog: v2.6.13...v2.6.14
v2.6.13
Changelog
New Features:
- Sub-Agent Event Streaming: Sub-agent events from the context provider update tool now stream through to the parent run.
- AgentOS Registry Auto-Population: The AgentOS registry now auto-populates from agents, teams, and workflows.
- Workflows HITL over Sockets: Added socket support for human-in-the-loop workflows.
- Slack App Manifest: Added a Slack app manifest for the AgentOS interface.
Bug Fixes:
- JSON Schema:
json_schemanow handlesOptionaldataclass fields that have no declared type. - MCPTools Sessions: Refreshed
MCPToolssessions are now closed in the call task. - Tool Arguments: Preserve whitespace in tool arguments.
- Content Hashing: Metadata is now included in the content hash so
upsert=Falseinserts of the same document no longer collapse. - MultiMCP: Clean up MultiMCP connection failures.
- DaytonaTools: Quote shell paths in
DaytonaTools.
What's Changed
- cookbook: fold HTML generation into 01_demo wiki agents by @ashpreetbedi in #8272
- refactor: drop stale Phase 2 labels from decision logs by @ysolanky in #8300
- [fix] Quote DaytonaTools shell paths by @fengjikui in #8289
- [fix] Clean up MultiMCP connection failures by @RitwijParmar in #8163
- fix: include metadata in content hash so
upsert=Falseinserts of the same document don't collapse by @sannya-singal in #8310 - fix: preserve tool argument whitespace by @he-yufeng in #8131
- feat: add Slack app manifest for AgentOS interface by @Mustafa-Esoofally in #8327
- fix: close refreshed MCPTools sessions in call task by @RitwijParmar in #8230
- fix: json_schema handle Optional dataclass fields without a type by @devteamaegis in #8329
- feat: socket support for workflows HITL by @kausmeows in #7749
- feat: auto-populate AgentOS registry from agents, teams, and workflows by @ysolanky in #8269
- feat: stream sub-agent events from context provider update tool by @Mustafa-Esoofally in #8348
- chore: bump version by @kausmeows in #8347
New Contributors
- @fengjikui made their first contribution in #8289
- @RitwijParmar made their first contribution in #8163
- @he-yufeng made their first contribution in #8131
Full Changelog: v2.6.12...v2.6.13
v2.6.12
Changelog
New Features:
- HTML File Generation: Added HTML file generation support with example app.
- AG-UI State Events: Added AG-UI state events support.
- Tuning Engines Provider: Added Tuning Engines as a new model provider.
- WorkOS RBAC Example: Added WorkOS example for role-based access control.
- Latitude Observability: Added Latitude via OpenInference observability example.
Improvements:
- MiniMax: Upgraded default model to M3.
- WhatsApp README: Updated setup and webhook guide for new Meta developer dashboard.
- README: Enhanced with additional resource links.
Bug Fixes:
- Milvus: Updated hybrid search param to use
drop_ratio_searchand removedrop_ratio_build - ArxivReader: Updated arxiv
Client.results()usage. - Runs: Update to guard against
IndexErrorwhen runs list is empty infrom_dict. - Code Chunking: Updated to skip tokenizer tests on HuggingFace download error.
- Agentic State Tool: Updated
enable_agentic_statetool receives correct schema for dict params. - AG-UI Multimodal: Fixed to preserve AG-UI multimodal inputs.
- AG-UI Protocol: Updated to pin
ag-ui-protocol>=0.1.14to prevent reasoning role validation error.
What's Changed
- Enhance README with additional resource links by @kyleaton in #8216
- chore: Update WhatsApp README: setup & webhook guide for new meta developer dashboards setup by @VirusDumb in #8222
- feat: add Latitude via OpenInference observability example by @guillemwilly in #8207
- feat: upgrade MiniMax default model to M3 by @octo-patch in #8215
- feat: agui state events by @b-sharpe in #6080
- fix: pin ag-ui-protocol>=0.1.14 to prevent reasoning role validation error by @Himanshu040604 in #8169
- fix: Preserve AG-UI multimodal inputs by @bhatiama in #7937
- feat: Add HTML file generation and example app by @VirusDumb in #8241
- fix: enable_agentic_state tool receives correct schema for dict params by @Mustafa-Esoofally in #8231
- fix: skip code chunking tokenizer tests on HuggingFace download error by @sannya-singal in #8255
- fix: use drop_ratio_search for Milvus sparse vector search params by @Mustafa-Esoofally in #8249
- feat: add Tuning Engines provider by @cerebrixos in #8175
- fix: guard against IndexError when runs list is empty in from_dict by @devteamaegis in #8187
- fix: update arxiv
Client.results()inArxivReaderby @sannya-singal in #8261 - feat: workos example for rbac by @mishramonalisha76 in #8257
- chore: update demo with file generation by @kausmeows in #8264
- fix: close text message before reasoning events in AG-UI (#5466) by @Mustafa-Esoofally in #8251
- cookbook: Parallel partnership showcase, integrations reorg, and 01_demo polish by @ashpreetbedi in #8268
- chore: Release v2.6.12 by @kausmeows in #8256
New Contributors
- @guillemwilly made their first contribution in #8207
- @b-sharpe made their first contribution in #6080
- @bhatiama made their first contribution in #7937
- @cerebrixos made their first contribution in #8175
Full Changelog: v2.6.11...v2.6.12
v2.6.11
Changelog
New Features
- Parallel Web Task API & Monitor API Tools: Added tools for Task API and Monitor API integration for parallel web.
- Manifest: Added
Manifestfor per-entity AgentOS UI metadata configuration.
Bug Fixes
- WhatsApp: Upgraded WhatsApp Graph API version to
v25.0.
What's Changed
- fix: Urgent Bump WhatsApp Graph API version to v25.0 by @VirusDumb in #8206
- feat: add Manifest for per-entity OS UI metadata by @ysolanky in #8142
- feat: add Task API and Monitor API tools by @Mustafa-Esoofally in #8071
- chore: Release v2.6.11 by @kausmeows in #8213
Full Changelog: v2.6.10...v2.6.11
v2.6.10
Changelog
New Features
- Model Providers: Added four new model providers:
- Inception Labs model integration
- Xiaomi MiMo model provider
- MiniMax model provider (M2.7)
- Cloudflare AI Gateway model provider
- YouTools: Added
YouToolsfor You.com Search API integration. - DOCX Generation: Added DOCX file generation support.
- Context Provider Streaming: Stream sub-agent events from context providers.
- Registry: Added knowledge and managers support in registry.
- Run Persistence: Updated agent, team, and workflow to properly persist cancelled runs.
- RunCompleted Event: Added
filesfield onRunCompletedevent. - Model String Parser: Added
google-interactionsprovider to model string parser.
Improvements
- DeepSeek: Refreshed DeepSeek V4 thinking mode and defaults.
- Cookbook: Updated Parallel MCP to use free endpoint; polished image_search README; switched data_labeling examples to model string shorthand.
Bug Fixes
- MCP:
- Prevent MCP connection failures from crashing agents.
- Avoid kwarg collision when MCP tools have
team/agent/run_contextparams.
- JSON DB: Use UTF-8 encoding for JSON DB files.
- CSV Toolkit: Read CSV toolkit files as UTF-8.
- Async Fixes:
- Use async
Attachment.read()instead of blockingrequests.getin Discord client. - Replace blocking
time.sleepwithawait asyncio.sleepin_async_create_collection_and_scope. - Replace deprecated
asyncio.get_event_loop()withget_running_loop()in embedders. - Use running loop in YouTube reader.
- Tools use async entrypoint in async execution chain when no hooks configured.
CSVReader.async_readuses newline join to match sync read behavior.
- Use async
- OpenAI Tools: Close audio file handle in
OpenAITools.transcribe_audio. - Team:
- Fixed team continue run dependencies;
- Added
_acontinue_run_background_streamto preventAttributeErroron continue-run SSE.
- Parser Model: Skip strict tool mode when a
parser_modelis set (Agent and Team); addedparser_modelguard tocontinue_run_dispatchandacontinue_run_dispatch. - RemoteTeam: Added knowledge filter attributes.
- Embeddings: Fixed NULL embeddings bug.
- Vector DBs: Milvus vector DB compatibility with
contents_db; removed deprecated Tantivy FTS, fixed Redishsetmypy error. - SeltzTools: Updated for current SDK.
- Fal: Fixed array handling in
fal.py. - Zendesk: URL-encode search query in Zendesk tool.
- Memory: Fixed
memory_topicssignature mismatch across DB backends. - Sessions: Raise
ValueErrorindelete_sessionwhen called with async db. - File Upload: Fixed file upload media handling.
- Slack HITL: Truncate HITL card body to prevent silent Slack rejection.
What's Changed
- fix: truncate HITL card body to prevent silent Slack rejection by @Mustafa-Esoofally in #8072
- test: add coverage for OpenAIEmbedder dimensions parameter (fixes #5165) by @ItsRoy69 in #5177
- feat: add google-interactions provider to model string parser by @ysolanky in #8082
- cookbook: switch data_labeling examples to model string shorthand by @ashpreetbedi in #8080
- docs: fix storage README links by @fallintoplace in #8088
- docs: fix newsletter link typo in README by @fallintoplace in #8087
- fix: use timezone-aware cookbook timestamp by @Ghraven in #8061
- fix: CSVReader.async_read uses newline join to match sync read behavior by @SatyaKapardi in #8025
- fix: avoid kwarg collision when MCP tools have
team/agent/run_contextparams by @sannya-singal in #8066 - fix: file upload media by @kausmeows in #8064
- fix: milvus vector db compatibility with contents_db by @sannya-singal in #8018
- feat: add docx generation by @glerani in #7768
- [fix] Add parser_model guard to continue_run_dispatch and acontinue_run_dispatch by @hp-8 in #8102
- feat: add files on RunCompleted event by @anuragts in #8104
- fix: use running loop in youtube reader by @Ghraven in #8078
- fix: replace deprecated asyncio.get_event_loop() with get_running_loop() in embedders by @FBISiri in #8111
- fix: memory_topics signature mismatch across DB backends by @Mustafa-Esoofally in #7490
- fix: raise ValueError in delete_session when called with async db by @VANDRANKI in #8059
- fix: skip strict tool mode when a parser_model is set by @bajrangostwal in #8123
- fix: skip strict tool mode when a parser_model is set on Team by @ysolanky in #8130
- fix: URL-encode search query in Zendesk tool by @hobostay in #8022
- Fix: Array handling in fal.py by @peter-mw in #4999
- [feat] Add Cloudflare AI Gateway model provider by @CarlosSenobio in #7598
- feat: add MiniMax as a model provider (M2.7) by @octo-patch in #7014
- cookbook: fix duplicate word typos in image agent and supabase examples by @kratos0718 in #8138
- fix: remove deprecated Tantivy FTS, fix Redis hset mypy error by @Mustafa-Esoofally in #8146
- chore: Refresh DeepSeek V4 thinking mode and defaults by @VirusDumb in #8147
- fix: add RemoteTeam knowledge filter attributes by @FU-max-boop in #8145
- fix: add _acontinue_run_background_stream to prevent AttributeError on continue-run SSE by @devteamaegis in #8136
- fix: tools use async entrypoint in async execution chain when no hooks configured by @HrushiYadav in #7765
- fix: minor a2a cookbook docs fix by @VirusDumb in #7988
- feat: add YouTools for You.com Search API by @brainsparker in #7727
- feat: add knowledge and managers support in registry by @kausmeows in #7758
- fix: prevent MCP connection failures from crashing agents by @sannya-singal in #8112
- fix: NULL embeddings bug by @pecastro in #7566
- [feat] add Xiaomi MiMo model provider by @mattholy in #8125
- fix: team continue run dependencies by @kausmeows in #8148
- feat: add Inception Labs model integration by @Cenrax in #5431
- cookbook: polish image_search README and lower ingest concurrency to 3 by @ashpreetbedi in #8162
- feat: update agent, team and workflow cancel run persistance by @kausmeows in #5996
- chore: remove stale issues/PRs workflow by @ysolanky in #8173
- fix: replace blocking
time.sleepwithawait asyncio.sleepin_async_create_collection_and_scopeby @kratos0718 in #8158 - fix: close audio file handle in
OpenAITools.transcribe_audio(resource leak) by @kratos0718 in #8161 - fix: use async Attachment.read() instead of blocking requests.get in Discord client by @kratos0718 in #8186
- fix: update SeltzTools for current SDK by @WilliamEspegren in #8177
- feat: stream sub-agent events from context providers by @Mustafa-Esoofally in #7924
- cookbook: update Parallel MCP to use free endpoint by @Mustafa-Esoofally in #8202
- fix: read csv toolkit files as utf-8 by @Ghraven in #8107
- fix: use utf-8 for json db files by @Ghraven in #8096
- chore: Release v2.6.10 by @kausmeows in #8176
New Contributors
- @fallintoplace made their first contribution in #8088
- @SatyaKapardi made their first contribution in #8025
- @glerani made their first contribution in #7768
- @hp-8 made their first contribution in #8102
- @FBISiri made their first contribution in #8111
- @bajrangostwal made their first contribution in #8123
- @hobostay made their first contribution in #8022
- @CarlosSenobio made their first contribution in #7598
- @octo-patch made their first contribution in #7014
- @kratos0718 made their first contribution in #8138
- @FU-max-boop made their first contribution in #8145
- @devteamaegis made their first contribution in #8136
*...
v2.6.9
Changelog
New Features:
- Approvals - Resolved Approval in Post-Hooks: Post-hooks and observability integrations can now read the full resolved approval record (
resolved_by,resolved_at, etc.) viarun_response.metadata["approval"]. Previously onlystatusandresolution_datawere exposed. Lives inmetadataso it works uniformly acrossRunOutput/TeamRunOutput/ futureWorkflowRunOutput. (#7366, #8032)
Improvements:
- PgVector - prefix_match=True actually works:
PgVector(prefix_match=True)was a silent no-op - it appended*then routed throughwebsearch_to_tsquery, which ignores wildcards. Now routes throughto_tsquery('tok:*')with proper tokenization, so partial queries like"ani"FTS-match"animal"as documented. New cookbookcookbook/07_knowledge/04_advanced/06_prefix_search.pyshows the help-center typeahead use case. (#8048, #8051, #8052) - PgVector - empty-tsquery fallback robustness: Replaced the
to_tsquery(language, '')fallback with a literal''::tsquerycast so behavior no longer depends on the parser tolerating empty input. (#8053) - Claude variants - temperature/top_p/top_k = 0 honored: Anthropic, AWS, and VertexAI Claude variants were silently dropping
0.0values due to bare truthiness checks. Switched tois not Noneso deterministic output works as intended. (#8009, fixes #8004) - Calendar & Gmail context providers - clean instruction layering: Trimmed
DEFAULT_READ_INSTRUCTIONS/DEFAULT_WRITE_INSTRUCTIONSfrom 157 lines to 27 by removing content already supplied by the toolkit-side instructions. Provider now owns role + safety; toolkit owns the technical reference. (#7982) - decision_log - drop deprecated
datetime.utcnow(): Replaced withdatetime.now(timezone.utc)to clear the Python 3.12 deprecation warning. (Closes #8030) - Chonkie: Bumped to
>=1.6.7to pick up the upstream language auto-detection fix; removed the temporary test workarounds from #7904. (#8012)
Bug Fixes:
- GeminiInteractions - server-side tool calls leaking onto the agent path: On the agent path (Antigravity, Deep Research),
FunctionCallSteps describe tools the autonomous loop runs inside the server-managed sandbox. Previously we surfaced them as localtool_calls, leading toFunction <name> not foundand follow-up400 invalid_requesterrors. Gated theFunctionCallStepbranch onself.agent is Nonefor both streaming and non-streaming. Model path with user-declared tools is unchanged. (#8045) - Claude (Anthropic / AWS / VertexAI) -
temperature=0silently dropped: See Improvements. Every prior release silently fell back to API defaults (~1.0) when callers explicitly set0. (#8009, fixes #8004)
What's Changed
- [FIX] Add UTM parameters to links in README by @kyleaton in #8010
- chore: bump chonkie to
>=1.6.7by @sannya-singal in #8012 - cookbook: data_labeling on Gemini + quality review as Workflow by @ashpreetbedi in #8024
- feat: expose resolved approval record to post-hooks via metadata by @brandon-agsys in #7366
- refactor: move resolved approval from typed field to metadata bag by @ysolanky in #8032
- cookbook: image search demo on Gemini + AgentOS by @ashpreetbedi in #8035
- fix: replace deprecated datetime.utcnow() with datetime.now(timezone.utc) in decision_log.py by @Ghraven in #8031
- fix(pgvector): make prefix_match=True actually do prefix matching by @ashpreetbedi in #8048
- [cookbook] Fix Google Calendar spelling by @lil-goat in #8047
- fix: use is not None for temperature/top_p/top_k across all Claude variants by @VANDRANKI in #8009
- cookbook: swap image_search from ChromaDb to PgVector by @ashpreetbedi in #8036
- fix(pgvector): use literal empty tsquery for hybrid_search fallback by @ysolanky in #8053
- cookbook: enable prefix_match=True on image_search PgVector by @ashpreetbedi in #8052
- refactor: simplify Calendar and Gmail context provider instructions by @Mustafa-Esoofally in #7982
- cookbook: add pgvector prefix_match example and improved comments by @Mustafa-Esoofally in #8051
- fix: skip server-side tool calls on GeminiInteractions agent path by @ysolanky in #8045
- chore: Release v2.6.9 by @kausmeows in #8042
New Contributors
- @brandon-agsys made their first contribution in #7366
- @Ghraven made their first contribution in #8031
- @lil-goat made their first contribution in #8047
- @VANDRANKI made their first contribution in #8009
Full Changelog: v2.6.8...v2.6.9
v2.6.8
Changelog
New Features:
- Antigravity: Added first-party support for Google's Antigravity API in two shapes —
AntigravityAgent(aBaseExternalAgentserved through AgentOS with native sessions/streaming/UI) andAntigravityTools(aToolkitthat lets any Agno agent delegate a sub-task to a managed Antigravity sandbox). - Gemini Managed Agents: Added
GeminiInteractionssupport for Google's managed agents — Deep Research (autonomous research with citations, background streaming with reconnect/last_event_idresume) and Antigravity (general-purpose agent in a managed Linux sandbox). Newagent/agent_config/environmentfields, per-agent forcing ofbackgroundandstore, and support formcp_servers+file_search_store_nameson the agent path. - Cookbook - Data Labeling: Added
cookbook/data_labeling/with 18 self-contained workflows covering text, image, audio, video, document, and composed (LLM-as-judge, quality review) labeling primitives. - Cookbook - Slack HITL: Added a deterministic Slack HITL incident-commander demo showing structured pauses via
tool_choice="required", user_input echo, and clean termination viastop_after_tool_call=True.
Improvements:
- Path Safety (Security): Centralized path-safety into a new
agno.utils.path_safetymodule withsafe_joinandsafe_join_subpath. HardenedFileGenerationTools,SlackTools,Toolkit._check_path,agno.skills.utils.is_safe_path, andFileTools.check_escapeagainst path traversal, symlink escape, control-char injection, Windows MagicDot, and Unicode normalization attacks. IntroducedPathSecurityError(FileGenerationSecurityErrorkept as deprecation alias). Bumpedrequires-pythonto>=3.9,<4. - Parallel MCP:
ParallelMCPBackendnow sendsUser-Agent: agno/<version>on every request so Parallel can attribute traffic to agno. - Evals Config: Dropped the unused
available_modelsfield fromEvalsDomainConfig; the top-levelAgentOSConfig.available_modelsis now the only supported source for the Evals UI dropdown. - Chonkie: Updated chonkie dependency pin (follow-up to #7869).
- Cookbook: Renamed
gemini-3-flash-previewtogemini-3.5-flashacross the Gemini Interactions cookbooks.
Bug Fixes:
- AG-UI Teams: Fixed a typo (
stream_steps→stream_events) that caused teams running via AG-UI to silently drop all intermediate streaming events (lifecycle, reasoning, tool calls, member delegations) for ~7 months. - Slack Extra: Added
aiohttp>=3.7.3,<4to theslackoptional extra —AsyncWebClientimportsaiohttpat module load, sopip install agno[slack]was broken for all Slack operations. - Google Drive: Surfaced the Drive API
incompleteSearchflag fromGoogleDriveTools.search_files()socorpora="allDrives"callers can detect when Drive did not search every drive. - GeminiInteractions: Added a
generation_configpassthrough field for advanced controls (top_k,presence_penalty, etc.) and fixed history handling — whenprevious_interaction_idis set, only the new turn is sent rather than replaying the full history. Now actually leverages server-side statefulness. - Anthropic Server Tools: Preserved
server_tool_useand code-execution content blocks in message history so multi-turn server-tool flows no longer break across turns. - Anthropic Hardening: Follow-up to the above — switched to the canonical
redacted_thinkingtype literal (the SDK rejectsredacted_reasoning_content), accepted both spellings on the streaming start event, added a dedup guard on round-tripped server tool blocks, made coercion failures visible vialog_warning, and coerced non-block tool-result items to text. - Gemini Errors: Generic Gemini errors now include the exception type when
str(error)is empty or weak, preserving error context acrossinvoke/invoke_stream/ainvoke/ainvoke_stream. - N1N: Added the missing
n1nprovider mapping inget_model()soAgent(model="n1n:...")model-string paths now resolve correctly.
What's Changed
- [chore] identify agno traffic to Parallel MCP via User-Agent by @NormallyGaussian in #7857
- [fix] Resolve N1N model strings by @pragnyanramtha in #7948
- chore: update chonkie deps by @chonk-lain in #7904
- fix: preserve Anthropic server tool content blocks in message history by @aayushbaluni in #7766
- fix(gemini): preserve generic error context by @MukundaKatta in #7607
- fix: harden Anthropic server tool content block handling by @ysolanky in #7977
- fix: GeminiInteractions generation_config passthrough and stateful input slicing by @ysolanky in #7973
- fix: centralize path safety and harden filesystem-touching tools by @Himanshu040604 in #7707
- cookbook: add deterministic Slack HITL incident commander demo by @Himanshu040604 in #7831
- [fix] Surface incomplete Google Drive searches by @basnijholt in #7824
- fix: add aiohttp to slack extra dependencies by @Mustafa-Esoofally in #7939
- fix: use stream_events instead of stream_steps for AG-UI teams by @Mustafa-Esoofally in #7938
- chore: drop unused available_models field from EvalsDomainConfig by @harshsinha03 in #7993
- cookbook: rename gemini-3-flash-preview to gemini-3.5-flash by @ysolanky in #8005
- cookbook: data labeling primitives (18 workflows) by @ashpreetbedi in #7976
- feat: add Gemini managed agents (Deep Research + Antigravity) to GeminiInteractions by @kausmeows in #7975
- feat: add antigravity tools and external agent by @ysolanky in #8006
- chore: release 2.6.8 by @ysolanky in #8008
New Contributors
- @NormallyGaussian made their first contribution in #7857
- @pragnyanramtha made their first contribution in #7948
- @chonk-lain made their first contribution in #7904
- @aayushbaluni made their first contribution in #7766
- @MukundaKatta made their first contribution in #7607
Full Changelog: v2.6.7...v2.6.8
v2.6.7
Changelog
New Features:
- Gemini Interactions: Added a new
GeminiInteractionsmodel class that makes use of Googles new stateful interactions API - AgentOS: Added an opt-in per-user data isolation layer for AgentOS authenticated endpoints.
Improvements:
- Knowledge Readers: Added
allowed_hostsparameter to URL-fetching readers to restrict outbound fetches.
Bug Fixes:
- Qdrant: Fixed to remove duplicate sparse encoder call in Qdrant
async_insert. - Traces: Fixed the parent trace's
session_id / agent_id / team_idfrom being overwritten by a child agent's spans when both share atrace_id. Most visible when a Team uses a post-hook (e.g.@hook(run_in_background=True). - Workflow: Fixed workflow’s HITL continue path to use corresponding async function
acleanup_runif running in an async context.
What's Changed
- fix: remove duplicate sparse encoder call in Qdrant
async_insertby @sannya-singal in #7893 - fix: traces update db level by @kausmeows in #7796
- cookbook: update notion mcp example to current server by @ashpreetbedi in #7921
- feat: per-user data isolation across AgentOS endpoints by @SamJupe in #7606
- fix: Calling acleanup_run instead of cleanup_run by @abhi10691 in #7916
- [fix] fix duplicated word in docker container network_mode comment by @otjdiepluong in #7913
- fix: add
allowed_hostsSSRF guard to knowledge readers by @sannya-singal in #7892 - fix: use SESSION_ID_REQUIRED constant in continue-run routes by @ysolanky in #7936
- feat: add GeminiInteractions model for Google's Interactions API by @ysolanky in #7926
- chore: Release v2.6.7 by @kausmeows in #7931
New Contributors
- @otjdiepluong made their first contribution in #7913
Full Changelog: v2.6.6...v2.6.7