v1.5

agent0ai/agent-zerov1.5Mar 30, 2026by github-actions[bot]

AI Summary

Performs a major system rework of the WebSocket architecture, introduces a compact prompt set for small models, and resolves memory leaks and upload errors.

Key Highlights

  • Complete WebSocket architecture rewrite reducing initialization code significantly
  • New compact `a0_small` prompt set reducing initial token usage
  • Security fix for concurrent disconnects and memory leak cleanup

New Features

  • Secure WebSocket system with exponential backoff and envelope validation
  • Compact prompt set for small models with stricter guardrails
  • Fix for non-ASCII filename uploads and improved log sanitization

Full Release Notes

## WebSocket System Rework & General Improvements

- **WebSocket architecture rewrite** — New `WsHandler` base class, `WsManager` for connection tracking, event routing, and buffering; reduces WebSocket init from ~170 lines to ~10. Frontend adapter updated with exponential backoff, envelope validation, 50 MB cap, and improved handler registration.
- **WebSocket security fix** — `dispatch_to_all_sids` snapshot now taken inside the lock to prevent security check bypass during concurrent disconnects.
- **WebSocket memory leak fixes** — Resolved SID retention after disconnection and cleaned up unreferenced broadcast tasks.
- **API/WebSocket caching** — WebSocket and API caching parameters are now enabled.
- **`a0_small` prompt set** — New compact prompt set for small models, reducing initial token usage from ~10k to ~2.5k tokens. Includes stricter tool-call guardrails, canonical JSON examples, exact tool-name matching, and memory usage hints.
- **Fix: non-ASCII filename uploads** — Resolved a 500 error when uploading images with non-ASCII filenames via `/api/image_get`; adds graceful fallback for path handling in both development and Docker environments.
- **Fix: agents self-correct tool call format** — Agents now attempt to fix their own malformed tool calls instead of immediately erroring.
- **UI: chat navigation buttons** — Repositioned as a floating overlay in the bottom-right of the chat area.
- **Log sanitization** — Printed output and HTML logs are now sanitized to handle invalid Unicode (including lone surrogates); log files opened with `utf-8` and `errors='replace'`.
- **Plugin installer** — Centralized popularity checking with a configurable `POPULAR_PLUGIN_MIN_STARS` threshold.
- **Onboarding plugin** — Added generated thumbnail.