What's Changed
- Attribute silent restarts: exit markers + a launch-time verdict file (#2401) by @jjang-ai
- Reserve answer room on API requests so thinking cannot eat the whole max_tokens (#2399) by @jjang-ai
🚀 Features
- added reasoning effort control for zai-glm models on mistral (#2412) by @RaajeevChandran
- added projects support to group chats with shared instructions, knowledge and memory (#2337) by @RaajeevChandran
🐛 Bug Fixes
- fix custom agents failing to spawn subagents by name (#2411) by @RaajeevChandran
- Treat a bare channel name as blank thinking so empty Harmony blocks stop rendering (#2407) by @jjang-ai
- added close button to router account sheet (#2406) by @RaajeevChandran
- fall back to the chat model when follow up generation hits a residency refusal (#2405) by @RaajeevChandran
- Derive evals-deterministic from floors.json so the CI lane cannot drift (#2404) by @jjang-ai
- Persist before stop in window cleanup so a close during load cannot destroy the send (#2402) by @jjang-ai
- Re-sync capability_search caseFloors with the suite and guard the pairing (#2400) by @jjang-ai
- Persist the cancelled marker when Stop beats the first delta (#2392) by @jjang-ai
Full Changelog: 0.22.22...0.22.23