Repository navigation
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 #366
- Fix long chat titles in project path dialog by @cfal in #367
- Stream direct provider generation requests by @cfal in #368
- fix(forking): allow point forks while transcripts append by @0xSolarPunk in #369
- Fix immediate Codex fork-of-fork failures by @cfal in #370
- Verify Codex fork-of-fork source paths by @cfal in #371
- Restore Codex exec messages in history by @cfal in #372
- Retain recently viewed chat generations by @cfal in #373
- Render Codex Code Mode shell executions as commands by @cfal in #374
- Use tabs for compact Git workbench layouts by @cfal in #376
- Add close buttons to file surface headers by @cfal in #379
- Preserve Claude history across forks by @cfal in #377
- Restore centered workspace tab bars by @cfal in #380
- Add configurable desktop pane ordering by @cfal in #378
- Simplify chat list resize feedback by @cfal in #381
- Sort snippets by name by @cfal in #383
- Surface Claude CLI turn failures by @cfal in #382
- Add queue item reordering by @cfal in #384
- Add user-message navigation to long chats by @cfal in #386
- Add motion-aware composer processing border by @cfal in #385
- Add revision comparison reviews by @cfal in #387
- Add resizable file tree to Git diffs by @cfal in #391
- Detect stale revision comparisons by @cfal in #392
- Speed up Git review diff loading by @cfal in #393
- Preserve Codex transcript paths across agent changes by @cfal in #394
- Eliminate seams in virtualized Git diffs by @cfal in #395
- Prevent Codex reconciliation from blocking startup by @cfal in #396
- Integrate Agents into floating workspace toolbars by @cfal in #397
- Consolidate sidebar chat activity indicators by @cfal in #400
- Keep virtual Git diffs loading across view changes by @cfal in #401
- Strengthen unread chat emphasis by @cfal in #404
- Preserve Claude chats when changing project paths by @cfal in #403
- Detect stale Git comparisons on re-entry by @cfal in #405
- Diversify generated chat title icons by @cfal in #402
- Harden Claude turn persistence and forking by @cfal in #406
- Decouple Git history and compare views by @cfal in #407
- Add live Claude lifecycle conformance tests by @cfal in #408
- Fix Compare startup loading state by @cfal in #409
- Add live Codex lifecycle conformance tests by @cfal in #410
- Keep Claude turns active through background continuations by @cfal in #411
- feat(settings): add configurable keyboard shortcuts by @0xSolarPunk in #412
- Fix chat stop and processing reconciliation by @cfal in #415
- Preserve sessions during network reconnects by @0xSolarPunk in #414
- Expand Claude and Codex live conformance coverage by @cfal in #416
- Make direct chats opt-in by @cfal in #417
- perf(chat): bound initial-prompt navigation by @0xSolarPunk in #420
- Bound live chat transcript memory and append cost by @yongkangc in #421
- Fix forking a chat while its agent is working by @cfal in #418
- Run real Codex and Claude against scripted models in tests by @cfal in #423
- Fix Claude idle wedge and compacted-transcript forking by @cfal in #424
- Complete scripted-model coverage and harden transcript forks by @cfal in #425
- Simplify transcript forks and expand scripted coverage by @cfal in #426
- Order terminal events and harden session forks by @cfal in #427
- Keep Git Compare on the selected repository by @cfal in #428
- Align Git view controls and History comparisons by @cfal in #429
- Keep Git surfaces coherent across chat and repository switches by @cfal in #430
- Keep singleton open commands available across views by @cfal in #431
- Add other-view file opening by @cfal in #432
- Give workspace hosts symmetric fullscreen by @cfal in #433
- Make Files details rows responsive by @cfal in #434
- Polish Files view settings by @cfal in #435
- Keep name-only Files rows compact by @cfal in #437
- Add chat move and tag slash commands by @cfal in #438
- Allow Claude forks with forward parent references by @cfal in #441
- Restore strict same-turn steering by @cfal in #440
- Add garcon-cli by @cfal in #439
- Restore scrolling from transcript start by @cfal in #442
- Preserve file viewer scroll positions by @cfal in #443
- Fix sidebar chat reorder reversals by @cfal in #444
- Stabilize bidirectional transcript pagination by @cfal in #445
- Fix server bind address reporting by @cfal in #446
- Reconcile queue controls after server restarts by @cfal in #447
- Add same-turn steering for Claude by @cfal in #448
- Virtualize the Git History list by @cfal in #449
- Prevent iPhone zoom when editing queued messages by @cfal in #450
- Prevent iPhone zoom in the file editor by @cfal in #451
- Keep file tree navigation anchored when moving up by @cfal in #452
- fix(codex): preserve GPT-5.6 max effort by @0xSolarPunk in #453
- Make live conformance provider-configurable by @cfal in #454
- Drop the compact tier from Git diff document presentation by @cfal in #455
- Add Steer action for queued messages by @cfal in #456
- Combine Git diff settings with responsive actions by @cfal in #457
- Improve Garcon CLI discovery and chat metadata by @cfal in #459
- Stabilize Chromium responsive E2E coverage by @cfal in #460
- Add inline snippet expansion by @cfal in #461
- Add same-turn steering for Pi by @cfal in #462
- Stabilize Lightpanda queue action readiness by @cfal in #463
- Preserve Pi extension provider configuration by @cfal in #464
- Accept Pi provider-clamped thinking levels by @cfal in #465
- Prefetch Git history before scroll end by @cfal in #467
- Serialize direct chat admission by @cfal in #466
- Add CLI chat lifecycle controls by @cfal in #468
- Harden OpenCode recovery and scripted coverage by @cfal in #469
- Add CLI chat observation and reattachment by @cfal in #470
- Fix mobile snippet palette and trigger dismissal by @cfal in #471
- Fix snippet dialog dismissal by @cfal in #473
- Expose chat IDs in details and snippets by @cfal in #474
- Fix OpenCode out-of-order event handling by @cfal in #475
- Support steering in OpenCode by @cfal in #478
- Virtualize long chat transcripts by @cfal in #458
- Keep Codex transcripts exact-once after Stop by @cfal in #472
- Stabilize virtual transcript scrolling and reveal by @cfal in #477
- Prefetch earlier chat history before the boundary by @cfal in #479
- Stabilize chat history prepends by @cfal in #480
- Keep automatic chat history continuous by @cfal in #481
- Show chat history loading without shifting the feed by @cfal in #482
- Use a circular chat history loader by @cfal in #483
- Add /st alias for /steer by @cfal in #484
- Support symlinked CLI workspaces by @cfal in #485
- Keep Claude subagents on custom models by @cfal in #488
- Remember Git comparison ranges per chat by @cfal in #486
- Add video attachment support by @yongkangc in #490
- Page large shared chat loads by @0xSolarPunk in #489
- Restore chat half-page shortcuts by @cfal in #491
- Persist Git comparison ranges across reloads by @cfal in #493
- Extend half-page scrolling across workspace views by @cfal in #494
- Store agent handoffs as immutable segments by @cfal in #492
- Project carried-over transcripts by message class by @cfal in #495
- Fix stale file listings after workspace remounts by @cfal in #497
- Stop chat transcript paging stalls by @cfal in #496
- Restore chat history loading indicator by @cfal in #498
- Add Ctrl+Enter steering preference by @cfal in #499
- Fix responsive desktop composer resizing by @cfal in #501
- Add expanded Emacs composer editor by @cfal in #502
- Pin file headers in Git diff views by @cfal in #503
- Remove redundant Compare header title by @cfal in #504
- Keep composer resize feedback live by @cfal in #505
- Compact Git comparison summary by @cfal in #506
- Highlight syntax in Git diff views by @cfal in #507
- Fix transcript ordering and scrolling by @cfal in #508
- Add configurable prompt refinement by @cfal in #509
- Implement transcript ledger v5 by @cfal in #500
- Restore configurable prompt refinement by @cfal in #514
- Style Bash tool rows as compact cards by @cfal in #515
- Fix chat feed navigation controls by @cfal in #516
- Complete Transcript Ledger V5 follow-up by @cfal in #518
- Add composer actions to New Chat by @cfal in #517
- Keep mobile chat paging stable during momentum scrolling by @cfal in #519
- Improve responsive branch name visibility by @cfal in #520
- Replace transcript search with bounded relational indexing by @cfal in #523
- Restore reliable transcript search with durable v9 indexing by @cfal in #528
- Repair OpenCode V1 automatic compaction by @cfal in #529
- Make native transcript drift activation-only by @cfal in #527
- Add sortable branch selection by @cfal in #522
- Add snippet argument defaults by @cfal in #530
- Add presentation-only chat rows by @cfal in #521
- Fix Commit sidebar hangs on large worktrees by @cfal in #531
- Stabilize executable build CI by @cfal in #533
- Stabilize editor readiness in browser tests by @cfal in #534
- Fix OpenCode transcript loss and add forking and image support by @cfal in #532
- Harden fork refusals, route error logging, and live-lane prompts by @cfal in #536
- Fix transcript scroll jumps from virtual row shrinkage by @cfal in #540
- Prevent mobile composer controls from wrapping by @cfal in #537
- Surface provider retry waits as transcript notices by @cfal in #538
- Update dependencies and provider compatibility by @cfal in #539
- Fix dependency setup and dark theme startup by @cfal in #542
- Distinguish CLI-originated user messages by @cfal in #546
- Fix OpenCode compaction and tool blockers by @cfal in #548
- Persist Direct history and expose handoff summaries by @cfal in #549
- Add single-line sidebar chat item layout option by @cfal in #547
- Add prompt refinement to snippet editing by @cfal in #551
- Enable chat ID snippets before chat creation by @cfal in #550
- Stabilize Claude live CI coverage by @cfal in #552
- Add filtered transcript export by @cfal in #555
- Align sidebar chat row status and actions by @cfal in #556
- Make transcript exports succinct by @cfal in #557
- Document XML export omission counts by @cfal in #560
- Fix duplicate attachment keys in chat messages by @yongkangc in #559
- Add first-class CLI message presentation by @cfal in #561
- Add chat group search filters by @cfal in #554
- Preserve angle-bracket text in Markdown by @cfal in #563
- Add collapsible CLI messages by @cfal in #562
- Update Docker runtime and setup by @cfal in #553
- Make OpenCode a first-class server agent by @cfal in #564
- Support chat IDs in scheduled prompts by @cfal in #565
- Add token-budgeted handoff compaction and artifacts by @cfal in #567
- Harden handoff artifacts and cancellation by @cfal in #568
- Make long handoff compaction visible and resilient by @cfal in #569
- Make comparison range the edit control by @cfal in #570
- Apply the chat permission mode to forked OpenCode sessions by @cfal in #571
- Collapse handoff summaries by default by @cfal in #572
- Restore complete transcript search coverage by @cfal in #573
- Retire idle OpenCode server processes by @cfal in #574
- Support OpenCode project path relocation by @cfal in #578
- Replace TanStack Virtual with a transactional Svelte virtualizer by @cfal in #577
- Refresh README and product screenshots by @cfal in #579
- Enable agent chat ID auto-discovery by @cfal in #580
- Improve chat drag-and-drop: panel drags in recent sort, pane swaps, toolbar overlap by @cfal in #584
- Prevent OpenCode resume hangs after Stop by @cfal in #583
- Deliver chat IDs through immediate steering by @cfal in #585
- Collapse chat ID auto-discovery into one outcome by @cfal in #587
- Show handoff history status in transcripts by @cfal in #586
- Simplify chat ID auto-discovery by @cfal in #588
- Edit queued messages inline with shared composer affordances by @cfal in #589
- Add project defaults for Git comparison ranges by @cfal in #590
- Virtualize the Git workbench file tree by @cfal in #591
- Delete docs/screenshots directory by @yongkangc in #594
- perf(chats): defer carryover garbage collection by @yongkangc in #582
- Add configurable task completion sounds by @yongkangc in #487
- Unify workspace views with window-local tabs by @cfal in #595
- Add unified inter-agent commands by @cfal in #596
- Stabilize Claude native-history reload integration by @cfal in #599
- Inherit sub-agent context and gate custom overrides by @cfal in #598
- Add hover-gated chat sidebar autohide by @cfal in #597
- Restyle inter-agent messages by @cfal in #600
- Improve file and chat navigation context by @cfal in #602
- Fix mobile image zoom and snippet keyboard focus by @cfal in #601
- Remove assistant-authored start-agent commands by @cfal in #604
- Remove the Open Files dialog by @cfal in #605
- Persist chat parentage for forks and handoffs by @cfal in #603
- Make Files Home navigate to the server home directory by @cfal in #608
- Refine chat metadata rows in window menu by @cfal in #609
- fix(ledger): preserve reads after write fence by @yongkangc in #593
- Hide unnecessary transcript disclosure controls by @cfal in #610
- Stabilize ownership journal cleanup tests by @cfal in #613
- Move terminal controls into window menus by @cfal in #606
- Close chat metadata menu after copying by @cfal in #614
- Align inter-agent participant labels by @cfal in #615
- Allow terminal windows to be renamed by @cfal in #617
- Make split Chat panels fully interactive by @cfal in #607
- Keep chat text-selection dialog open by @cfal in #618
- Unify workspace window tab menus by @cfal in #620
- Shard server protocol integration CI by @cfal in #619
- Stabilize permission draft virtualization coverage by @cfal in #621
- Add Chat Map and delegated chat lineage by @cfal in #616
- Restore composer status tray underlap by @cfal in #622
- Speed up worktree enumeration by @cfal in #623
- Defer draft chat transcript hydration by @cfal in #624
- Speed up branch enumeration by @cfal in #625
- Polish empty states, chat markdown, and auth form metadata by @cfal in #629
- Harden web client reliability and accessibility by @cfal in #631
- Improve chat composer, navigation, and transient UX by @cfal in #630
- feat(workspace): add inline tab close controls by @0xSolarPunk in #628
- Fix recent drafts and chat activity ordering by @cfal in #633
- Simplify shared chat and Git review flow by @cfal in #635
- Let OpenCode forks finish replaying large sessions by @cfal in #634
- update amp server agent by @cfal in #637
- Add activity-based chat sidebar grouping by @cfal in #636
- Harden server state and recovery paths by @cfal in #632
- Refine sidebar group headers by @cfal in #639
- Fix stale recent model resolution by @cfal in #638
- Hide reasoning effort for unsupported agents by @cfal in #640
- Clear stuck fork and handoff progress notices by @cfal in #641
- Select pre-filled snippet default arguments on insert by @cfal in #642
- Replace sidebar sort toggle with sort order radio group by @cfal in #643
- Collapse long user messages automatically by @cfal in #646
- Harden server persistence and resource boundaries by @cfal in #644
- Refresh README for Garcon's multi-agent workspace by @cfal in #647
- Fix OpenCode glob and grep tool result counts by @cfal in #649
- Fix New Chat dialog clipping its content on mobile by @cfal in #648
- Fix new-chat startup model swap and sidebar tail scroll by @cfal in #645
- Upgrade Codex app-server integration to 0.153.0 with paginated history by @cfal in #650
- Recognize garcon edge commands padded with trailing whitespace by @cfal in #651
- Add Copy selection and Quote selection to the message context menu by @cfal in #653
- Preserve native draft startup routing by @cfal in #652
- Align Claude runtime with Agent SDK 0.2.152 behavior by @cfal in #654
- Improve collapsed user message readability by @cfal in #657
- Fix rename-chat shortcut from chat surfaces by @cfal in #660
- Hide bash tool-use messages by command pattern by @cfal in #662
- Simplify bash message filter code by @cfal in #663
- Support hourly scheduled task intervals by @cfal in #665
- Fix repeated chat ID discovery in long-running turns by @cfal in #664
- Fix sidebar Mark all as read leaving the dropdown open by @cfal in #666
- Align collapsed tool disclosure height with inline rows by @cfal in #667
- Add one-off sidebar chat reorder presets by @cfal in #668
- feat(codex): add GPT-6 Astra support by @0xSolarPunk in #655
- fix(codex): preserve destination model defaults by @0xSolarPunk in #670
- Restore persisted scheduled prompts by @cfal in #671
- Harden scheduled prompt migration backups by @cfal in #673
- Add first-run onboarding wizard and update app defaults by @cfal in #661
- Server cleanup: correctness fixes, registry hardening, and dead-code removal by @cfal in #675
- Preserve Codex provider reasoning defaults by @cfal in #676
- Add provider-neutral chat preambles by @cfal in #677
- Persist Bash command filters in remote settings by @cfal in #679
- Show full CLI titles on mobile by @cfal in #681
- Fix git status classification, unmerged discard, and rename handling in review documents by @cfal in #680
- Harden preamble browser workflows by @cfal in #682
- Simplify chat reorder preset paths by @cfal in #683
- Upgrade Pi provider pins to 0.85.1 by @cfal in #685
- Upgrade OpenCode to 1.18.29 by @cfal in #684
- refactor(search): bind FTS5 merge page count instead of interpolating by @anupamme in #674
- fix(ws): retry stalled connection attempts by @0xSolarPunk in #669
- Harden git discard routing, network command bounds, and chat registry isolation by @cfal in #686
- Upgrade workspace dependencies by @cfal in #688
- Enable chat links in conversation feeds by @cfal in #689
- Improve transcript search pagination and sorting by @cfal in #687
- fix(claude): use unversioned Fable model label by @cfal in #690
- Make workspace windows responsive to available space by @cfal in #678
- Improve transcript search paging performance by @cfal in #691
- Align bottom-pinned recent activity ordering by @cfal in #695
- fix(model-selector): prevent provider selector form submission by @0xSolarPunk in #692
- Show live automatic compaction rows across providers by @cfal in #693
- Add per-chat preamble selection by @cfal in #698
- Improve web startup and reactive hot paths by @cfal in #694
- Propagate OpenCode session identity to shell commands by @cfal in #699
- Require server typechecking before merge by @cfal in #700
- Add native session chat lookup by @cfal in #701
- Archive chats optimistically without delaying navigation by @cfal in #697
- Add automatic preamble agent and tag filters by @cfal in #702
- Resolve chat projects on demand by @cfal in #696
- Navigate archived chats by displayed sidebar order by @cfal in #704
- Respect max chat width for project recovery by @cfal in #705
- Polish new chat preamble experience by @cfal in #703
- Fix concurrent web build cache publication by @cfal in #706
- Reuse loaded chats across workspace windows by @cfal in #707
- Revert "Fix concurrent web build cache publication" by @cfal in #710
- Add explicit lifecycle and chat history CLI commands by @cfal in #713
- Fix the mobile sidebar search interface by @cfal in #711
- Add modular theme profiles by @cfal in #708
- Standardize existing-chat lifecycle commands by @cfal in #716
- Shrink chat gutters in narrow panes by @cfal in #719
- Add delegated agent workflows and same-chat scheduling by @cfal in #714
- Fix mobile search modal interactions by @cfal in #718
- Add adaptive workspace title-bar actions by @cfal in #712
- Support configured provider display names by @cfal in #723
- Add automation-safe chat CLI controls by @cfal in #721
- Complete CLI discovery and search administration by @cfal in #725
- feat(sidebar): group inactive chats by project by @0xSolarPunk in #724
- Add live tag-based Chat Board by @cfal in #715
- return final responses and add delegated chat controls by @cfal in #726
- Add preamble selection to scheduled chats by @cfal in #727
- Add clear action to new chat preambles by @cfal in #728
- fix acknowledgment delivery test race by @cfal in #729
- Add standalone persistent chat canvases by @cfal in #722
- Default delegated agent starts to the parent configuration by @cfal in #730
- test(agent-commands): document Codex late-steer race by @cfal in #731
- Use collision-based names for forks and handoffs by @cfal in #732
- Prevent repeated transcript drift warnings by @cfal in #733
- Acknowledge delegated starts early and show startup progress by @cfal in #734
- Increase compaction timeout and localize notices by @cfal in #735
- Add None action to Chat Board transitions by @cfal in #736
- Refresh README for visual agent orchestration by @cfal in #737
- Adopt Fork Tail branding and immutable icons by @cfal in #738
- Center unavailable project notice by @cfal in #739
- Support Claude context limits in model suffixes by @cfal in #740
- add durable workspace issues by @cfal in #741
- Rename Issues to Tickets and streamline the workspace UX by @cfal in #742
- Make ticket command notices descriptive and clickable by @cfal in #743
- Simplify mobile workspace navigation by @cfal in #744
- Fix ticket search, draft dismissal, and assignee navigation by @cfal in #745
- Update Claude context caps without restarting by @cfal in #746
- Navigate search results to exact transcript rows by @cfal in #747
- Improve file editing and add Vim mode by @cfal in #750
- Add bundled Garcon command preambles by @cfal in #751
- Return ticket parse failures to agents by @cfal in #752
- Group sidebar chats by status by @cfal in #753
- Publish main Docker images to GHCR by @cfal in #754
- Highlight official GHCR image by @cfal in #755
- Add sidebar back-to-top control by @cfal in #758
- Expose named preambles in the snippet picker by @cfal in #759
- Copy Vim yanks to the system clipboard by @cfal in #760
- Keep handoff summaries current with recent context by @cfal in #762
- Add CLI JSON output and fork actions by @cfal in #763
- Add Garcon Captain default preamble by @cfal in #764
- Add Owl and Neko theme families by @cfal in #765
- Keep editor menus focused through responsive handoffs and deferred autofocus by @cfal in #761
- Keep Claude custom-endpoint subagents on the selected model by @cfal in #766
- Upgrade OpenCode to 1.18.31 by @cfal in #768
- chore(codex): upgrade app-server to 0.155.1 by @cfal in #767
- chore(web): upgrade compatible direct dependencies by @cfal in #769
- Upgrade server and integration dependencies by @cfal in #770
- Combine consecutive tool-use messages in chat by @cfal in #771
- Upgrade Claude Code scripted integration to 2.1.278 by @cfal in #774
- Bottom-align short chat feeds by @cfal in #772
- Clean up provider processes when chats are deleted by @cfal in #775
- Refill compressed chat history on reselection by @cfal in #776
- Allow non-default preambles in per-chat selections by @cfal in #777
- Use full width around split dividers by @cfal in #778
- Make workspace titlebar size configurable by @cfal in #779
- Retain combined transcript windows across chat switches by @cfal in #780
- Support GPT-6 Sol and Luna in Codex by @cfal in #781
- Upgrade Claude Code integration to 2.1.280 by @cfal in #783
- Support remote executors by @cfal in #786
- cleanup flakes by @cfal in #787
- split automation and notifications out of general settings by @cfal in #788
- executor followup and fixes by @cfal in #789
- Executor follow-ups: clearer failures, safer retries, and Move dialog pins by @cfal in #790
- Share project path fields across forms by @cfal in #792
- settle lost executor launches and keep long-history work responsive by @cfal in #791
- Bring docs up to date with the current implementation by @cfal in #793
- Restore compact project path spacing by @cfal in #795
- Fix recurring CI flakes in browser and remote-executor tests by @cfal in #794
- Upgrade Codex app-server to 0.159.0 by @cfal in #796
- Harden executor reconnects against unreadable events and mismatched builds by @cfal in #797
- Settle remaining stranded launches and bound more whole-history passes by @cfal in #799
- chore(codex): upgrade app-server to 0.159.2 by @cfal in #801
- Combine app and server settings into one dialog opened by Cmd+, by @yongkangc in #802
- fix(terminal): preserve mobile controls and add exit action by @0xSolarPunk in #785
- Keep executor calls and turns alive across link reconnects by @cfal in #798
- Upgrade Pi to 0.99.1 by @cfal in #804
- Guard stash actions and harden Git inspector lists by @cfal in #800
- Keep chat notices above the joined status tray and composer by @cfal in #807
- Unify sidebar chat item layouts by @cfal in #809
- Move whole-transcript rendering off the controller's event loop by @cfal in #806
- Simplify settings and provider executor access by @cfal in #808
- Add ticket dispatch to start an agent chat from a ticket by @yongkangc in #803
- Fix E2E flakes and diagnose Git capacity refusals and hung test requests by @cfal in #805
- Fix iOS home-screen status bar overlap by @cfal in #811
- Queue steers the active turn cannot take yet by @cfal in #810
- Harden executor link failure handling and redact parse errors by @cfal in #812
- Queue messages with image attachments by @yongkangc in #814
- Bound chat-lock waits on reconnecting executors and keep cleanup reaching the worker by @cfal in #813
- Explain Claude safety prompts in bypass mode by @cfal in #815
- Align live-agent conformance test configuration by @cfal in #817
- Fix retained chat views during chat switching by @cfal in #818
- Manage executors and execution targets from the CLI by @cfal in #816
- Fix search watermark and restart test races by @cfal in #821
- Harden executor connections and deployment configuration by @cfal in #820
- Fix iPhone home-screen viewport after relaunch by @cfal in #822
- Fix ticket feedback loss and Chromium viewport checks by @cfal in #823
- Simplify server ownership and harden persistence and resource bounds by @cfal in #825
- Simplify web ownership and fix UI lifecycle edge cases by @cfal in #824
- Restore the last-started executor for new chats by @cfal in #827
- Fix Codex startup and sidebar layout test races by @cfal in #828
- Package Docker CLI and standalone executor deployments by @cfal in #826
- Simplify server APIs, ownership, and tests by @cfal in #829
- Harden CI synchronization and Docker packaging checks by @cfal in #830
- Simplify web ownership and async lifecycles by @cfal in #831
- Isolate executor bulk traffic from primary control by @cfal in https://github.com/cfal/garcon/pull/832
- Harden server boundaries and remove obsolete APIs by @cfal in https://github.com/cfal/garcon/pull/833
- Harden chat persistence and CLI mutation contracts by @cfal in https://github.com/cfal/garcon/pull/834
- Preserve project paths and harden shared contracts by @cfal in https://github.com/cfal/garcon/pull/835
- Accept literal agent prompts and report command parse errors by @cfal in https://github.com/cfal/garcon/pull/836
- Fix history stalls and flaky test contracts by @cfal in https://github.com/cfal/garcon/pull/837
- fix(auth): keep Claude sign-in retryable after rejected codes by @0xSolarPunk in https://github.com/cfal/garcon/pull/838
- refactor(auth): simplify login completion polling by @0xSolarPunk in https://github.com/cfal/garcon/pull/841
- feat(scheduling): support snippets and improve prompt options by @0xSolarPunk in https://github.com/cfal/garcon/pull/840
- Render local Markdown image thumbnails by @cfal in https://github.com/cfal/garcon/pull/842
- Fix file drag and drop across the chat composer by @yongkangc in https://github.com/cfal/garcon/pull/843
- Keep selected chat titles visible in compact titlebars by @cfal in https://github.com/cfal/garcon/pull/844
- Create directories from the directory picker and rework it for mobile by @yongkangc in https://github.com/cfal/garcon/pull/850
- Upgrade Pi integration to 1.0.2 by @cfal in https://github.com/cfal/garcon/pull/851
- Upgrade OpenCode to 1.18.34 by @cfal in https://github.com/cfal/garcon/pull/847
- chore(claude): upgrade scripted CLI to 2.1.289 by @cfal in https://github.com/cfal/garcon/pull/845
- Upgrade Codex app-server to 0.160.0 by @cfal in https://github.com/cfal/garcon/pull/846
- Redesign the scheduled prompts list, form, and run log by @yongkangc in https://github.com/cfal/garcon/pull/848
- Add optional active-window highlight by @cfal in https://github.com/cfal/garcon/pull/852
- Remove the pathname fallback from directory creation by @yongkangc in https://github.com/cfal/garcon/pull/853
- Add active-window fullscreen shortcut by @cfal in https://github.com/cfal/garcon/pull/855
- fix(scheduling): refine headers and keep executor context visible by @0xSolarPunk in https://github.com/cfal/garcon/pull/849
- Prefill provider setup by pasting an API key by @yongkangc in https://github.com/cfal/garcon/pull/857
- Search settings across sections by @yongkangc in https://github.com/cfal/garcon/pull/858
- Recall recent chat prompts with ArrowUp by @yongkangc in https://github.com/cfal/garcon/pull/859
- Configure chat sidebar coverage in fullscreen by @cfal in https://github.com/cfal/garcon/pull/861
- Fix Markdown file-link feedback and executor root selection by @yongkangc in https://github.com/cfal/garcon/pull/860
- Fix flaky prompt-recall Chromium E2E baseline by @yongkangc in https://github.com/cfal/garcon/pull/862
- Switch recent chats from the command palette by @yongkangc in https://github.com/cfal/garcon/pull/867
- Undo single and bulk chat archives by @yongkangc in https://github.com/cfal/garcon/pull/868
- Notify for chat completion and permission requests in the browser by @yongkangc in https://github.com/cfal/garcon/pull/866
- chore(web): remove Sherlock/inlang editor matching tooling by @yongkangc in https://github.com/cfal/garcon/pull/869
- Hide executor selectors when only Local is configured by @cfal in https://github.com/cfal/garcon/pull/870
- fix(ui): close archive Undo dialogs reliably by @yongkangc in https://github.com/cfal/garcon/pull/871
- test(chromium): await nested archive dialog dismissal by @yongkangc in https://github.com/cfal/garcon/pull/872
- Make multiline inputs compact and grow with their content by @yongkangc in https://github.com/cfal/garcon/pull/873
- Fix new-chat focus race and scripted Codex CI barriers by @yongkangc in https://github.com/cfal/garcon/pull/876
- Add Unix Shell agent by @cfal in https://github.com/cfal/garcon/pull/874
- Fix stale sidebar titles after chat renames by @cfal in https://github.com/cfal/garcon/pull/878
- Show the chat queue inline with per-message steering and drag ordering by @yongkangc in https://github.com/cfal/garcon/pull/875
- Polish Shell output and preserve command diagnostics by @cfal in https://github.com/cfal/garcon/pull/879
- Render pasted Markdown tables in the chat composer by @yongkangc in https://github.com/cfal/garcon/pull/881
- Revert Markdown composer preview while editable tables are refined by @yongkangc in https://github.com/cfal/garcon/pull/883
- perf: Avoid rereading prepared provider handoff history by @yongkangc in https://github.com/cfal/garcon/pull/877
- Add confirmed ledger-only /clear for Shell by @cfal in https://github.com/cfal/garcon/pull/880
- Add secure username and password changes by @cfal in https://github.com/cfal/garcon/pull/882
- Add Shell Notes modes and Clear before message by @cfal in https://github.com/cfal/garcon/pull/885
- Support runtime path prefixes for the webapp and API by @cfal in https://github.com/cfal/garcon/pull/886
- Fix snippet picker selection under a stationary pointer by @cfal in https://github.com/cfal/garcon/pull/887
- Move queue controls below queued messages by @cfal in https://github.com/cfal/garcon/pull/889
- Add durable browser logout and Authentication settings by @cfal in https://github.com/cfal/garcon/pull/888
- Upgrade Codex app-server to 0.162.1 by @cfal in https://github.com/cfal/garcon/pull/893
- Upgrade Claude Code to 2.1.296 by @cfal in https://github.com/cfal/garcon/pull/891
- chore(pi): upgrade Pi from 1.0.2 to 1.1.0 by @cfal in https://github.com/cfal/garcon/pull/892
- Upgrade OpenCode SDK and binary to 1.19.0 by @cfal in https://github.com/cfal/garcon/pull/890
- Edit pasted Markdown formatted in the chat composer by @yongkangc in https://github.com/cfal/garcon/pull/884
- Preserve the unsent new-chat prompt across dialog closes by @yongkangc in https://github.com/cfal/garcon/pull/895
- Format typed Markdown by default in the chat composer by @yongkangc in https://github.com/cfal/garcon/pull/896
- Add shared search to the snippet editor list by @yongkangc in https://github.com/cfal/garcon/pull/903
- Reduce long-running split-chat transcript overhead by @yongkangc in https://github.com/cfal/garcon/pull/904
- Group sidebar chats by machine before project path by @yongkangc in https://github.com/cfal/garcon/pull/901
- Upgrade dependencies and migrate to SvelteKit 3 by @cfal in https://github.com/cfal/garcon/pull/907
- Fix SvelteKit CSS sourcemap warnings by @cfal in https://github.com/cfal/garcon/pull/908
- Add a saved composer format and harden Markdown editing by @cfal in https://github.com/cfal/garcon/pull/906
- Fix vendor chunk timing warning by @cfal in https://github.com/cfal/garcon/pull/909
- Add coordinated Lagoon, Rose, and Moss themes by @cfal in https://github.com/cfal/garcon/pull/912
- Add date templates and scheduled task names and titles by @cfal in https://github.com/cfal/garcon/pull/911
- Add Paper and Slate themes and polish themed controls by @cfal in https://github.com/cfal/garcon/pull/913
- Browse other machines’ pinned paths in a compact picker by @yongkangc in https://github.com/cfal/garcon/pull/910
- Preserve punctuation in transcript search identifiers by @cfal in https://github.com/cfal/garcon/pull/915
- Clarify literal search behavior in the Captain preamble by @cfal in https://github.com/cfal/garcon/pull/916
- Review pull requests automatically and add a GitHub Views inbox by @yongkangc in https://github.com/cfal/garcon/pull/898
- Upgrade Claude Code to 2.1.303 by @cfal in https://github.com/cfal/garcon/pull/920
- Upgrade OpenCode SDK and runtime to 1.19.3 by @cfal in https://github.com/cfal/garcon/pull/918
- Upgrade Codex app-server to 0.163.0 by @cfal in https://github.com/cfal/garcon/pull/921
- Upgrade Pi integration from 1.1.0 to 1.3.0 by @cfal in https://github.com/cfal/garcon/pull/919
- Apply Markdown formatting to New Chat prompts by @yongkangc in https://github.com/cfal/garcon/pull/914
- Add on/off switches for scheduled prompts by @yongkangc in https://github.com/cfal/garcon/pull/917
- Open inline image thumbnails in the image viewer by @cfal in https://github.com/cfal/garcon/pull/922
- Add configurable Mermaid thumbnails and click-to-open viewing by @cfal in https://github.com/cfal/garcon/pull/923
- Fix spacing around chat images and Mermaid diagrams by @cfal in https://github.com/cfal/garcon/pull/925
- Use executor terminology in place of machine by @cfal in https://github.com/cfal/garcon/pull/924
- Cache inline images across chat switches by @cfal in https://github.com/cfal/garcon/pull/926
- Allow attaching files of any type, including CSV and Excel by @yongkangc in https://github.com/cfal/garcon/pull/928
- Fix responsive focus and Chromium test races by @cfal in https://github.com/cfal/garcon/pull/927
- Support app slash commands in Shell chats by @cfal in https://github.com/cfal/garcon/pull/929
- Add in-place retries for Markdown images by @cfal in https://github.com/cfal/garcon/pull/930
- Fix restart collisions, picker focus, and CI diagnostics by @cfal in https://github.com/cfal/garcon/pull/931
- Fix slow browser reconnection after mobile suspension by @0xSolarPunk in https://github.com/cfal/garcon/pull/932
- Give the sidebar a clear executor, project, and chat hierarchy by @yongkangc in https://github.com/cfal/garcon/pull/933
- Keep pinned path pills compact on touch devices by @cfal in https://github.com/cfal/garcon/pull/934
- Add scheduled task management to garcon-cli by @cfal in https://github.com/cfal/garcon/pull/937
- Upgrade Pi integration from 1.3.0 to 1.4.0 by @cfal in https://github.com/cfal/garcon/pull/942
- Upgrade OpenCode SDK and runtime to 1.19.4 by @cfal in https://github.com/cfal/garcon/pull/941
- Upgrade Codex app-server to 0.164.0 by @cfal in https://github.com/cfal/garcon/pull/943
- Upgrade Claude Code to 2.1.310 by @cfal in https://github.com/cfal/garcon/pull/944
- Reduce browser stalls from highlighting and transcript caching by @cfal in https://github.com/cfal/garcon/pull/946
- Fix Git tray stalls and unify the commit button by @cfal in https://github.com/cfal/garcon/pull/947
- Align the Git untracked indicator with summary text by @cfal in https://github.com/cfal/garcon/pull/948
- Add terminal appearance and scoped typography settings by @cfal in https://github.com/cfal/garcon/pull/940
- Add GPT-6.1 Terra support to Codex by @cfal in https://github.com/cfal/garcon/pull/950
- Link the pull request title to GitHub by @yongkangc in https://github.com/cfal/garcon/pull/952
- Fix stuck execution ownership after transcript storage failure by @0xSolarPunk in https://github.com/cfal/garcon/pull/935
- Revalidate new-chat paths after directory creation by @0xSolarPunk in https://github.com/cfal/garcon/pull/945
- Strengthen test coverage and CI enforcement by @cfal in https://github.com/cfal/garcon/pull/953
- Fix false checkmarks on hovered menu items by @cfal in https://github.com/cfal/garcon/pull/955
- Keep share links out of search indexes and stop leaking local metadata by @yongkangc in https://github.com/cfal/garcon/pull/936
- Group Git views in the adaptive window titlebar by @cfal in https://github.com/cfal/garcon/pull/959
- Fix inconsistent Terminal-style corners in chat by @cfal in https://github.com/cfal/garcon/pull/956
- Add chat appearance controls by @cfal in https://github.com/cfal/garcon/pull/960
- perf: Validate explicitly selected New Chat paths immediately by @yongkangc in https://github.com/cfal/garcon/pull/958
- perf: Share sidebar projection across navigation and rendering by @yongkangc in https://github.com/cfal/garcon/pull/957
- Add a Usage surface with Claude and Codex token cost by @yongkangc in https://github.com/cfal/garcon/pull/951
- Open forked chats in a split window beside their source by @yongkangc in https://github.com/cfal/garcon/pull/961
- perf: Fix mobile resume authentication and WebSocket retry delays by @yongkangc in https://github.com/cfal/garcon/pull/969
- Reduce web font downloads while preserving rendering by @yongkangc in https://github.com/cfal/garcon/pull/971
- Upgrade Claude Code to 2.1.316 by @cfal in https://github.com/cfal/garcon/pull/976
- Upgrade OpenCode SDK and runtime to 1.19.5 by @cfal in https://github.com/cfal/garcon/pull/975
- Upgrade Codex app-server to 0.166.0 by @cfal in https://github.com/cfal/garcon/pull/977
- Unify blocking questions across providers by @cfal in https://github.com/cfal/garcon/pull/979
- Increase automatic refill for collapsed tool history by @cfal in https://github.com/cfal/garcon/pull/980
- Keep large diffs responsive with a bounded browser Worker by @cfal in https://github.com/cfal/garcon/pull/981
- Add Tauri native client and platform builds by @cfal in https://github.com/cfal/garcon/pull/978
- Improve first-load setup and sidebar defaults by @cfal in https://github.com/cfal/garcon/pull/985
- Prepare v0.4.0 releases with native previews by @cfal in https://github.com/cfal/garcon/pull/986
New Contributors
Full Changelog: v0.3.3...v0.4.0