- WhatsApp integration plugin — New plugin connecting Agent Zero to WhatsApp via a Baileys JS bridge with QR/pairing-code setup. Supports self-chat and dedicated (bot account) modes, group chat with mention detection, quoted replies, media/attachment handling, typing indicators, Markdown-to-WhatsApp formatting, and account disconnect/switch.
- WhatsApp: self-chat is now the default mode — Default changed from dedicated to self-chat; a warning banner is shown when
allowed_numbersis empty in this mode. - WhatsApp: allowed-numbers filtering moved to Python — Phone number filtering now happens in the Python poll handler (reading config fresh each cycle) rather than the JS bridge, fixing a bug where LID-based matching never worked.
- WhatsApp: improved bridge reliability — Corrupt or missing
node_modulesare detected and automatically reinstalled; the poll loop stops after 5 consecutive bridge failures instead of spamming errors; Node.js absence halts the loop immediately; bridge restarts automatically when configuration changes. - WhatsApp: storage paths centralized — Session and media files moved from
usr/whatsapptotmp/whatsappvia a newstorage_paths.pyhelper; paths are now consistent across all modules. - Settings: API keys no longer overwritten on save — Saving general settings no longer clobbers API keys that were set via the Configure Models dialog.
- Settings: model config UI fixes — Restored provider fallback and empty option for utility preset; extracted a reusable model-field component and unified API key lifecycle handling.
- UI server restructuring — Server setup extracted into a
UiServerRuntimeclass with modular initialization; environment config, route registration, and transport handlers moved tohelpers/ui_server.py. - Update system enhancements — Added
released_attimestamp tracking for git tags and branch heads; newget_current_major_main_latest_infofinds the latest same-major version on the main branch;major_upgrade_versionsandmain_branch_latestfields added to the update info payload.