What's Changed
- Fix sidebar PR status polling rate limits by @austinywang in #2585
- ci: only enforce Sparkle monotonic check on release by @austinywang in #2651
- Add settings.json review guardrail for Settings rows by @lawrencecchen in #2655
- Configurable surface tab bar font size by @austinywang in #2645
- Add a system-wide hotkey to show and hide cmux windows by @austinywang in #2389
- Add passkey, WebAuthn, and FIDO2 support to browser pane by @austinywang in #2660
- Fix workspace color picker context menu blinking by @austinywang in #2566
- Hide stale startup workspace portals during teardown by @austinywang in #2658
- Coalesce sidebar PR polling per-repo, drop checks fetch, state-machine the probe queue by @austinywang in #2662
- Fix nightly codesign: sign CmuxDockTilePlugin and other nested bundles by @austinywang in #2676
- Fix nightly codesign: sign Sparkle nested executables and dock tile plugin by @austinywang in #2677
- Fix codesign: drop -perm filter so Sparkle Autoupdate gets signed by @austinywang in #2679
- Fix codesign: path filter excluded all files inside outer .app by @austinywang in #2680
- Revert passkey stack (nightly broken; users can't launch) by @austinywang in #2681
- Update ghostty submodule to latest upstream (112 commits past v1.3.1) by @lawrencecchen in #2704
- Auto-hide terminal scroll bar fixes 2674 by @austinywang in #2678
- Fix terminal selection autoscroll past viewport edge by @austinywang in #2725
- Add Cursor and Gemini CLI agent integrations + setup-hooks by @lawrencecchen in #2717
- Fix minimal-mode traffic-light inset for new workspaces by @austinywang in #2740
- Fix command-hold shortcut hints and prevent sidebar truncation by @lawrencecchen in #2767
- Fix Raycast paste fallback regression by @austinywang in #2768
- Fix up/down arrow keys in browser surface by @austinywang in #2780
- Fix Cmd+Shift+V paste in browser pane by @austinywang in #2779
- Fix shell integration (report_pwd) not injected — ZDOTDIR override by @michaeljauk in #2778
- Fix Cmd+click file path punctuation trimming by @austinywang in #2831
- fix: allow symlinked Ghostty config files by @ivanrvpereira in #2813
- Fix paste only pasting first character (#2805) by @dezren39 in #2847
- Fix blank split panes after portal reveal by @jaynora2026 in #2840
- Add Finder-like file explorer sidebar with SSH support by @lawrencecchen in #1963
- Fix macOS modifier desync causing idle terminal input corruption by @austinywang in #2855
- chore: stop tracking node_modules by @lawrencecchen in #2875
- Fix flaky FileExplorerStoreTests (macOS Compatibility) by @lawrencecchen in #2880
- Refactor app icon appearance handling by @lawrencecchen in #2876
- Prune old nightly release assets before publish by @lawrencecchen in #2882
- Revert "Refactor app icon appearance handling (#2876)" by @lawrencecchen in #2883
- fix: prefer UTF-8 plain text in pasteboard to avoid Mac OS Roman loss by @dasanworld in #2877
- Suppress right-edge scroll bar on TUI alt-screen and add disable setting (fixes 2728) by @austinywang in #2729
- Fix appIcon=automatic crash on macOS Tahoe by @austinywang in #2833
- Fix PortScanner subprocess pipe fd leak by @austinywang in #2893
- Persist app icon mode on the app bundle by @lawrencecchen in #2884
- Passkey / WebAuthn / FIDO2 support in browser pane (fresh implementation) by @austinywang in #2727
- Revert application-identifier injection from nightly signing by @lawrencecchen in #2902
- Inside-out signing with per-binary entitlements for passkeys on notarized Developer ID by @lawrencecchen in #2905
- Refactor cmux bundle signing: shared script + checked-in entitlements (competing with #2906) by @lawrencecchen in #2908
- Add opt-in setting to open Cmd-clicked markdown files in cmux viewer by @SeongJaeSong in #2904
- Add --layout to workspace.create for programmatic split layouts by @talldan in #2916
- feat(i18n): complete Korean (ko) localization for macOS app by @say8425 in #2885
- Fix scrollback-limit byte handling by @austinywang in #2927
- reload.sh: always kill same-tag app after build by @lawrencecchen in #2956
- Add Sessions panel to right sidebar by @lawrencecchen in #2936
- Fix bilibili search popup opening detached window by @austinywang in #2836
- Fix startup hang from repeated file drop overlay install by @austinywang in #2972
- Fix OpenCode bracketed paste fallback in terminal by @austinywang in #2971
- Fix main CI by deferring file-drop overlay retries by @austinywang in #2979
- Fix LinkedIn external-link redirect handoff in browser pane (#2928) by @austinywang in #2930
- Fix close confirmation bypass when spamming close by @austinywang in #2989
- Keep LazyVStack virtualization; isolate drag state + Equatable row snapshots by @lawrencecchen in #2970
- Sessions popover: cancel drag on Escape (followup to #2970) by @lawrencecchen in #2995
- Fix Cmd/Ctrl shortcut hint parity (#2992) by @austinywang in #2994
- Speed up large terminal pastes (#2940) by @austinywang in #3000
- Fix sessions panel CPU loop on nightly by @austinywang in #3013
- Fix #3011 blank terminal after workspace selection by @austinywang in #3012
- Serialize xcodebuild and fetch prebuilt GhosttyKit to unblock Xcode 26 builds by @austinywang in #2981
- Fix 100% CPU from ContentView publisher feedback loop (fixes #3020) by @austinywang in #3028
- Pin regular-weight Japanese auto-fallback face by @austinywang in #3015
- Bring minimal macOS auth scaffolding to main by @lawrencecchen in #3027
- Fix DebugEventLog NSFileHandle ObjC exception crash by @austinywang in #3034
- Add unified config settings utility window by @austinywang in #3024
- Trim Stack Auth env values before StackServerApp by @lawrencecchen in #3041
- Use site Geist fonts on Stack Auth handler pages by @lawrencecchen in #3043
- Fix terminal blanking after OSC completion notifications by @austinywang in #3048
- Use workspace color for selected sidebar rows by @lawrencecchen in #3038
- Explain shortcut recorder rejections inline (fixes #2988) by @austinywang in #3035
- Drop stale merged PR from sidebar badge selection (#3054) by @lawrencecchen in #3063
- Fix main-thread blocking in workspace PR refresh by @austinywang in #3036
- Fix AX window polling stalls with app hierarchy caching by @austinywang in #2986
- Issue 3081 workspace color left rail by @austinywang in #3082
- Reduce idle overlay animation log churn by @austinywang in #3078
- Revert "Reduce idle overlay animation log churn" by @austinywang in #3086
- Fix minimal-mode traffic-light inset and new-window Bonsplit tab bar by @lawrencecchen in #3055
- Split easy support code out of large Swift files by @lawrencecchen in #3102
- Split AppDelegate support code into focused files by @lawrencecchen in #3104
- Apply sidebar background to right panel by @lawrencecchen in #3103
- Restore previous sessions and resume agents by @austinywang in #2978
- Add configurable cmux.json workspace and tab bar actions by @lawrencecchen in #3084
- Decouple debug logging from Bonsplit by @lawrencecchen in #3128
- Improve default light and dark theme fallback by @lawrencecchen in #3123
- Keep selected workspace visible in sidebar by @lawrencecchen in #3152
- Hide portals for unmounted workspaces by @lawrencecchen in #3155
- Fix multi-workspace close confirmation modality by @lawrencecchen in #3153
- Add Feed sidebar + cmux feed-hook + OpenCode plugin (workstream MVP) by @lawrencecchen in #3057
- Route main window bootstrap through AppDelegate by @lawrencecchen in #3164
- Fix nightly Release build debug feed guards by @lawrencecchen in #3169
- Add Release build guard to CI by @lawrencecchen in #3170
- fix: add AppleEvents usage description by @lawrencecchen in #3173
- Quiet reload.sh: log to file, summary on success, dump on failure by @lawrencecchen in #3174
- Refactor window backdrop policies by @lawrencecchen in #3166
- cmux vm: cloud VM backend + mac-side skip-bootstrap for Freestyle by @lawrencecchen in #3046
- Fix feedback editor scrolling by @lawrencecchen in #3182
- Add menu bar only mode by @lawrencecchen in #3181
- Harden cloud VM production controls by @lawrencecchen in #3185
- Add copy ID actions to context menus by @lawrencecchen in #3183
- Disable right sidebar horizontal scroll by @lawrencecchen in #3202
- Harden Cloud VM ops workflows by @lawrencecchen in #3196
- Pin Cloud VM smoke workflow checkout by @lawrencecchen in #3209
- Fix transparent titlebar backdrop matching by @lawrencecchen in #3179
- Update GitHub actions to Node 24 by @lawrencecchen in #3210
- Clean up Claude session titles by @lawrencecchen in #3211
- Keep Cmd-Shift-N windows on source display by @lawrencecchen in #3214
- Fix Go cache dependency path by @lawrencecchen in #3213
- Update Ghostty upstream by @lawrencecchen in #3216
- Harden Cloud VM create limits by @lawrencecchen in #3219
- Add Swift warning budget CI guard by @lawrencecchen in #3220
- Add Swift file length budget CI guard by @lawrencecchen in #3223
- Restore cmux themes Enter apply by @lawrencecchen in #3221
- Split CLI theme command out of cmux.swift by @lawrencecchen in #3226
- Add Kitty graphics protocol verification script by @lawrencecchen in #3225
- Add CLI contract help checks by @lawrencecchen in #3246
- Fix ecosystemd idle overlay churn by @lawrencecchen in #3138
- Fix minimal-mode drag pass-through for new windows by @austinywang in #3194
- Add command palette ID copy actions by @lawrencecchen in #3247
- Add cmux browser disable switch by @lawrencecchen in #3256
- Clean up Sessions preview interactions by @lawrencecchen in #3259
- Fix cmux.json named workspace colors by @lawrencecchen in #3149
- Add settings sidebar shell by @lawrencecchen in #3244
- Improve settings search aliases by @lawrencecchen in #3294
- Add Dock sidebar TUI controls by @lawrencecchen in #3217
- Localize settings search aliases for all locales by @lawrencecchen in #3296
- Show Codex TUI errors in sidebar by @lawrencecchen in #3212
- Fix minimal mode window routing and portal hit testing by @lawrencecchen in #3150
- Fix bare window.open(_blank) routing in browser pane by @austinywang in #3262
- Fix locale separators in sidebar identifiers by @austinywang in #3269
- fix: keep selection highlight uniform across colored and uncolored workspaces (#3308) by @austinywang in #3310
- Select find text on repeated Cmd+F by @lawrencecchen in #3314
- Add hover tooltips to workspace and pane tabs by @lawrencecchen in #3329
- Namespace agent hook CLI commands by @lawrencecchen in #3298
- Add cmux docs and settings CLI guidance by @lawrencecchen in #3295
- Fix terminal portal tab drop routing by @lawrencecchen in #3299
- Add top snapshots and Task Manager window by @lawrencecchen in #3290
- Support macOS clear glass background blur by @lawrencecchen in #3313
- Move tabs into new workspaces by @lawrencecchen in #3285
- Add shared behavior policy to agent notes by @lawrencecchen in #3336
- Add iMessage mode for agent prompts by @lawrencecchen in #3252
- Fix Bonsplit tab bar height by @lawrencecchen in #3331
- Make hook notifications non-blocking by @lawrencecchen in #3218
- Route blocking v2 socket methods off main by @lawrencecchen in #3340
- Harden socket response writes by @lawrencecchen in #3355
- fix: make find escape behavior consistent by @lawrencecchen in #3330
- Update Bonsplit selected tab separator by @lawrencecchen in #3351
- Add sidebar file preview panels by @lawrencecchen in #3139
- Require explicit Dock config by @lawrencecchen in #3366
- Prefer CMUX_SOCKET_PATH in socket tooling by @lawrencecchen in #3364
- Allow keyboard shortcuts to be unbound by @austinywang in #3334
- Fix cmux theme picker Enter from search by @lawrencecchen in #3378
- fix: make Cmd+D new-tab shortcut rebindable via KeyboardShortcutSettings (#2524) by @austinywang in #3338
- Fix browser tab drag to new workspace by @lawrencecchen in #3381
- Add configurable workspace recoloring actions by @austinywang in #3327
- Prevent shortcut recorder keys from navigating Settings by @austinywang in #3377
- Fix sidebar tint transparency backdrop ownership by @lawrencecchen in #3382
- Add Dock documentation page by @lawrencecchen in #3376
- Fix CLI socket wait telemetry by @lawrencecchen in #3361
- Improve Dock agent prompt docs by @lawrencecchen in #3393
- Update Ghostty for iOS manual IO by @lawrencecchen in #3394
- Fix minimal-mode pane tab rendering by @lawrencecchen in #3399
- Make plus button actions configurable by @lawrencecchen in #3348
- Consolidate sidebar settings by @lawrencecchen in #3400
- Bridge OpenCode plan approvals into Feed by @lawrencecchen in #3405
- Search Codex rollout content from sessions sidebar by @lawrencecchen in #3396
- Add command palette actions for right sidebar modes by @lawrencecchen in #3408
- Make cmux.json the canonical settings file by @lawrencecchen in #3409
- Tune Bonsplit tab bar action lane by @lawrencecchen in #3406
- Fix custom commands docs formatting by @lawrencecchen in #3404
- Add CircleCI CI pipeline by @lawrencecchen in #3312
- Route Codex permission approvals through Feed by @lawrencecchen in #3420
- Add cmux Help menu resources by @lawrencecchen in #3402
- Add agent-readable page variants by @lawrencecchen in #3410
- Share workspace pin action path by @lawrencecchen in #3425
- Fix browser omnibar typing lag with many workspaces by @lawrencecchen in #3422
- Persist session snapshot when closing the last window via the red X by @austinywang in #3419
- Fix shortcut recorder capture for Cmd-D remaps by @austinywang in #3398
- Add Command Palette action to open cmux.json by @lawrencecchen in #3424
- Fix launch theme before app appearance exists by @lawrencecchen in #3431
- Fix browser tab drops into sidebar workspaces by @lawrencecchen in #3430
- Clamp Settings window away from display edge by @lawrencecchen in #3436
- Add Cloud VM plus menu action by @lawrencecchen in #3432
- Limit free Cloud VM creates with Stack credits by @lawrencecchen in #3437
- Fix terminal focus after browser split by @lawrencecchen in #3460
- Recover TabManager routes for live terminal surfaces by @austinywang in #3429
- Follow up equalize splits shortcut fixes by @austinywang in #3309
- Fix CircleCI Bun install prefix by @lawrencecchen in #3469
- Lazy load feed activity history by @lawrencecchen in #3457
- Disable Claude OSC notifications in cmux wrapper by @lawrencecchen in #3418
- Move automatic macOS checks to CircleCI by @lawrencecchen in #3472
- Gate Claude OSC suppression on integration setting by @lawrencecchen in #3474
- Move nightly and release publishing to CircleCI by @lawrencecchen in #3477
- Fix editable shortcuts from settings.json by @austinywang in #3462
- Make reload and rename shortcuts context-aware by @austinywang in #3468
- Split sidebar PR visibility from clickability by @austinywang in #3273
- Fix shortcut settings dispatch_once launch crash by @austinywang in #3455
- Optimize surface config reload by @lawrencecchen in #3480
- Fix settings-file launch crash paths by @austinywang in #3476
- Keep release publishing on WarpBuild by @lawrencecchen in #3483
- Add focus-neutral split-off layout command by @lawrencecchen in #3484
- Use Greptile and CodeRabbit for Swift lint rules by @lawrencecchen in #3493
- Make sidebar PR clickability default on by @austinywang in #3492
- Fix live theme picker application by @austinywang in #3479
- Tighten CodeRabbit Swift lint enforcement by @lawrencecchen in #3496
- Add review bot file boundary rule by @lawrencecchen in #3498
- Fix OpenCode feed plugin resource lookup by @lawrencecchen in #3501
- ci(circleci): require manual approval before macOS jobs run by @lawrencecchen in #3503
- Preserve Codex session persistence across relaunch by @lawrencecchen in #3487
- Restore sidebar edge fades by @lawrencecchen in #3502
- Preserve context-separated shortcuts through recorder swaps by @austinywang in #3489
- Only gate forked CircleCI PR builds by @lawrencecchen in #3515
- Allow space as a bindable key in custom keybindings by @austinywang in #3333
- Rename right sidebar Sessions to Vault by @lawrencecchen in #3528
- Fix Cmd+Shift+Enter pane zoom for browser panes by @austinywang in #3520
- Fix SSH LocalCommand incompatibility with Fish shell (#2706) by @austinywang in #3506
- Add task manager workspace and terminal jumps by @lawrencecchen in #3471
- Fix #3069 non-ASCII Cmd+V paste when rich clipboard payloads are lossy by @austinywang in #3268
- fix: deduplicate numpad input across IME full-to-half-width transition (#3284) by @austinywang in #3292
- fix: make Ctrl+P command palette navigation remappable (#1713) by @austinywang in #3335
- Add Rovo Dev sessions to Vault by @lawrencecchen in #3530
- Fix inherited Claude auth env in cmux terminals by @lawrencecchen in #3519
- Fix notification dismissal with stale app focus by @lawrencecchen in #3532
- Fix config window to open active cmux Ghostty config by @austinywang in #3525
- Harden SSH LocalCommand fish reconnect regression by @austinywang in #3534
- Fix OMX HUD bottom pane placement by @austinywang in #3516
- Add Gemini and Rovo Dev session hooks by @lawrencecchen in #3535
- Add activation session performance benchmark by @lawrencecchen in #3207
- Add beta feature toggles for Feed and Dock by @lawrencecchen in #3537
- Fix unbound Cmd+Shift forwarding to terminal (#1718) by @austinywang in #3332
- Release v0.64.0 by @austinywang in #3544
New Contributors
- @michaeljauk made their first contribution in #2778
- @ivanrvpereira made their first contribution in #2813
- @dezren39 made their first contribution in #2847
- @jaynora2026 made their first contribution in #2840
- @dasanworld made their first contribution in #2877
- @SeongJaeSong made their first contribution in #2904
- @talldan made their first contribution in #2916
- @say8425 made their first contribution in #2885
Full Changelog: v0.63.2...v0.64.0