v1.20
Robbyant/lingbot-mapv1.20Jun 4, 2026by github-actions[bot]
AI Summary
This release focuses on performance optimizations for document queries, UI enhancements for file attachments and browser navigation, and security improvements for OAuth and post-login redirection.
Key Highlights
- Document query index reuse within chat contexts
- Folder attachments support in the chat composer
- Secure post-login redirection with same-origin validation
- OAuth model slots can now switch providers independently
- Page connector history replay uses bounded WebSocket frames
New Features
- Document query index reuse
- Folder attachments in chat composer
- Browser tab reuse guidance
- Secure post-login redirection
- OAuth provider switching for model slots
- Inline OAuth pending controls
- Tailscale Remote Control CSRF origin fixes
- Editor manual open behavior fix
- Editor toolbar polish (Save button, toggle location)
- Editable file browser paths
Full Release Notes
# Agent Zero Release Notes - **Document query index reuse** — Repeated `document_query` calls 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_down` updates 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.