This release includes 1 security fix for security teams reviewing exposed deployments.
Topics
Affected surfaces
ReleasePort's take
Moderate signalThis release patches a CSRF flaw in Tailscale Remote Control and hardens post‑login redirects against open‑redirect attacks.
Why it matters: Fixes high‑severity (severity 80) CSRF vulnerability by normalizing URLs and restricting WebSocket origins; enforces same‑origin validation on login redirection, blocking backslash‑based redirect exploits.
Summary
AI summaryDocument query index reuse improves performance by reusing vector DBs within chat contexts.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | High |
Enforces same‑origin validation on post‑login redirection, rejecting backslash‑based open redirect attempts. Enforces same‑origin validation on post‑login redirection, rejecting backslash‑based open redirect attempts. Source: llm_adapter@2026-06-04 Confidence: high |
— |
| Security | High |
Fixes Tailscale Remote Control CSRF by normalizing URLs and restricting WebSocket origins. Fixes Tailscale Remote Control CSRF by normalizing URLs and restricting WebSocket origins. Source: llm_adapter@2026-06-04 Confidence: low |
— |
| Feature | Low |
Adds folder attachments in chat composer, flattening folders into file attachments with clear UI labels. Adds folder attachments in chat composer, flattening folders into file attachments with clear UI labels. Source: llm_adapter@2026-06-04 Confidence: high |
— |
| Feature | Low |
Adds OAuth model slots ability to switch providers independently per slot. Adds OAuth model slots ability to switch providers independently per slot. Source: llm_adapter@2026-06-04 Confidence: high |
— |
| Feature | Low |
Adds editable file browser paths with direct navigation and optional last‑directory remember setting. Adds editable file browser paths with direct navigation and optional last‑directory remember setting. Source: llm_adapter@2026-06-04 Confidence: high |
— |
| Feature | Low |
Polishes Editor toolbar by moving preview/source toggle left, adding dedicated Save button right, and keeping rename/close in overflow. Polishes Editor toolbar by moving preview/source toggle left, adding dedicated Save button right, and keeping rename/close in overflow. Source: llm_adapter@2026-06-04 Confidence: high |
— |
| Feature | Low |
Adds guidance for Browser tool to list and activate existing tabs before opening new host‑browser tabs. Adds guidance for Browser tool to list and activate existing tabs before opening new host‑browser tabs. Source: llm_adapter@2026-06-04 Confidence: high |
— |
| Feature | Low |
Adds inline OAuth pending controls under the initiating provider card. Adds inline OAuth pending controls under the initiating provider card. Source: llm_adapter@2026-06-04 Confidence: low |
— |
| Feature | Low |
Hides placeholder API keys for unconnected OAuth providers until actually connected. Hides placeholder API keys for unconnected OAuth providers until actually connected. Source: granite4.1:30b@2026-06-04-audit Confidence: low |
— |
| Feature | Low |
Renders device-code, manual callback, and setup controls inline under the initiating provider card. Renders device-code, manual callback, and setup controls inline under the initiating provider card. Source: granite4.1:30b@2026-06-04-audit Confidence: low |
— |
| Performance | Medium |
Improves page connector history replay by sending bounded WebSocket frames instead of a single oversized payload. Improves page connector history replay by sending bounded WebSocket frames instead of a single oversized payload. Source: llm_adapter@2026-06-04 Confidence: low |
— |
| Performance | Low |
Reuses document query vector DB within same chat context, avoiding repeated parsing/embedding. Reuses document query vector DB within same chat context, avoiding repeated parsing/embedding. Source: granite4.1:30b@2026-06-04-audit Confidence: low |
— |
| Performance | Low |
Replays long chat histories via small bounded WebSocket frames instead of a single oversized payload. Replays long chat histories via small bounded WebSocket frames instead of a single oversized payload. Source: granite4.1:30b@2026-06-04-audit Confidence: low |
— |
| Bugfix | Medium |
Fixes Editor manual open behavior to launch from active project context without auto‑creating blank Markdown files. Fixes Editor manual open behavior to launch from active project context without auto‑creating blank Markdown files. Source: llm_adapter@2026-06-04 Confidence: high |
— |
Full changelog
Agent Zero Release Notes
-
Document query index reuse — Repeated
document_querycalls within the same chat context now reuse an existing vector DB instead of re-parsing and re-embedding the document every time, while separate contexts remain isolated. -
Folder attachments in chat composer — Dropped or selected folders are flattened into ordinary file attachments, preserving basename display and existing multi-file upload behavior. Attachment menu actions now open file inputs directly with clear "Attach files" and "Attach folder" labels.
-
Browser tab reuse guidance — The Browser tool prompt and plugin docs now instruct agents to list and activate existing tabs by URL or title before opening new host-browser tabs.
-
Secure post-login redirection — Users are returned to their originally requested page after login, with same-origin validation that also rejects backslash-based open redirect attempts.
-
Page connector history replay — Long chat histories are now replayed in small, bounded WebSocket frames instead of a single oversized payload, preserving cursor semantics throughout.
-
OAuth model slots can switch providers — Main and Utility model slots in OAuth settings now have provider dropdowns, so multiple connected OAuth accounts can be used independently with model search scoped per slot.
-
Hide OAuth dummy API keys until connected — Unconnected OAuth providers no longer show a placeholder API key; the runtime dummy key is gated on actual connection status.
-
Inline OAuth pending controls — Device-code, manual callback, and setup controls now render inline under the provider card that initiated the flow, keeping pending state visually anchored.
-
Honor GitHub device-flow polling intervals — The OAuth poller now respects provider-specified intervals, carries
slow_downupdates forward, and observes expiration times, fixing GitHub Copilot device-code auth completion. -
Fix Tailscale Remote Control CSRF origins — Active Remote Control URLs are normalized to same-origin values before CSRF allowlisting, so Tailscale Funnel URLs with paths or trailing slashes bootstrap tokens correctly. WebSocket origin validation now trusts only the currently active Remote Control origin, including Docker split-process tunnel service URLs.
-
Fix Editor manual open behavior — Manual Editor launches now open the file browser from the active project context (falling back to workdir) and stay on the empty start page instead of auto-creating blank Markdown files.
-
Polish Editor toolbar — The preview/source toggle moves to the left-side toolbar cluster; a dedicated Save button is added to the right side; rename and close remain in the overflow menu.
-
Editable file browser paths — The file browser path bar now supports direct directory navigation with graceful fallback on invalid paths, plus an optional setting to remember the last successful directory.
Security Fixes
- Tailscale Remote Control CSRF origins are normalized to same-origin values; WebSocket origin validation trusts active Remote Control origin including Docker split-process tunnel URLs
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Earlier breaking changes
- v2.5 Legacy filesystem logs in /a0/logs are deleted on startup.
- v2.5 Launcher host access controls removed from Core WebUI.
- v2.5 Model presets become global; project-scoped definitions removed.
- v1.16 Legacy speech settings and APIs removed; use _kokoro_tts and _whisper_stt plugins instead.
- v1.14 Multi-action tools standardized around tool_args.action with backward compatibility
Beta — feedback welcome: [email protected]