Tags: agno-agi/agno
Tags
chore: release 2.6.14 (#8375) # 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_object` providers.
chore: bump version (#8347) # 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_schema` now handles `Optional` dataclass fields that have no declared type. - **MCPTools Sessions**: Refreshed `MCPTools` sessions 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=False` inserts of the same document no longer collapse. - **MultiMCP**: Clean up MultiMCP connection failures. - **DaytonaTools**: Quote shell paths in `DaytonaTools`. Co-authored-by: Yash Pratap Solanky <101447028+ysolanky@users.noreply.github.com>
chore: Release v2.6.12 (#8256) # 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_search` and remove `drop_ratio_build` - **ArxivReader**: Updated arxiv `Client.results()` usage. - **Runs**: Update to guard against `IndexError` when runs list is empty in `from_dict`. - **Code Chunking**: Updated to skip tokenizer tests on HuggingFace download error. - **Agentic State Tool**: Updated `enable_agentic_state` tool 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.14` to prevent reasoning role validation error. --------- Co-authored-by: Sannya Singal <32308435+sannya-singal@users.noreply.github.com> Co-authored-by: Yash Pratap Solanky <101447028+ysolanky@users.noreply.github.com>
chore: Release v2.6.11 (#8213) # Changelog ## **New Features** - **Parallel Web Task API & Monitor API Tools**: Added tools for Task API and Monitor API integration for parallel web. - **Manifest**: Added `Manifest` for per-entity AgentOS UI metadata configuration. ## **Bug Fixes** - **WhatsApp**: Upgraded WhatsApp Graph API version to `v25.0`.
chore: Release v2.6.9 (#8042) # 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.) via `run_response.metadata["approval"]`. Previously only `status` and `resolution_data` were exposed. Lives in `metadata` so it works uniformly across `RunOutput` / `TeamRunOutput` / future `WorkflowRunOutput`. (#7366, #8032) ## Improvements: - **PgVector - prefix_match=True actually works:** `PgVector(prefix_match=True)` was a silent no-op - it appended `*` then routed through `websearch_to_tsquery`, which ignores wildcards. Now routes through `to_tsquery('tok:*')` with proper tokenization, so partial queries like `"ani"` FTS-match `"animal"` as documented. New cookbook `cookbook/07_knowledge/04_advanced/06_prefix_search.py` shows the help-center typeahead use case. (#8048, #8051, #8052) - **PgVector - empty-tsquery fallback robustness:** Replaced the `to_tsquery(language, '')` fallback with a literal `''::tsquery` cast 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.0` values due to bare truthiness checks. Switched to `is not None` so deterministic output works as intended. (#8009, fixes #8004) - **Calendar & Gmail context providers - clean instruction layering:** Trimmed `DEFAULT_READ_INSTRUCTIONS` / `DEFAULT_WRITE_INSTRUCTIONS` from 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 with `datetime.now(timezone.utc)` to clear the Python 3.12 deprecation warning. (Closes #8030) - **Chonkie:** Bumped to `>=1.6.7` to 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), `FunctionCallStep`s describe tools the autonomous loop runs inside the server-managed sandbox. Previously we surfaced them as local `tool_calls`, leading to `Function <name> not found` and follow-up `400 invalid_request` errors. Gated the `FunctionCallStep` branch on `self.agent is None` for both streaming and non-streaming. Model path with user-declared tools is unchanged. (#8045) - **Claude (Anthropic / AWS / VertexAI) - `temperature=0` silently dropped:** See Improvements. Every prior release silently fell back to API defaults (~1.0) when callers explicitly set `0`. (#8009, fixes #8004) --------- Co-authored-by: Yash Pratap Solanky <101447028+ysolanky@users.noreply.github.com> Co-authored-by: ysolanky <yash@phidata.com>
chore: release 2.6.8 (#8008) # Changelog ## New Features: - **Antigravity:** Added first-party support for Google's Antigravity API in two shapes — `AntigravityAgent` (a `BaseExternalAgent` served through AgentOS with native sessions/streaming/UI) and `AntigravityTools` (a `Toolkit` that lets any Agno agent delegate a sub-task to a managed Antigravity sandbox). - **Gemini Managed Agents:** Added `GeminiInteractions` support for Google's managed agents — **Deep Research** (autonomous research with citations, background streaming with reconnect/`last_event_id` resume) and **Antigravity** (general-purpose agent in a managed Linux sandbox). New `agent` / `agent_config` / `environment` fields, per-agent forcing of `background` and `store`, and support for `mcp_servers` + `file_search_store_names` on 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 via `stop_after_tool_call=True`. ## Improvements: - **Path Safety (Security):** Centralized path-safety into a new `agno.utils.path_safety` module with `safe_join` and `safe_join_subpath`. Hardened `FileGenerationTools`, `SlackTools`, `Toolkit._check_path`, `agno.skills.utils.is_safe_path`, and `FileTools.check_escape` against path traversal, symlink escape, control-char injection, Windows MagicDot, and Unicode normalization attacks. Introduced `PathSecurityError` (`FileGenerationSecurityError` kept as deprecation alias). Bumped `requires-python` to `>=3.9,<4`. - **Parallel MCP:** `ParallelMCPBackend` now sends `User-Agent: agno/<version>` on every request so Parallel can attribute traffic to agno. - **Evals Config:** Dropped the unused `available_models` field from `EvalsDomainConfig`; the top-level `AgentOSConfig.available_models` is now the only supported source for the Evals UI dropdown. - **Chonkie:** Updated chonkie dependency pin (follow-up to #7869). - **Cookbook:** Renamed `gemini-3-flash-preview` to `gemini-3.5-flash` across 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,<4` to the `slack` optional extra — `AsyncWebClient` imports `aiohttp` at module load, so `pip install agno[slack]` was broken for all Slack operations. - **Google Drive:** Surfaced the Drive API `incompleteSearch` flag from `GoogleDriveTools.search_files()` so `corpora="allDrives"` callers can detect when Drive did not search every drive. - **GeminiInteractions:** Added a `generation_config` passthrough field for advanced controls (`top_k`, `presence_penalty`, etc.) and fixed history handling — when `previous_interaction_id` is 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_use` and 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_thinking` type literal (the SDK rejects `redacted_reasoning_content`), accepted both spellings on the streaming start event, added a dedup guard on round-tripped server tool blocks, made coercion failures visible via `log_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 across `invoke` / `invoke_stream` / `ainvoke` / `ainvoke_stream`. - **N1N:** Added the missing `n1n` provider mapping in `get_model()` so `Agent(model="n1n:...")` model-string paths now resolve correctly.
chore: Release v2.6.5 (#7809) # Changelog ## New Features: - **Gemini Multimodal File Search:** Added multimodal support in the Gemini [File Search API](http://ai.google.dev/gemini-api/docs/file-search) (for `google-genai≥1.75.0`). See [cookbook](https://github.com/agno-agi/agno/blob/main/cookbook/90_models/google/gemini/file_search_image_upload.py). - **Context Providers:** Added `GmailContextProvider` and `CalendarContextProvider` following the same pattern as existing providers (GDrive, Slack, Database). Also updates `GDriveContextProvider` to support OAuth in addition to service account auth. - **Scheduler:** Added scheduler support for Mongo and AsyncMongo Db to run agents, teams, and workflows on a cron in AgentOS. - **Workflow Condition Step:** Added `on_error` handling to the `Condition` workflow step, allowing users to control how errors are handled when sub-steps within a condition fail. ## Improvements: - **LLMsTxt Tools:** Added an `allowed_hosts` param so agents only fetch from hosts you trust. - **SlackContextProvider:** Add `enable_media_tools` flag (default: `False`) to control file download/upload. - `download_file` added to read tools - `upload_file` added to write tools ## Bug Fixes: - **MCP IDOR:** Fixed to bind the `user_id` on AgentOS MCP tool handlers to the authenticated JWT subject to prevent cross-tenant reads and writes. - **Toolkit Instructions:** Fixed `@tool(instructions=...)` to take effect when used inside a Toolkit. - **Metrics:** Fixed to accumulate parser, output, and member metrics in team run_response. - **Workflow:** Fixed to persist mid-step workflow run cancellation. - **SQLTools:** Updated to include column default in `describe_table`. - **Slack Interface:** Fixed to replace Slack bot @mention with display name instead of stripping. - **GoogleDriveTools:** Fixed binary file errors + Office extraction + Shared Drive params in `GoogleDriveTools`. - **ChromaDb:** Fixed to offload async batch upsert/insert to worker thread. - **Memory:** Fixed include identity fields in `update_memory` and `delete_memory` tools.
PreviousNext