What's Changed
- fix(web): drop stale queued-message ghosts on at-bottom refresh by @flyinghanger in #811
- feat(cursor): migrate remote sessions to ACP with model/variant pickers by @swear01 in #799
- fix(web): suppress Mermaid render error SVGs by @swear01 in #813
- fix(web): disable single-dollar inline math in remark-math by @heavygee in #805
- fix(web): use session flavor label in voice context formatters (closes #680) by @heavygee in #815
- fix(cursor): requeue user message on transient agent exit (auth, rate limit) by @heavygee in #823
- fix(hub): preserve session metadata across archive transitions by @heavygee in #825
- feat(hub+web): add POST /sessions/:id/reopen + Reopen button on inactive rows by @heavygee in #826
- fix(cursor): trim #784 safety patch to marker-only on legacy stream-json path (closes #822) by @heavygee in #828
- fix(cursor): merge SKU catalog under ACP lock and refcount agent guard by @swear01 in #835
- fix(web): hide sidebar fake sessions for Cursor resume/archive by @swear01 in #836
- fix(cursor): register cursorSessionId before ACP session/load by @swear01 in #837
- feat(web): scratchlist v1.1 — composer-toggle drawer + reusable FUE primitive by @heavygee in #798
Full Changelog: v0.20.0...v0.20.1