Highlights
- 🔧 Rock-solid startup — Fixed "white screen", "can't open", and "channels stuck connecting" issues. Startup is now resilient to port conflicts, app upgrades, and force-quit recovery.
- 🔑 OpenAI Codex OAuth — Login with your ChatGPT Plus/Pro account to use GPT models — no separate API keys needed. (#537)
- 🔑 MiniMax OAuth — One-click MiniMax model access via OAuth, with polished provider UI. (#549)
- 🚀 Z.AI Coding Plan — Quick-setup for GLM models with Global/CN region toggle. (#537)
- 🛡️ Self-healing services — Launchd integration rebuilt: plist config drift auto-detected, stale services cleaned up on startup, Stop/Start buttons work reliably.
What's New
- 📖 WeChat setup guide — English-language channel setup documentation (#548)
- 📖 Discord guide refresh — Updated screenshots and simplified permissions guide (#528)
Bug Fixes
- Fixed app showing white screen after upgrade — plist config drift now auto-detected and re-bootstrapped (#544)
- Fixed "channels connecting forever" when default port is occupied by another Nexu instance (#544)
- Fixed Stop button being ignored by KeepAlive — now properly unregisters service (#544)
- Fixed Stop/Start buttons greyed out in launchd mode (#544)
- Fixed force-quit leaving stale web port — dead Electron PID now detected on restart (#544)
- Fixed v0.1.6 data loss — sessions, skills, and channel state migrated back from wrong directory (#544)
- Fixed unhandled rejection crash in cloud status refresh (#539)
- Fixed OAuth disconnect not clearing models from selector — now properly deletes provider and syncs (#551)
- Fixed model list showing expired OAuth providers (#551)
- Fixed skill detail "Back" button always resetting to initial tab (#551)
UI Polish
- Skills page persists active tab (Yours/ClawHub) in URL for bookmarking (#551)
- GitHub import tab input set to read-only (coming soon) (#551)
- Fixed spacing in Chinese disclaimer text (#551)
For Developers
- 24 new launchd startup smoke tests covering cold start, attach, port conflicts, config drift, force-quit recovery, and more
- Controller/OpenClaw port conflicts resolved via
findFreePortinstead of killing processes coldStartReadyIPC gate ensures renderer always gets final port config
Contributors
@lefarcen, @nettee, @qiongyu1999, @alchemistklk, @mrcfps
Full Changelog: v0.1.6...v0.1.7