[1.3.14] - 2026-08-20
Added
- Added live context-compression progress in chat: the summarizer's draft streams into a status card with retry attempts, and long compressions no longer trip the IPC wait timeout because progress frames are live-only while the durable outbox records only completed compression events.
- Added read-only orchestration tools to the ACP lead agent —
Skill,MemoryList/MemoryRead/MemorySearch,codegraph_explore,WebSearch,WebFetch,TeamCreate/SendMessage/TeamStatus/TeamDelete,CronList, andNotify— so the parent can plan and delegate without gainingWrite,Edit,Bash, orCronAdd. - Added attached user images to Gemini
generateContent, Gemini Interactions, and OpenAI chat-completions by normalizing wire image sources into inline bytes or URLs instead of dropping them. - Added a live thinking preview: the collapsed reasoning header shows the latest thinking line while the model is still reasoning.
Changed
- New user turns now pin to the top of the viewport via a bottom spacer, so a long reply scrolls beneath the question instead of pushing it off screen.
- Split the 4,000-line
SettingsPageinto focused panels (General, Model, Runtime, Data, Memory, Analytics, System, About, plus the provider and AI-coding workbenches) behind a shared nav and primitives module, and dropped the unusedSettingsDialog.
Fixed
- Fixed Fast mode being forced on for every hosted-session, cron, and channel run: the main-process provider config copied the model catalog's
priorityservice tier straight onto the request, so fast-capable models like GPT-5.6 Sol/Terra/Luna were billed at the priority tier even with the Fast toggle off. Only Codex OAuth still ignores the toggle, because its plans are always priority. - Fixed auto-compression silently never running for models without a configured context length: an unknown window produced a null compression config while the input-area gauge kept measuring against the 200K default, so both the hosted-session assembler and the interactive run path now fall back to that same default.
- Fixed a session staying permanently busy after a send failed during preflight (#159): the streaming pointer, abort controller, and sidecar run id leaked, which disabled the plan review actions and queued every later message instead of dispatching it, leaving Continue as the only path that still worked. Such a failure now also reports an error card instead of the turn silently disappearing.
- Fixed
EnterPlanModeforking a second plan row and.planfile when a run died afterExitPlanMode(#159), which left the review card pointing at the abandoned plan; awaiting-review and approved plans are now reopened in place and moved back to drafting while they are rewritten.