What's Changed
- Add MiniMax as an LLM provider by @bicced in #115
- Remove openlegion setup command and add MiniMax to provider lists by @bicced in #116
- Add MiniMax to dashboard dropdown and channel addkey by @bicced in #117
- Unify REPL/Dashboard agent registry and improve BrightData UX by @bicced in #118
- Add MiniMax M2.5 and GLM-5 provider support by @Ryce in #120
- Fix interactive runtime cwd to project root by @Ryce in #121
- Consolidate system_prompt into AGENTS.md and fix vault permissions by @bicced in #119
- Add guided cron schedule editor to dashboard by @bicced in #122
- Fix Discord /start pairing with proper slash commands by @bicced in #124
- Fix test suite failures: lint, Pillow, cron probes, Discord mock by @bicced in #125
- Add browser_reset to docs and update test count by @bicced in #127
- Update docs: test counts, missing tools, line count by @bicced in #128
- Add logo and favicon to dashboard by @bicced in #129
- Parallel broadcasting, streaming broadcast, and multi-agent chat panels by @bicced in #130
- Update docs: session 23 features by @bicced in #131
- Fix desktop chat panel alignment when minimized by @bicced in #132
- Inject agent notifications into chat panels + redesign blackboard UI by @bicced in #133
- Update docs: session 24 (notification chat, blackboard UX) by @bicced in #135
- add delete functionality for api credentials and improve ux by @zeedann in #134
- Fix: create heartbeat cron when agent added at runtime by @bicced in #137
- on agent remove, clear chat history by @zeedann in #136
- add markdown support for agent responses by @zeedann in #138
- Add credential scoping: separate system keys from agent credentials by @bicced in #141
- Add agent system awareness: introspect, SYSTEM.md, runtime context by @bicced in #139
- Document agent system awareness and credential scoping by @bicced in #142
- Add two-tier credential system with dashboard UX improvements by @bicced in #143
- Add git worktree workflow to CLAUDE.md by @bicced in #144
- Remove legacy backwards-compat code and dead abstractions by @bicced in #145
- Align credential tier assignment across all entry points by @bicced in #146
- Fix Bright Data browser: use default context for anti-detection by @bicced in #147
- Polish dashboard UI: activity previews, chat timeline, audit log by @Ryce in #140
- Add credential resolution to http_request tool by @bicced in #148
- Redact resolved credentials from http_request responses by @bicced in #149
- Auto-restart agents on dashboard config changes by @bicced in #151
- Increase navigation timeout to 2min for Bright Data by @bicced in #152
- Document $CRED{name} support in browser_type by @bicced in #153
- Install Firefox system deps for Camoufox in agent container by @bicced in #154
- Use virtual display mode for Camoufox stealth browser by @bicced in #155
- Fix Camoufox hanging in Docker: manage Xvfb externally by @bicced in #156
- Add persistent browser backend with noVNC viewer by @bicced in #157
- Clean up agent cards: remove container activity, fix loading by @bicced in #158
- Replace x11vnc with TigerVNC Xvnc for persistent browser by @bicced in #161
- Fix persistent browser review issues by @bicced in #162
- Fix noVNC connection reset in dashboard iframe by @bicced in #163
- Add missing vncpasswd binary for persistent browser by @bicced in #164
- Redesign dashboard: consolidate nav, slide-over chat, command palette by @bicced in #165
- Replace noVNC with KasmVNC, add anti-detection Chromium args by @bicced in #166
- Fix KasmVNC auth, X11 socket dir, and NameError in navigate by @bicced in #167
- Add stealth JS patches to bypass X.com bot detection by @bicced in #169
- Update docs for persistent browser, dashboard redesign, and current stats by @bicced in #168
- Improve dashboard UX: info architecture, power user features, keyboard shortcuts by @bicced in #170
- Use Patchright for persistent browser anti-detection by @bicced in #171
- Fix Patchright anti-detection: remove custom UA and viewport emulation by @bicced in #172
- Fix KasmVNC 404: use explicit /index.html path by @bicced in #173
- Add dashboard URL routing with deep linking by @bicced in #174
- Polish agent detail page: DRY file cards, fix navigation bug, consolidate sidebar by @bicced in #175
- Fix KasmVNC 404: correct WebSocket path in VNC URL by @bicced in #176
- Fix file cards not rendering: expose _IDENTITY_FILE_MAP to Alpine scope by @bicced in #177
- Fix browser crash recovery: stale locks, DNS cache, and auto-retry by @bicced in #178
- Fix browser DNS: use public DNS servers, remove retry loop by @bicced in #179
- Force Chrome to use system DNS resolver in Docker by @bicced in #180
- Fix Chrome DNS via enterprise policy, remove --disable-features bug by @bicced in #181
- Revert DNS red herrings, keep only stale profile lock fix by @bicced in #182
- Fix browser navigation in persistent mode (tini + Playwright) by @bicced in #183
- Switch persistent browser to Camoufox for anti-detection by @bicced in #184
- Fix browser anti-detection: rebrowser-playwright + stealth patches by @bicced in #185
- Drop rebrowser-playwright — Chromium version conflict by @bicced in #187
- Switch persistent browser to Patchright + real Google Chrome by @bicced in #188
- Strip stealth init script — real Chrome doesn't need fake properties by @bicced in #189
- Fix Arkose captcha crash: set Chrome window size for KasmVNC by @bicced in #190
- Restore Chrome DNS policy — real Chrome needs it by @bicced in #191
- Fix DNS: add public nameservers to container config by @bicced in #193
- Revert to Patchright + Chromium, keep window-size fix by @bicced in #194
- Revert to vanilla Playwright + add window-size fix for Arkose by @bicced in #195
- Patchright CDP patches + Playwright Chromium binary by @bicced in #196
- Revert to exact working DNS state by @bicced in #197
- Strip counterproductive stealth fakes, fix VNC display by @bicced in #198
- Use Google Chrome for Reddit login, fix DNS in Docker by @bicced in #199
- Revert to PR #187 state (Playwright Chromium) for Reddit login testing by @bicced in #200
- Add multi-project support with isolated blackboard namespaces by @bicced in #192
- Allow popups — Reddit login uses window.open() by @bicced in #201
- Add openbox window manager for VNC popup handling by @bicced in #202
- Fix browser UI lag: increase /dev/shm to 256 MB by @bicced in #204
- Add multi-project support with dashboard UI by @bicced in #203
- Launch Chrome without Playwright for clean VNC interaction by @bicced in #206
- Fix openbox: single desktop, no decorations, maximize windows by @bicced in #207
- Add --no-sandbox and --disable-gpu for Chrome in Docker by @bicced in #208
- Fix 38 documentation inaccuracies across all docs by @bicced in #205
- Fix Chromium binary path: chrome-linux64 not chrome-linux by @bicced in #209
- Fix browser performance: drop --disable-gpu, double resources by @bicced in #210
- Use Google Chrome for authentic TLS fingerprint by @bicced in #212
- Enforce project isolation: scope visibility, remove fleet-wide context, add CRUD by @bicced in #211
- Fix DNS delay: disable AsyncDns via Chrome flag by @bicced in #213
- improve multi-agent ux and broadcast by @zeedann in #186
- Fix popup freeze and Chrome warning banner by @bicced in #214
- Improve project UX: standalone filtering and scoped broadcast by @bicced in #215
- Fix browser: disconnect CDP between operations, stop maximizing popups by @bicced in #216
- Fix Telegram polling conflict on restart by @bicced in #217
- Remove browser backend selection — single Chrome + KasmVNC for all agents by @bicced in #218
- Enforce blackboard isolation for standalone agents by @bicced in #220
- Fix VNC typing on Shadow DOM forms + Chrome memory optimization by @bicced in #219
- Add flex-wrap to dashboard action row for mobile by @bicced in #221
- Scope blackboard keys by project to prevent cross-project leakage by @bicced in #222
- Add cross-project isolation tests and fix stale docstrings by @bicced in #223
- Fix browser cleanup PermissionError on CI by @bicced in #224
- Replace broadcast subsystem with chat panel integration by @bicced in #225
- Remove unnecessary async from sendBroadcast by @bicced in #227
- Fix Telegram polling Conflict error on restart by @bicced in #228
- Update docs for multi-project isolation by @bicced in #229
- Patchright stealth browser + CAPTCHA auto-solving by @bicced in #226
- Fix Telegram bootstrap crash and dashboard broadcast visibility by @bicced in #230
- Fix Telegram channel crash on slow network init by @bicced in #231
- Production-readiness audit: security, concurrency, reliability fixes by @bicced in #232
- Fix Telegram channel crash on python-telegram-bot v22 by @bicced in #233
- Fix Telegram channel crash on python-telegram-bot v22 by @bicced in #234
- Production-readiness audit: security, concurrency, reliability fixes by @bicced in #235
- Remove uv.lock from repo, add to .gitignore by @bicced in #236
- Remove duplicated constants, dead params, and redundant code by @bicced in #237
- Fix credential readback vulnerability in browser tools by @bicced in #238
- Fix CLI exit codes, stderr routing, and error messages by @bicced in #239
- Add credential command group to CLI and REPL by @bicced in #240
- Add dashboard improvements: confirm modals, log viewer, activity search by @bicced in #245
- Fix CLI exit codes, flag conflict, and budget validation by @bicced in #242
- Add --json output to CLI commands and shell completion by @bicced in #243
- Add readline tab completion and streaming fallback warning to REPL by @bicced in #241
- Add detached chat streaming, logs, config, health, and version CLI commands by @bicced in #244
- Add fleet operations: agent restart, enhanced status, webhooks, REPL history/logs by @bicced in #247
- WP8: Polish features — startup timing, cost charts, light mode, config export by @bicced in #246
- Fix CLI/REPL bugs and consistency issues (Phase 1) by @bicced in #248
- Interface audit: fix bugs, add CLI commands, enhance dashboard by @bicced in #249
- Fix Telegram polling conflict on restart by @bicced in #250
- Remove open source mention from README by @bicced in #251
- Docs audit: fix inaccuracies, add missing content, update stale references by @bicced in #252
- Fix test_channels.py lint (E402) and Python 3.11 CI failures by @bicced in #254
- Improve agent coordination: project isolation, reactive events, atomic claims by @bicced in #253
- Dashboard audit: top 10 UX fixes + 6 quick wins by @bicced in #255
- Add dashboard channel management by @bicced in #256
- Fix: suppress telegram polling traceback in REPL by @bicced in #257
- Dashboard tab restructure: Integrations + Activity Logs by @bicced in #259
- Add no-cache header to dashboard static files by @bicced in #260
- docs: update test count to 1607 by @bicced in #261
- Add Anthropic OAuth auth + credential-aware model filtering by @bicced in #258
- Fix dashboard HTML responses missing cache-control headers by @bicced in #262
- Prevent stale worktree installs from hijacking the CLI by @bicced in #263
- Add content-hash cache busting for all dashboard assets by @bicced in #264
- Fix OAuth token sent as both x-api-key and Authorization: Bearer by @bicced in #266
- Override x-api-key header to empty for OAuth tokens by @bicced in #267
- Dashboard UX audit: 14 high-impact fixes by @bicced in #265
- Fix OAuth: pass real token to litellm instead of sentinel by @bicced in #268
- Add Claude Code identity headers to Anthropic OAuth requests by @bicced in #270
- Make SOUL.md & INSTRUCTIONS.md agent-writable, rename AGENTS.md by @bicced in #269
- Remove all Anthropic OAuth workaround code by @bicced in #271
- Fix dashboard file badges, Tools tab, and relocate delete agent by @bicced in #272
- Add robot avatar selection to dashboard by @bicced in #274
- Dashboard cleanup: remove light mode, trim shortcuts, improve file UX by @bicced in #275
- Make agent avatars circular with colored ring by @bicced in #277
- Make Config the default tab on agent detail page by @bicced in #278
- Fix 6 concurrency/correctness bugs for production readiness by @bicced in #273
- Show avatar in config read-only view, default to #1 by @bicced in #279
- Simplify CLI to 5 commands: start, stop, status, chat, version by @bicced in #280
- New Project modal + center toast notifications by @bicced in #281
- Validate API keys before saving credentials by @bicced in #282
- Dynamic model registry from LiteLLM + fix credential validation by @bicced in #284
- Fix API key validation: catch auth errors from all providers by @bicced in #285
- Fix CI test failures from model registry PR by @bicced in #286
- Agent system prompt & UX improvements by @bicced in #283
- Fix _prepare_workspace signature for test compat by @bicced in #287
- Add CI gate rule to CLAUDE.md by @bicced in #288
- Optimize tool inventory: merge redundant tools, improve descriptions by @bicced in #289
New Contributors
Full Changelog: v0.1.0...v0.2.0