What's New in v0.10.0
🔌 18 Channel Live Popups
All OpenClaw channels now have live message popups in the Flow visualization. Only configured channels appear — unconfigured ones are hidden automatically.
| Channel | Notes |
|---|---|
| 📱 Telegram | Full message history, stats |
| 💬 iMessage | Reads ~/Library/Messages/chat.db directly (macOS only)
|
| Via WhatsApp Web (Baileys) | |
| 🔵 Signal | Via signal-cli |
| 🟣 Discord | Guild + channel detection |
| 🟪 Slack | Workspace + channel detection |
| 🌐 Webchat | Built-in web UI sessions |
| 📡 IRC | Terminal-style bubble UI |
| 🍏 BlueBubbles | iMessage via BlueBubbles REST API |
| 🔵 Google Chat | Via Chat API webhooks |
| 🟣 MS Teams | Via Teams bot plugin |
| 🔷 Mattermost | Self-hosted team chat |
| 🟩 Matrix | Decentralized, E2EE support |
| 🟢 LINE | LINE Messaging API |
| ⚡ Nostr | Decentralized NIP-04 DMs |
| 🟣 Twitch | Chat via IRC connection |
| 🔷 Feishu/Lark | WebSocket event subscription |
| 🔵 Zalo | Zalo Bot API |
💰 Cost Optimizer (llmfit Integration)
- Detects local models runnable on your hardware via
llmfit - Apple Metal/M-series detection (3-5x speed correction — llmfit misses this)
- Task recommendations: heartbeat crons → Qwen3-4B (free!), coding tasks → DeepSeek-Coder-V2
- One-click
ollama pullcommands for each recommended model - Projected 60-80% cost savings for cron/heartbeat workloads
🧪 Full Test Suite
tests/test_api.py— pytest API tests for all endpointstests/test_e2e.py— Playwright browser teststests/test_e2e_browserstack.py— BrowserStack cross-browser tests
🔄 CI Matrix
- GitHub Actions: Linux (py3.9 + py3.11), macOS, Windows on every PR
- BrowserStack: Chrome, Firefox, Safari (macOS), Edge on merge to main
- Syntax lint gate blocks all jobs on failure
make dev/make test-fast/make testshortcuts
🐛 Bug Fixes
- Fixed: gateway token not found on restart (
openclaw.jsonnot in config search path) - Fixed: all new channels missing from
KNOWN_CHANNELS - Fixed: Overview page channel nodes not showing after DOM clone
- Fixed: Signal/WhatsApp showing even when not configured
- Fixed:
grep/tail/pgrepsubprocess calls replaced with pure Python (Windows compat) - Fixed:
/tmp/openclawhardcoded paths replaced with_get_log_dirs()helper - Fixed: Windows UTF-8 encoding crash (🦞 emoji in BANNER via cp1252)
- Fixed:
setup.pyreadingdashboard.pywithout UTF-8 encoding
📖 Docs
- README: full supported channels table
- README: BrowserStack testing badge
docs/CLOUD_TESTING.md: local dev testing guide
Upgrade
pip install --upgrade clawmetry