What's Changed
- feat: add support for Kimi Code CLI and fixed some bugs by @arkylin in #659
- Show timestamps on chat messages by @woodgear in #664
- fix(web): Replace anti-pattern of assigning role="button" to entire message div by @arkylin in #665
- fix(skills): scope completions by session flavor by @NightWatcher314 in #667
- fix(web): preserve session preview folding by @NightWatcher314 in #666
- fix(web): embed agent text in voice ready event for readback by @heavygee in #682
- fix(web): keep global SSE alive for session list status updates by @heavygee in #694
- Update hapi runner command to use start-sync by @lekoOwO in #685
- feat(cursor): support model selection by @swear01 in #684
- fix(hub): persist permissionMode across hub restart by @heavygee in #710
- fix(web): guarantee unique assistant-ui thread message IDs by @heavygee in #706
- fix(web): reset scroll restoration when sessionStorage quota hits by @heavygee in #707
- fix(web): submit schedule picker on enter by @swear01 in #703
- Add display_image MCP tool for inline images by @NightWatcher314 in #700
- feat(voice): dynamic settings voice picker with safe fallback + preview by @heavygee in #690
- feat(opencode): add plan mode, reasoning effort, and status telemetry by @swear01 in #688
- feat(web): add lightbox preview for chat images by @techotaku39 in #715
- fix(web): show agent flavor icon in session header by @techotaku39 in #714
- fix(claude): propagate real contextWindow from SDK to web status bar by @flyinghanger in #720
- docs(contributing): replace GPT-5.4-only policy with disclosure-only by @flyinghanger in #727
- [codex] fix Claude model option merging by @flyinghanger in #726
- chore(web): upgrade @tanstack/react-router to ^1.170.8 by @swear01 in #722
- fix(web): open tool details from inline previews by @techotaku39 in #725
- fix(web): refine image preview interactions by @techotaku39 in #723
- feat(web): session list status indicators (attention + scheduled) by @heavygee in #699
- feat(web): align Claude effort options with Claude Code --effort levels by @flyinghanger in #731
- fix(cursor): persist resume id early and return 409 for resume_unavailable by @heavygee in #745
- fix(hub): skip redundant set-session-config RPC on resume by @heavygee in #740
- fix(cli): resolve Windows Claude npm shim by @junxin367 in #739
- fix(acp): flush straggler chunks promptly after session/prompt returns by @swear01 in #730
- fix(codex): render /help and /status as markdown by @swear01 in #755
- fix(cli): replace existing runner on start by @junxin367 in #754
- feat(opencode): slash command support (#671) by @swear01 in #753
- fix(web): handle legacy session summaries by @junxin367 in #751
- fix(opencode): surface ACP context usage live to web status bar by @swear01 in #756
- fix(test): isolate integration tests from production hub via temp hub globalSetup by @swear01 in #734
- fix(web,hub): queued bar SSE + never-started inactive resume by @heavygee in #761
- fix(acp): drop mid-stream usage emit; OpenCode only sends usage_update at end-of-turn by @swear01 in #760
- feat(cli): wire Cursor /summarize and /clear slash builtins by @heavygee in #747
New Contributors
- @arkylin made their first contribution in #659
- @woodgear made their first contribution in #664
- @heavygee made their first contribution in #682
- @swear01 made their first contribution in #684
- @techotaku39 made their first contribution in #715
- @flyinghanger made their first contribution in #720
Full Changelog: v0.18.4...v0.19.0