Highlights
- Features
- The app is now Switchboard — new name and new launcher icon
- Custom per-server request headers, for servers behind an access gateway like Cloudflare Access
- Insert saved prompts into the composer with a "/" picker
- Select and copy any part of a message, including code blocks and table cells
- Support for the 0.8.8 backend line: mid-run steering, human-review pauses, ask_user_question, and activity grouping
- New default accent color
- Bug Fixes
- Artifacts render reliably while streaming and no longer break on 4+ backtick fences
- Conversations open instantly from cache, and offline load failures show an error instead of a blank thread
- An expired session no longer bounces you off the login screen
- Misc Tech Debt Refactors
- Misc Stability Improvements
What's Changed
- feat(skill): add deterministic i18n coverage audit by @garfiec in #289
- chore(l10n): drop orphaned locale keys left by the media viewer by @garfiec in #290
- chore(deps): bump softprops/action-gh-release from 3.0.1 to 3.0.2 by @dependabot[bot] in #266
- docs: explain why to choose the mobile app over the web client by @garfiec in #291
- chore(deps): bump github/codeql-action from 4 to 4.37.3 by @dependabot[bot] in #293
- chore(deps): bump actions/setup-java from 5 to 5.6.0 by @dependabot[bot] in #292
- feat: custom per-server request headers for access gateways (part 1) (#287) by @garfiec in #294
- test(data): de-flake the lastUsed warming round-trip by @garfiec in #295
- fix(chat): accept 4+ backtick fences in artifact detection by @thobai in #296
- fix(chat): surface offline message-load failures instead of a blank thread by @garfiec in #299
- feat: store gateway headers in a servers table (part 2) (#287) by @garfiec in #298
- chore(data,auth): state header-store rules as rules, not as history by @garfiec in #305
- chore: rename the app to Switchboard by @garfiec in #306
- feat(chat): insert prompts into the composer from a / picker by @garfiec in #308
- fix(chat): remove the inert auto-send switch from the variable dialog by @garfiec in #309
- fix(chat): render cached messages on open instead of waiting on the fetch by @garfiec in #310
- feat(network): extend access-gateway detection to SSE and token refresh by @garfiec in #312
- feat(theme): change default accent color from lavender to turquoise by @tabilzad in #313
- feat: sync the client to the untagged 0.8.8 backend line (dev.91adcf3f) by @garfiec in #318
- fix(chat): replace the artifact regex with a line scanner (#301, #303) by @garfiec in #319
- chore(app): use the Switchboard mark for the Android launcher icon by @garfiec in #321
- fix(chat): run artifact detection on the streaming message (#302) by @garfiec in #322
- build(deps): upgrade Kotlin to 2.4.10, KSP to 2.3.11, SKIE to 0.10.14 by @tabilzad in #320
- feat(theme): change the default accent seed from turquoise to blue by @garfiec in #330
- chore(deps): bump github/codeql-action from 4.37.3 to 4.37.4 by @dependabot[bot] in #329
- chore(deps): bump gradle/actions from 6 to 6.2.0 by @dependabot[bot] in #328
- fix(auth): stop replaying an expired session and bouncing off Login (#325) by @garfiec in #331
- feat(chat): make message text selectable in the transcript (#311) by @garfiec in #332
New Contributors
Full Changelog: v2026.07.6...v2026.08.0