Repository navigation
Releases
v0.4.1
Downloads And Qualification
Server archives: Linux x64 and Windows x64. Standalone CLI: Linux x64. Linux executable runtime smoke is required; the Windows server is build-only.
All garcon-native-preview-* downloads are engineering previews, not signed production distributions. Each ZIP contains the original package(s), distribution-<target>.json with qualification blockers, and LICENSE. Desktop packages are unsigned; macOS packages are not notarized and can be blocked by Gatekeeper. Android is a build-only universal debug APK with connections disabled and an ephemeral signing key, not a stable upgrade channel. iOS is a simulator archive matching its builder architecture, not a device IPA.
Known iOS simulator preview limitation: the server chooser uses a fixed 520 x 720 frame, which clips its right edge and leaves a black bottom band on the tested iPhone simulator. This layout defect also exists in v0.4.0. The iOS gate verifies launch/relaunch process survival only; interaction and visual correctness remain unqualified.
Extract ZIPs before use. AppImages require executable permission (chmod +x). Verify downloaded bytes using SHA256SUMS and GitHub artifact attestations. Provenance verifies build origin, not signing, reproducibility, or native workflow qualification. See docs/releases.md and native/PLATFORM_READINESS.md in the included source archive.
Docker version tags are promoted by a separate workflow after human publication, only after both amd64 and arm64 runtime smokes pass. Wait for that workflow before pulling the new exact version tag. Pin deployments to the reported image digest.
What's Changed
- Bound and prioritize large Git diff loading by @cfal in #987
- Expand setup with welcome, transcript search, and next steps by @cfal in #989
- Add seven bundled font choices by @cfal in #990
- Add scheduled prompt row actions by @cfal in #991
- Add conversational async questions by @cfal in #988
- Swap already-open chats on center drop by @cfal in #992
- Prepare v0.4.1 release by @cfal in #993
Full Changelog: v0.4.0...v0.4.1
v0.4.0
Downloads And Qualification
Server archives: Linux x64 and Windows x64. Standalone CLI: Linux x64. Linux executable runtime smoke is required; the Windows server is build-only.
All garcon-native-preview-* downloads are engineering previews, not signed production distributions. Each ZIP contains the original package(s), distribution-<target>.json with qualification blockers, and LICENSE. Desktop packages are unsigned; macOS packages are not notarized and can be blocked by Gatekeeper. Android is a build-only universal debug APK with connections disabled and an ephemeral signing key, not a stable upgrade channel. iOS is a simulator archive matching its builder architecture, not a device IPA.
Extract ZIPs before use. AppImages require executable permission (chmod +x). Verify downloaded bytes using SHA256SUMS and GitHub artifact attestations. Provenance verifies build origin, not signing, reproducibility, or native workflow qualification. See docs/releases.md and native/PLATFORM_READINESS.md in the included source archive.
Docker version tags are promoted by a separate workflow after human publication, only after both amd64 and arm64 runtime smokes pass. Wait for that workflow before pulling the new exact version tag. Pin deployments to the reported image digest.
What's Changed
- fix(claude): cancel abort force-kill timer so interrupt+resend doesn't die with code 143 by @0xSolarPunk in #273
- feat(chat): add hidden tool call settings by @0xSolarPunk in #280
- update workspace: sidebar, detached terminals, workspace orchestrator by @cfal in #281
- web/components/git: Simplify virtual list item key resolution in git diff components by @cfal in #285
- web: Add Ctrl-Shift-O shortcut to toggle focus between main view and sidebar by @cfal in #283
- web: Allow opening review comments by clicking diff lines directly by @cfal in #282
- workspace upgrade fixes by @cfal in #286
- web: focus to specific targets by @cfal in #287
- web: Respect requested host during terminal creation placement by @cfal in #288
- web/components/sidebar: Allow Git worktree selection in project path sidebar dialog by @cfal in #289
- web: Support customizable target layout placements for opening files by @cfal in #290
- web: Implement resizable columns in the file tree by @cfal in #291
- web: Consolidate body-scroll-lock cleanup delay in global vitest setup by @cfal in #292
- web: Add terminal font size setting to toolbar by @cfal in #293
- web/components: Reserve chat content space for the top floating toolbar by @cfal in #294
- workspace update: cleanup and improvements by @cfal in #295
- Style GPT-5.6 Sol Ultra with a rainbow treatment by @0xSolarPunk in #279
- perf(startup): skip redundant builds and defer Pi loading by @0xSolarPunk in #296
- web: misc cleanup by @cfal in #299
- feat(settings): default file opening to sidebar by @0xSolarPunk in #300
- Enable fork and project path updates for Direct agents by @cfal in #301
- web: add a setting to toggle overlay backdrop blur and dim effects by @cfal in #307
- perf(chat): page transcript history and bound cache memory by @0xSolarPunk in #306
- fix(chat): preserve transcript continuity after capped reloads by @0xSolarPunk in #308
- Add full chat transcript search by @0xSolarPunk in #260
- Speed up transcript search result hydration by @0xSolarPunk in #311
- fix(codex): retry model capacity failures by @0xSolarPunk in #314
- perf(ws): accelerate reconnect recovery by @0xSolarPunk in #312
- fix(codex): track terminal subagent lifecycle by @0xSolarPunk in #309
- fix(codex): serialize capacity retry recovery by @0xSolarPunk in #316
- Refactor file tree to use base-scoped navigation and grid layout by @cfal in #302
- Add filtering, sorting, and mtimes to worktree picker by @cfal in #305
- feat(files): copy project-relative file paths by @0xSolarPunk in #315
- Add reusable prompt snippets with slash commands by @cfal in #304
- web: Add nerd font for terminal by @cfal in #284
- perf(chat): paint switched transcripts incrementally by @0xSolarPunk in #313
- make transcript indexing opt-in and worker-backed by @cfal in #320
- web: prevent iOS Safari from zooming on focused form controls by @cfal in #318
- web: adjust workspace styling and presentation for mobile viewport by @cfal in #321
- fix iOS disconnect bug by @cfal in #322
- update queue mechanism by @cfal in #317
- improve pending user input reconciliation and active transcript stability by @cfal in #323
- queue and recovery improvements by @cfal in #324
- fix tests by @cfal in #325
- web: hide open files dialog and actions on mobile by @cfal in #326
- web/components/snippets: remove prefix from snippet short name in snippet row by @cfal in #327
- web: allow browsing and navigating queued messages directly from queue controls by @cfal in #328
- web: derive absolute worktree paths relative to repository root by @cfal in #329
- allow reasoning effort selection for title and commit generation by @cfal in #319
- support file refreshes by @cfal in #330
- fix(settings): keep device auth codes visible by @0xSolarPunk in #303
- web: add same view file opening preference by @cfal in #332
- web: fix commit history layout on mobile by @cfal in #335
- introduce 'unconfirmed' message delivery status for interrupted turns by @cfal in #331
- Route Claude login through browser-code flow by @0xSolarPunk in #334
- web: fix commit history diff loading before initial scroll by @cfal in #336
- server: reconcile restored pending user inputs during page loading by @cfal in #338
- add integration tests by @cfal in #339
- Expand integration coverage and harden chat recovery by @cfal in #341
- refactor: isolate server agent integrations by @cfal in #343
- Document server agent integration boundary by @cfal in #345
- Enable compression for all outbound WebSocket messages by @cfal in #347
- Fix worktree creation paths from linked worktrees by @cfal in #346
- Make queue controls responsive by @cfal in #342
- Test Anthropic and multi-agent transcript search by @cfal in #348
- Finish server agent integration isolation by @cfal in #349
- Harden queued delivery and reconnect state by @cfal in #350
- Align thinking controls with composer actions by @cfal in #351
- feat(chat): add expanded Mermaid diagram viewer by @0xSolarPunk in #337
- Simplify chat execution and transcript search by @cfal in #352
- Fix Codex fork-at-message validation by @cfal in #353
- Finish queue cleanup residuals by @cfal in #354
- Split Bash and Exec visibility settings by @cfal in #355
- Restore legacy direct chat history by @cfal in #356
- Fix Files view after project path changes by @cfal in #357
- Clarify execution contracts and domain ownership by @cfal in #358
- Support Codex legacy and paginated history by @cfal in #359
- Preserve file viewer scroll positions by @cfal in #360
- Upgrade workspace dependencies to latest by @cfal in #361
- Clarify Claude thinking controls by @cfal in #363
- Fix stale chat loading indicators by @cfal in #362
- Fix runtime permission reply binding by @cfal in #364
- Test queued processing indicator lifecycle by @cfal in https://githu...
v0.3.3
What's Changed
- web: update git branch selector by @cfal in #233
- fix(composer): align processing status bar with composer box by @0xSolarPunk in #234
- fix(composer): merge status caps into the composer as one seamless card by @0xSolarPunk in #235
- common/models: surface Fable 5 in the Claude model selector by @0xSolarPunk in #237
- fix: prevent cross-provider model mismatch in generated-title config by @0xSolarPunk in #236
- fix: keep queue dispatch controls visible behind composer cap by @0xSolarPunk in #239
- Fix Claude CLI thinking flags by @0xSolarPunk in #238
- feat(settings): add keyboard shortcuts reference tab by @0xSolarPunk in #240
- feat: rename thinking modes to effort levels (low/medium/high/xhigh/max) by @0xSolarPunk in #241
- ux: make split view discoverable, drag-to-split clearer, resizing smoother by @0xSolarPunk in #242
- Default sidebar project grouping by @0xSolarPunk in #243
- fix(chat): focus split pane composer immediately by @0xSolarPunk in #245
- feat(chat): support document attachments by @0xSolarPunk in #246
- server: misc fixes by @cfal in #247
- web: support fork for slash commands by @cfal in #248
- server: misc fixes by @cfal in #249
- web: misc fixes by @cfal in #250
- feat(sidebar): add recent-activity sort toggle for chat list by @0xSolarPunk in #253
- test(sidebar): cover recent sort with group-by-project by @0xSolarPunk in #254
- fix(chat): surface humanized failure reason instead of blanket 'The process died.' by @0xSolarPunk in #256
- feat: continue a chat under a different agent mid-conversation by @0xSolarPunk in #255
- web: fix chat composer in non-git project paths by @cfal in #258
- fix: surface busy agent switch errors by @0xSolarPunk in #259
- web: fix iOS zoom on model and search input by @cfal in #261
- web: pinning changes by @cfal in #264
- Drain queued messages after interrupt by @0xSolarPunk in #263
- feat(pr-viewer): GitHub pull request viewer in the sidebar + diff pane by @0xSolarPunk in #257
- Fix provider auth login fallback without PTY by @0xSolarPunk in #265
- Add GPT-5.6 Codex model options by @0xSolarPunk in #266
- Add Codex /goal slash command by @0xSolarPunk in #267
- add prompt scheduler by @cfal in #269
- Add provider-agnostic ExecToolUseMessage and exec tool visualization by @cfal in #270
- scheduler fixes and update by @cfal in #271
- feat(codex): add Sol Ultra effort by @0xSolarPunk in #272
- fix(codex): harden goal lifecycle delivery by @0xSolarPunk in #268
- fix(codex): restore queued input by default by @0xSolarPunk in #274
- rename to scheduled prompts by @cfal in #275
- web: cleanup layouts for chat feed, scheduled tasks, new chat by @cfal in #276
- allow setting tags for scheduled prompts by @cfal in #277
- update README and screenshots by @cfal in #278
Full Changelog: v0.3.2...v0.3.3
v0.3.2
What's Changed
- web: cleanup mobile dialogs by @cfal in #199
- web: improved chat caching by @cfal in #200
- web: Group adjacent read tool uses in the conversation feed by @cfal in #201
- web: Persistent sidebar state on small screens by @cfal in #202
- fix(web): collapse binary files to compact rows in git diff by @0xSolarPunk in #195
- server: compress HTTP responses by @cfal in #203
- add advanced git features, virtualize git diffs by @cfal in #204
- Add background git freshness polling and staleness detection by @cfal in #205
- feat(fork): fork chats mid-stream with an in-chat Fork button by @0xSolarPunk in #206
- git workbench improvements by @cfal in #209
- feat: add /compact command for context compaction by @0xSolarPunk in #207
- feat: enable Codex subagent tool calls by @0xSolarPunk in #210
- feat: slash-command autocomplete in chat composer by @0xSolarPunk in #208
- add git history screen by @cfal in #214
- fix: insert newline on Enter in mobile new-chat composer by @0xSolarPunk in #212
- feat: make shared chat links agent-friendly by @0xSolarPunk in #213
- Fork chats from selected messages by @0xSolarPunk in #215
- fix: auto-drain queued messages after turns that bypass runAcceptedTurn by @0xSolarPunk in #216
- fix: stop leaking internal 'sending' queue state to clients by @0xSolarPunk in #217
- Revert "fix: stop leaking internal 'sending' queue state to clients" by @yongkangc in #218
- Revert "Revert "fix: stop leaking internal 'sending' queue state to clients"" by @yongkangc in #219
- Add Codex subagent management bar by @0xSolarPunk in #211
- Update deps, fix TypeScript errors from Bun type updates by @cfal in #220
- Invalidate model catalog cache when updating API providers by @cfal in #221
- Allow changing a chat's project path at runtime by @cfal in #222
- cleanup chat menu and split panels by @cfal in #223
- cleanup chat item display by @cfal in #224
- Reorder chat menus by @cfal in #225
- Refine chat message actions and fork capability gating by @cfal in #226
- web: support grouping chats by project by @cfal in #227
- add factory history loading by @cfal in #228
- add git tray and quick git commit dialog by @cfal in #229
- web: git tray cleanup, fix feed jump on load due to lazy loading by @cfal in #230
- web: use CodeMirror for code blocks by @cfal in #231
Full Changelog: v0.3.1...v0.3.2
v0.3.1
What's Changed
- refactor server, add cursor and acp support by @cfal in #175
- feat: Group consecutive bash tool cards by @0xSolarPunk in #176
- perf: polish chat streaming and queue UX by @0xSolarPunk in #177
- fix: preserve scroll position when loading older messages by @0xSolarPunk in #178
- fix: keep sidebar bulk delete visible by @0xSolarPunk in #179
- feat: add workspace toolbar tooltips by @0xSolarPunk in #180
- [codex] test: close worktree dialog in new chat form test by @0xSolarPunk in #184
- web: update drag and drop reordering and sending to split panes by @cfal in #186
- web: drag and drop improvements by @cfal in #187
- server: misc fixes by @cfal in #188
- web: cleanup and fixes by @cfal in #189
- server: cleanup and fixes by @cfal in #190
- perf: defer heavy chat shell renderers by @0xSolarPunk in #183
- feat(web): speed up loading spinner frame rate by @0xSolarPunk in #191
- robust chat streams by @cfal in #196
- cursor improvements by @cfal in #197
- add recents to model selector by @cfal in #198
New Contributors
- @0xSolarPunk made their first contribution in #176
Full Changelog: v0.3.0...v0.3.1
v0.3.0
v0.2.2
What's Changed
- Update README.md by @cfal in #61
- Add discard changes button to git file tree by @yongkangc in #62
- fix: prevent opencode serve from spawning when provider is not in use by @yongkangc in #64
- feat: add mermaid diagram rendering for markdown by @yongkangc in #65
- feat: add colorblind-friendly color mode by @yongkangc in #56
- web/components: fix Amp provider label by @cfal in #66
Full Changelog: v0.2.1...v0.2.2