What's Changed
- Reclaim offscreen terminal renderer GPU memory (IOSurface) non-destructively by @lawrencecchen in #5857
- Email Founder's Edition customers a welcome note via Resend webhook by @austinywang in #5994
- fix: honor Focus / Do Not Disturb for the fallback notification sound by @Reebz in #5651
- iOS workspace list: groups, unread dots, last-activity previews, shared Unread filter by @lawrencecchen in #5726
- Refresh Swift file length budget after #5651 by @lawrencecchen in #6018
- cloud-testflight: --marketing-version override so uploads outrank installed builds by @lawrencecchen in #5858
- Extract NotificationSoundSettings to restore the Swift file length budget by @lawrencecchen in #6020
- Dedupe TerminalNotificationStore.swift in the Swift file length budget by @lawrencecchen in #6025
- iOS sign-out: local-first, offline-safe, bounded best-effort revocation by @lawrencecchen in #5776
- Sidebar perf: kill the LazyVStack layout livelock (combined: 6019 + 6021 + 6026) by @azooz2003-bit in #6033
- iOS: add workspace row actions by @azooz2003-bit in #6022
- iOS notifications: cross-device dismiss-sync + authoritative unread badge by @lawrencecchen in #5916
- CmuxTerminalCore: extract terminal core leaf (interop, key translation, path/link/copy-mode, surface DTOs) by @azooz2003-bit in #5894
- CmuxSidebarGit: extract TabManager git-metadata + PR-polling subsystem (actors behind SidebarGitMetadataServing/PullRequestProbing) by @azooz2003-bit in #5907
- CmuxIPCService: extract AppDelegate multi-window CLI routing (MultiWindowRouter behind MultiWindowRouting) by @azooz2003-bit in #5920
- Sidebar row cleanups: branchless frame anchor, drop description .id, lazy Finder resolve (Fix 5: F9/F11/F13) by @azooz2003-bit in #6052
- Fix OpenWrt BusyBox remote platform probe by @austinywang in #6056
- fix(web): read changelog PNG height from correct IHDR offset by @samuelpatro in #5551
- TabManager decomposition: Wave 3+4 sub-models (Browser/Notifications/Sidebar/Workspaces/Panes/FocusHistory) + settings convergence; TabManager becomes a composition root by @azooz2003-bit in #5921
- uitests: de-flake control-socket readiness wait by @azooz2003-bit in #6062
- Fix iOS workspace swipe-delete confirmation crash by @azooz2003-bit in #6051
- CmuxRemote* family: extract Workspace remote/cloud-VM connectivity (transport, daemon RPC, proxy/relay, session coordinator) by @azooz2003-bit in #5896
- Fix macOS 27 SF Symbol rasterization crash by @austinywang in #5999
- Honor macos-option-as-alt left/right: send sided modifier bits to libghostty by @austinywang in #6007
- Expose stable window title templates by @austinywang in #6059
- Fix #5917: restore OSC 11 pane-local backgrounds by @austinywang in #5997
- Scope Biome checks to maintained JS sources by @austinywang in #6008
- Preserve Pi sessions across workspace restore by @austinywang in #5607
- Speed up iOS terminal scroll rendering by @azooz2003-bit in #6035
- Fix Cmd+T cwd after session restore by @austinywang in #6055
- AppDelegate decomposition: CmuxSession session-snapshot repository (stack C) by @azooz2003-bit in #6030
- Fix terminal arrow key routing for TUI model selection by @austinywang in #6002
- CmuxTerminalEngine + CmuxTerminalServices: extract the embedded Ghostty engine and pasteboard service by @azooz2003-bit in #5929
- Expose workspace custom title to control socket by @lawrencecchen in #6013
- Fix stale Metal drawable after terminal layer realization by @austinywang in #6057
- Device presence service: Cloudflare Durable Objects realtime layer over the device registry by @lawrencecchen in #5792
- Workspace god-model split: CmuxWorkspaceCore + Wave-3 value vocabulary (stack B) by @azooz2003-bit in #5991
- GhosttyTerminalView decomposition: terminal surface model (stack D) by @azooz2003-bit in #6024
- Smooth iOS terminal scrollback with local prefetch by @azooz2003-bit in #6067
- Fix Mermaid diagrams scaling in markdown viewer zoom by @austinywang in #6072
- Freeform 2D canvas layout for workspace panes by @azooz2003-bit in #5987
- Lock native auth URL against locale-prefixed paths by @austinywang in #6075
- Reduce iOS workspace row swipe contention by @azooz2003-bit in #6064
- Fix minimal UI terminal top-row hit testing by @austinywang in #6073
- Require matching email for iOS pairing by @lawrencecchen in #6028
- Fix unexpected menu-bar-only activation policy by @austinywang in #6068
- Fall back to SSH when Cloud VM attach endpoint is unavailable by @lawrencecchen in #6079
- ContentView drain: command palette (stack E) by @azooz2003-bit in #6029
- Add cmux diff language highlighting aliases by @lawrencecchen in #6076
- Lift ClosedBrowserPanelRestoreSnapshot into CmuxBrowser by @azooz2003-bit in #6080
- Fix browser omnibar Return submitting stale text during fast typing by @austinywang in #5923
- Fix iOS email code sign-in nonce preservation by @austinywang in #6097
- Fix top-right titlebar drag chrome by @austinywang in #6003
- Avoid mirroring web proxies as CONNECT by @austinywang in #5959
- cmuxApp Wave-2 drain: settings repos onto CmuxSettings + CmuxFileOpen/CmuxRuntimeDebug/CmuxTestSupport by @azooz2003-bit in #5922
- ContentView drain: lift WorkspaceMountPolicy trio to CmuxFoundation by @azooz2003-bit in #6115
- Make Codex hooks fire-and-forget by @lawrencecchen in #6110
- Remove compact workspace row tap gestures by @azooz2003-bit in #6124
- Optically center Apple logo in hero "Download for Mac" button by @austinywang in #5824
- Fix sidebar row-height layout feedback by @lawrencecchen in #6111
- Cover Ghostty split theme foreground override by @austinywang in #4796
- Fix iOS TestFlight APNs entitlement export by @lawrencecchen in #6131
- Surface a browser fallback when Safari sign-in hangs (#6015) by @austinywang in #6113
- Fix terminal top-row mouse event routing by @austinywang in #4391
- Add per-workspace environment variables inherited by every shell (#5995) by @austinywang in #6116
- iOS: add Shift key to the terminal keyboard toolbar by @austinywang in #6104
- Fix stale remote connected state after proxy disconnect by @austinywang in #4513
- CmuxFoundation: dissolve namespace-enums into value types / owning-type members by @azooz2003-bit in #6128
- CmuxCommandPalette: dissolve namespace-enums into value objects / services by @azooz2003-bit in #6127
- Dissolve remaining namespace-enums (CmuxFeedback/CmuxAppKitSupportUI/CmuxWorkspaceCore/CmuxSidebarProviderKit/CmuxTerminalCore) into value types by @azooz2003-bit in #6126
- Configurable file explorer double-click action (preview | defaultEditor | preferredEditor) by @austinywang in #5827
- AppDelegate: extract NotificationNavigationCoordinator into CmuxNotifications (DI seams, testable) by @azooz2003-bit in #6129
- Extract browser-search settings into CmuxSettings (Wave-2 store, no namespace enum) by @azooz2003-bit in #6143
- feat: opt-in AI auto-naming of workspaces and tabs from agent conversations by @mvanhorn in #5547
- Polish canvas minimap navigation by @azooz2003-bit in #6105
- Allow configurable Dock max width by @austinywang in #4385
- Gate remote SSH port scanning on the sidebar ports settings (#6123) by @austinywang in #6136
- Add setting to hide modifier shortcut hints by @austinywang in #6071
- Detect live claude/codex processes so hook-less agent sessions stay fork-able by @austinywang in #6133
- fix: Founder's Edition welcome email — new thread per subscription by @austinywang in #6156
- design+phase1: local-first device list (Durable Object source + local SQLite cache + extensible sync protocol) by @lawrencecchen in #6120
- iOS changelog + auto TestFlight "What to Test" notes by @lawrencecchen in #6154
- Stagger restored terminal surface spawns by @austinywang in #6149
- Release v0.64.16 by @austinywang in #6157
- Raise release build-sign-notarize timeout to 40 minutes by @austinywang in #5969
New Contributors
- @Reebz made their first contribution in #5651
- @samuelpatro made their first contribution in #5551
Full Changelog: v0.64.15...v0.64.16