What's Changed
- Disable move to group with no groups by @lawrencecchen in #6662
- iOS: shrink gap between terminal header and grid by @lawrencecchen in #6651
- web: square the hero screenshot on mobile by @lawrencecchen in #6676
- web: /ios gallery captions + 2-up layout, Claude hero shot by @lawrencecchen in #6699
- Fix diff viewer transparency by @lawrencecchen in #6671
- web: agent landing pages, /agents hub, and JSON-LD across content pages by @lawrencecchen in #6683
- Smooth-fade home page typing caret by @lawrencecchen in #6688
- Fix iOS initial loading and inline recovery UI by @lawrencecchen in #6698
- Keep blocking browser automation off main by @lawrencecchen in #6696
- web: keep landing hero screenshot within viewport with side gutter by @lawrencecchen in #6687
- mobile:
cmux mobile set-fontto live-resize the mirrored iOS terminal by @lawrencecchen in #6674 - Fix workspace group drag drop intent by @azooz2003-bit in #6532
- Home FAQ: route iOS beta early access through cmux Founders Edition by @lawrencecchen in #6695
- Bump Sparkle to 2.9.3 to fix auto-update agent kill on macOS 26 by @lawrencecchen in #6678
- Revert "Fix workspace group drag drop intent (#6532)" — crashes app-host on main by @lawrencecchen in #6713
- web: platform picker on the Download button by @lawrencecchen in #6679
- ci(reload-build): build CmuxIrohFFI xcframework on the iOS lane by @lawrencecchen in #6716
- Fix Canvas keyboard shortcut routing by @azooz2003-bit in #6704
- Open local HTML previews without stealing focus by @lawrencecchen in #6717
- Add React base UI review rule by @lawrencecchen in #6720
- web: Slack notification on waitlist signup by @lawrencecchen in #6722
- Animate iOS page images in on scroll like the home page by @lawrencecchen in #6729
- iOS: accurate connection error + per-route Ping on Computers screen by @lawrencecchen in #6730
- remote-tmux: place mirror new tab per cmux newTabPosition, inheriting the active tab's cwd by @robertnisipeanu in #6439
- Only double precise scroll deltas for gesture devices (fix high-res mouse runaway scroll) by @samuelpatro in #6449
- Coalesce duplicate iOS paired Macs by @lawrencecchen in #6737
- Fix iOS auth error handling by @austinywang in #6752
- Restore WebAuthn bridge injection by @lawrencecchen in #6718
- feat: adding basic auth modal support by @lucaspiritogit in #2500
- Fix remote SSH workspace cwd tracking by @austinywang in #6747
- fix(cli): default workspace-scoped commands to the caller's workspace, not the focused one by @lawrencecchen in #6757
- Reject undeliverable waitlist emails (MX + disposable check) by @lawrencecchen in #6735
- Assert minimum tmux 3.2 for cmux ssh-tmux; fail clearly on old servers by @mxschmitt in #6755
- Bound waitlist email validation with fail-open timeouts by @lawrencecchen in #6765
- Fit user prompt bubble width on first render by @azooz2003-bit in #6727
- ios landing: size hero phones like gallery images by @lawrencecchen in #6779
- ios landing: add centered TestFlight + GitHub CTA at bottom by @lawrencecchen in #6782
- Fix Computers remove confirmation row anchoring by @azooz2003-bit in #6770
- Gate iOS onboarding only on seen state by @azooz2003-bit in #6783
- Scope iOS workspaces by Mac and build tag by @azooz2003-bit in #6772
- Fix ssh-tmux remote path and attach seeding by @jaredatch in #6778
- Fix macOS 27 symbol launch crash by @azooz2003-bit in #6728
- Fix tab bar modifier-hold layout shift by @lawrencecchen in #6786
- Track iOS keyboard transitions smoothly by @azooz2003-bit in #6723
- Use server redirects for native auth handoff (#5849) by @austinywang in #6805
- iOS: remove Cancel button from sign-in screen by @lawrencecchen in #6797
- Migrate TS typecheck to tsgo (TypeScript 7 native preview) by @lawrencecchen in #6733
- iOS Computers: add "Add Computer" row at end of list by @lawrencecchen in #6802
- Add Sleepy Mode: menubar screensaver + caffeinate by @lawrencecchen in #6740
- Clear iOS workspaces when computers are forgotten by @azooz2003-bit in #6771
- Fix Cmd+I (Show Notifications) breaking italics in browser text editors by @austinywang in #6862
- Cache git dirty snapshots between watcher events by @austinywang in #6795
- Re-land #6532: Fix workspace group drag drop intent by @azooz2003-bit in #6724
- Fix iOS chat top scroll edge blend by @azooz2003-bit in #6910
- agent-session: reliable tracking system + Codex picker GUI + debug trace by @azooz2003-bit in #6798
- Stream agent prose to the iOS chat as it generates (default-off) by @azooz2003-bit in #6731
- Make the right-sidebar Dock a full panel container (terminals + browsers + splits) by @austinywang in #6219
- Fix Claude shim mutual exec loop by @austinywang in #7010
- Fix workspace color picker hue drift by @austinywang in #6762
- Fix light-theme white-on-white from host/surface theme divergence (#6411) by @austinywang in #6896
- Present user with option to proceed anyway on invalid SSL cert error by @deftdawg in #3711
- Fix fish resume: drop POSIX brace grouping from cwd-guard (#6285) by @austinywang in #6328
- Bound app termination with a force-exit watchdog (#6758) by @austinywang in #6837
- Fix browser webview divider resizing by @austinywang in #7038
- Reclaim hidden terminal renderers on memory pressure by @austinywang in #7050
- iOS: fit attachment/image chat bubble to capped width by @austinywang in #6820
- Fix garbled Claude Code TUI in cmux ssh remote workspaces (#6352) by @austinywang in #6831
- Fix iOS pairing stuck on "Checking…": honor manual fallback sign-in callback after popup ends by @austinywang in #6819
- Fix stale sidebar agent status refresh by @austinywang in #6804
- Fix native fullscreen unreachable on the main window (#5933) by @austinywang in #6830
- Move logBackground I/O off the main thread (async background-log writer) by @austinywang in #6823
- Never park the main thread waiting on a socket callback (#5830) by @austinywang in #6860
- Fix notification-list layout thrash on launch (#5794) by @austinywang in #6886
- Fix non-existent commands in /docs/api CLI reference (#5469) by @austinywang in #6851
- Fix macOS 27 launch crash in restore-path content views (#6745) by @austinywang in #6890
- Remote tmux: open shared ControlMaster before the attach burst so all sessions mirror (#6732) by @austinywang in #6839
- Fix zsh shell integration printing
file existsunder noclobber (#6714) by @austinywang in #6815 - iOS: collapse composer band after send (fix stale-tall measurement) by @austinywang in #6811
- Fix iOS edge swipe-back over terminal/browser surfaces by @austinywang in #6824
- Add notifications.suppressOnlyFocusedSurface to narrow implicit notification withdraw by @austinywang in #6893
- Guard workspace sidebar LazyVStack against layout re-livelock (#6384) by @austinywang in #6870
- Resolve update to the latest available version at install time (#6366) by @austinywang in #6853
- Gate DEV/staging builds off the public Sparkle update train by @austinywang in #6817
- iOS: run voice-dictation audio activation off the main thread (fix mic-button animation lag) by @austinywang in #6868
- Browser: don't let unfocused omnibar submit on physical Enter (#6250) by @austinywang in #6818
- Update built-in Pi hook integration by @austinywang in #7008
- Preserve plain ANTHROPIC_MODEL inside cmux so Opus keeps the Max-plan 1M window by @austinywang in #7059
- Deflake display resolution liveness UI test by @austinywang in #7062
- Fix browser mTLS client certificate challenges by @austinywang in #7040
- [codex] Always enable agent prose streaming by @azooz2003-bit in #7066
- Fix Dock terminal reattach on move by @austinywang in #7055
- Align iOS workspace toolbar titles by @azooz2003-bit in #7056
- Keep mobile chat GUI cached during reconnect by @azooz2003-bit in #7064
- Fix titlebar SF Symbol raster sizing by @austinywang in #7074
- Fix iOS chat transcript expansion anchoring by @azooz2003-bit in #7057
- Keep iOS workspace toolbar visible before sessions by @azooz2003-bit in #7078
- Fix browser downloads from subframes by @austinywang in #6756
- Fix iOS chat keyboard scroll edge bleed by @azooz2003-bit in #7072
- Add empty workspace group entrypoints by @azooz2003-bit in #7061
- Fix iOS Mac picker device parity by @austinywang in #7083
- Fix mobile chat shortcut scroll edge blur by @azooz2003-bit in #7051
- Flatten mobile terminal switcher menu by @austinywang in #7087
- Use full-height primary terminal output on iOS by @azooz2003-bit in #7071
- Fix workspace number shortcut rebinding by @austinywang in #5616
- Fix oh-my-zsh agent auto-resume by @austinywang in #7089
- Fix minimal mode toggle relayout hang by @austinywang in #7076
- Fix iOS workspace title toolbar island by @austinywang in #7092
- Fix iOS workspace filter machine snapshots by @austinywang in #7095
- Revert "Flatten mobile terminal switcher menu" by @austinywang in #7097
- Fix iOS Mac switching from workspace picker by @austinywang in #7096
- Recover iOS terminal render pipeline stalls by @austinywang in #7098
- Fix sidebar scroll render storm by @austinywang in #7117
- Refine iOS workspace picker loading state by @azooz2003-bit in #7114
- Preserve iOS chat scroll momentum by @azooz2003-bit in #7109
- Keep iOS chat top edge visible during keyboard by @azooz2003-bit in #7112
- Open the ssh-tmux auth ControlMaster in the foreground (drop -f) for a deterministic handoff by @ejc3 in #7063
- Route terminal file URL links to the OS by @austinywang in #7122
- remote-tmux: strip the screen/tmux ESC k window-title escape from mirror output by @ejc3 in #7023
- Allow Cmd-Space IME switching in workspace description editor by @austinywang in #6956
- Browser pane: keep loopback bypass for *.localhost under "Exclude simple hostnames" by @austinywang in #6827
- Fix report_pwd display labels as file roots by @austinywang in #4608
- Add RTL terminal shaping support by @essamgouda97 in #7019
- remote-tmux: recover interactive SSH auth when a ProxyCommand transport closes silently by @ejc3 in #7020
- Fix iOS workspace back button rendering as an oversized glass square by @lawrencecchen in #7148
- Fix iOS render-grid replay column drift by @austinywang in #7115
- Allow account switching after native sign-in by @lawrencecchen in #7146
- Fix tab bar width shift on surface focus by @lawrencecchen in #6812
- Fix iOS bottom-scroll viewport anchoring by @lawrencecchen in #7153
- Fix iOS GUI chat top flash by @azooz2003-bit in #7108
- Keep forkable sessions with stale pids by @lawrencecchen in #6803
- Scrub Claude nested session env on resume by @azooz2003-bit in #7029
- Decouple scroll from full-window relayout (drop NSWindow.didUpdate follow-up wake) by @lawrencecchen in #6801
- iOS: rebuild the disconnected Your Computers screen as a real list by @lawrencecchen in #7156
- Fix iOS toolbar glass and lifecycle by @azooz2003-bit in #7116
- perf(sidebar): throttle immediate observation publisher to coalesce agent title bursts by @lawrencecchen in #6807
- Add configurable TextBox submit actions by @lawrencecchen in #6656
- Run file explorer git status without optional locks by @austinywang in #7173
- iOS terminal: fill available vertical space; fix stale viewport echo letterbox (top gap) by @lawrencecchen in #7150
- Fix iOS render-grid load garble (#7159) by @austinywang in #7171
- Gate agent notifications on background work + per-category settings by @lawrencecchen in #7129
- Give every window its own independent Dock by @austinywang in #7144
- Fix iOS terminal cold attach first paint by @austinywang in #7172
- Document one-time iOS dev auth setup by @azooz2003-bit in #7215
- Fix iOS terminal typing render-grid drift by @austinywang in #7175
- Rescue split/new-tab cwd inheritance while a resumed agent holds the pane (#7155) by @austinywang in #7165
- iOS: let sideloaded dev builds pair with release Macs (--prod-auth) and explain cross-channel QR failures truthfully by @austinywang in #7149
- Stabilize iOS workspace toolbar after terminal attach by @azooz2003-bit in #7213
- Fix iOS render grid row replay after resize by @austinywang in #7176
- Keep managed default theme when user sets individual color keys by @austinywang in #7217
- Support Arc cookie import by @lawrencecchen in #7224
- Add zoom shortcuts for text file previews by @Nauxie in #7157
- Route PostHog feature flags through managed proxy by @lawrencecchen in #7232
- Add SEO guides for feature workflows by @lawrencecchen in #7247
- Enforce the sidebar lazy-layout contract: behavioral scale gate + row-view guard by @lawrencecchen in #7221
- Add terminal Fork Conversation context menu by @lawrencecchen in #7259
- Fix iOS chat keyboard bottom underlap by @azooz2003-bit in #7233
- Fix nightly updater pill install retry by @austinywang in #7237
- Fix workspace switch latency from hibernation portal reconcile by @austinywang in #7236
- Reduce workspace switch portal hide work by @austinywang in #7231
- Add pane border color settings by @austinywang in #7239
- Remove chat shortcut row hard stop by @azooz2003-bit in #7241
- feat(cmuxd-remote): expand relay CLI — v2-only protocol, new commands and flags by @lauzierj in #7139
- docs: add WeChat community QR by @austinywang in #7282
- Revert "docs: add WeChat community QR" by @austinywang in #7284
- docs: add WeChat QR to README community sections by @austinywang in #7285
- Document first-pass dogfood handoff with background CI/review subagents by @lawrencecchen in #7260
- Fix malformed LC_ALL collapsing spawned-shell locale to C (#7152) by @austinywang in #7183
- Improve Claude GUI mode detection for iOS by @azooz2003-bit in #7067
- Suppress codex's blocking startup update prompt on cmux-driven resumes by @lawrencecchen in #7222
- iOS: support arbitrary terminal themes by @lawrencecchen in #6664
- Honor libghostty mouse-cursor-shape (OSC 22) requests by @lawrencecchen in #7318
- Forward right/middle mouse drags to Ghostty (fixes tmux right-click menu) by @lawrencecchen in #7319
- Update Ghostty upstream (merge ghostty-org/ghostty main through d560c645) by @lawrencecchen in #7320
- Add waitlist link to platforms FAQ answer by @lawrencecchen in #7307
- Tighten Download for Mac divider padding by @lawrencecchen in #7257
- CLI: shorter unknown-command errors with suggestions, copy polish by @lawrencecchen in #7329
- iOS terminal: optimistically scroll to bottom when the user types while scrolled up by @lawrencecchen in #7196
- Fix NIGHTLY update never installing (Update Available loop) by @lawrencecchen in #7174
- Add first-party client config API for flags by @lawrencecchen in #7255
- Fix cmux ssh against hosts configured with RemoteCommand/RequestTTY by @austinywang in #7359
- CI: default macOS-15 jobs to WarpBuild instead of dead Blacksmith pool by @lawrencecchen in #7393
- Merge sidebar inline rename by @austinywang in #7395
- Inline rename for sidebar workspace rows (double-click to edit) by @smorin in #6527
- Fix client config env guard for local builds by @lawrencecchen in #7386
- control socket: move CLI command handling off the main thread (tranches A-E of #5757) by @lawrencecchen in #7357
- Fix Codex session restore authority after 0.64.17 by @lawrencecchen in #6712
- CMUX Vault cloud sync: Go CLI + multi-tenant web backend for agent transcripts by @lawrencecchen in #7324
- Fix Settings scroll jump on window deactivate/reactivate by @mp-grind in #7138
- Fix workspace drag pasteboard deadlock by @austinywang in #7400
- Subrouter tenant management: Stack teams + AI accounts dashboard by @lawrencecchen in #7330
- Resume suspended Cloud VMs on demand in exec/attach/ssh workflows by @lawrencecchen in #7388
- Make iOS beta workflow external-eligible by @azooz2003-bit in #7419
- Keep iOS chat rows fixed height by @azooz2003-bit in #7303
- Restore dashboard i18n keys clobbered by #7330 (prod: raw keys on /dashboard) by @lawrencecchen in #7436
- Add cmux Pro pricing and one-click Stack checkout by @lawrencecchen in #7143
- web: add /pricing page (Free / Pro / Enterprise) by @lawrencecchen in #6791
- feat: add Kimi Code CLI hook integration by @liruifengv in #7201
- web: replace react-wrap-balancer with CSS text-balance on landing subtitle by @lawrencecchen in #7420
- Fold AI-accounts management into the subrouter dashboard section by @lawrencecchen in #7442
- fix(settings): write cmux.json through symlinks instead of clobbering… by @andrewlook in #7283
- Add cmux __internal_flags feature flag inspector by @lawrencecchen in #7439
- Add Stripe customer portal for Pro billing management by @lawrencecchen in #7443
- Bridge Claude Code PushNotification tool into cmux notifications by @lawrencecchen in #7385
- Add localized compare SEO pages by @lawrencecchen in #7251
- Saved split layouts: capture, store, and reopen named workspace layouts by @azooz2003-bit in #7414
- Add mux: decoupled terminal-multiplexer backend with tmux-like TUI by @lawrencecchen in #7180
- mux: platform module + Linux CI (phase 1 of Windows/Linux support) by @lawrencecchen in #7346
- Surface original Cloud VM create-failure causes; make billing denials and stale failures retryable by @lawrencecchen in #7451
- mux: add Linux valgrind memory-leak CI job by @lawrencecchen in #7447
- mux: API/CLI/bindings contract spec by @lawrencecchen in #7347
- Bake dev toolchains into the Cloud VM base images by @lawrencecchen in #7455
- mux: TUI docs section by @lawrencecchen in #7328
- Fix iOS terminal picker refresh scroll reset by @azooz2003-bit in #7298
- Add manual SSH reconnect: in-pane 'r' prompt + Reconnect Pane menu by @0xJord4n in #7250
- Codex: make installed stop hooks fire-and-forget by @azooz2003-bit in #7410
- Cmd+P: stop listing and resurrecting workspaces of closed windows by @austinywang in #7467
- Fix session-seeding liveness check, treating EPERM as alive by @mp-grind in #7123
- Custom per-host upload commands for terminal file drops by @ejc3 in #7452
- Re-clamp main window when its titlebar is stranded off-screen after monitor disconnect by @mxschmitt in #6913
- Auto-submit external TestFlight beta reviews by @azooz2003-bit in #7464
- Fix agent hooks misrouting notifications/status/summary to the focused tab by @wowpotato in #7228
- ssh-tmux: fix mirror lifecycle (reuse re-discovery, dedicated-window targeting, detach teardown, rename title chrome) by @austinywang in #7379
- Fix TestFlight workflow dispatch temp env by @azooz2003-bit in #7472
- Cut steady-state sysctl burn from background process snapshots by @lawrencecchen in #7349
- CLI: cmux ai-accounts — upload local AI credentials to the team subrouter tenant by @lawrencecchen in #7370
- web: raise dark-mode link underline contrast on landing page by @lawrencecchen in #7441
- Follow remote shell cwd for cmux ssh sessions (#7268) by @austinywang in #7277
- Fix PDF preview download and print toolbar actions by @austinywang in #4687
- Add dashboard billing section with plan cancel and resume by @lawrencecchen in #7448
- Fix Fork Conversation live agent availability by @austinywang in #7352
- Show VM lifecycle state in cloud ls; reconcile provider status on a cron by @lawrencecchen in #7456
- Persist Claude transcript lookups across agent-index reloads by @lawrencecchen in #7350
- Gate billing management by kind and polish the pricing pages by @lawrencecchen in #7479
- mux: CDP browser panes with kitty rendering, attach streaming, and omnibar by @lawrencecchen in #7378
- cmux ssh: detect remote cmuxd-remote daemon death, converge reconnect, and report truthful connection state by @austinywang in #7401
- ssh-tmux: friendly error with install hint when tmux is missing on the remote by @austinywang in #7377
- mux: cmux-mux CLI surface per spec/cli.md by @lawrencecchen in #7480
- mux: de-flake set-ratio and browser-discovery unit tests by @lawrencecchen in #7481
- Wire the Team plan to Stripe with seat-based subscriptions by @lawrencecchen in #7489
- mux: read-screen reports the rendered viewport (fixes the macOS smoke-attach banner divergence) by @lawrencecchen in #7488
- Workspace layouts: save/delete/customize from the + menu, default layout for new workspaces, inline workspace actions, open agent kinds by @austinywang in #7354
- Open a dedicated pricing workspace from upgrade entrypoints by @lawrencecchen in #7478
- Fix terminal path fragments opening as HTTPS URLs by @austinywang in #7497
- Revert "Fix terminal path fragments opening as HTTPS URLs" by @austinywang in #7499
- Fix stale browser portal and stuck omnibar dropdown after closing a browser panel by @austinywang in #7487
- Swallow terminal focus-transfer clicks by @austinywang in #7495
- Fix markdown panel link boundary around trailing punctuation by @austinywang in #7492
- Add memory pressure response layer by @austinywang in #7496
- Add GitHub sign-in to iOS by @lawrencecchen in #7493
- Add TestFlight enrollment portal gated on active subscription by @lawrencecchen in #7506
- mux: client SDKs for TypeScript, Rust, Go, and Java + shared e2e conformance by @lawrencecchen in #7483
- mux-core: PTY-free structural tests — fix mux CI openpty exhaustion by @lawrencecchen in #7498
- Add persistent Freestyle sshd cloud slot by @lawrencecchen in #6409
- Cloud VM passive monitoring: Sentry, Slack alerts, VM health cron by @lawrencecchen in #7518
- Restore terminal link hover affordance by @austinywang in #7494
- Add per-pane Full Width Tab mode (palette + tab context menu) by @azooz2003-bit in #7425
- Require account choice before native sign-in handoff by @austinywang in #7476
- Revert "Require account choice before native sign-in handoff" by @austinywang in #7550
- Fix vault sessions hydration timestamp by @lawrencecchen in #7546
- Skip terminal close confirmation before tty attach by @austinywang in #7541
- Fix sidebar workspace close hover reconciliation by @austinywang in #7545
- Add sidebar profiling signposts by @azooz2003-bit in #7528
- iOS: enable multi-Mac workspace aggregation by default so "All Computers" renders all workspaces by @austinywang in #7532
- Speed up dashboard navigation and upsell free users on billing by @lawrencecchen in #7562
- Stabilize TestFlight eligibility tests by @austinywang in #7555
- mux bindings: unify SDK identity on cmux, drop Mux from type names by @lawrencecchen in #7558
- Turn the Pro success page into a Welcome to Pro next-steps screen by @lawrencecchen in #7563
- Classify transient session-refresh failures as retryable instead of "not signed in" by @lawrencecchen in #7556
- Fix UserDefaults settings source-less observation by @lawrencecchen in #7571
- iOS: native drag & drop in workspace list + create workspace in group by @azooz2003-bit in #7384
- Add workspace notification submenu by @lawrencecchen in #7263
- Fall back to English on the Pro success page for locales without copy by @lawrencecchen in #7577
- Fix Cloud VM menu highlight not spanning full width by @lawrencecchen in #7547
- Fix first-attempt Dock pane drops by @austinywang in #7536
- Remember and restore window geometry per monitor configuration (#2135) by @mxschmitt in #7477
- Park billing email in claims when it already belongs to another account by @lawrencecchen in #7582
- mux: implement the 8 proposed protocol-6 commands (wait-for, run, send-key, copy, ids, notify, list-agents, report-agent) by @lawrencecchen in #7584
- Close oh-my-pi (omp) integration gaps: hibernation, textbox alias, census, icons, docs by @lawrencecchen in #7568
- Reduce sidebar geometry measurement churn by @azooz2003-bit in #7527
- Resolve billing team for multi-team users so paid teams are not shown as free by @lawrencecchen in #7586
- mux: expose window-manager operations on the control socket (layouts, spatial nav, zoom, process-info) by @lawrencecchen in #7588
- Budget checker: evaluate the speculative merge with current main by @lawrencecchen in #7587
- Prefetch the pricing page on upgrade-entrypoint hover by @lawrencecchen in #7554
- Fix nested in the app-pricing layout by @lawrencecchen in #7566
- Fix + menu Cloud VM row padding by @austinywang in #7579
- Durable (restart-stable) tab deep links by @austinywang in #5769
- Preserve sidebar scroll when closing workspaces by @azooz2003-bit in #7594
- mux: purge per-surface agent/notification tables on close (follow-up to #7584) by @lawrencecchen in #7593
- Fix stale delete group membership confirmation by @austinywang in #7551
- Add agent-chat: browser-surface chat UI for any coding agent by @lawrencecchen in #7258
- mux: server/client control commands (ping, reload-config, window-title, scroll-changed) by @lawrencecchen in #7604
- ci: SDK publish workflows (OIDC trusted publishing, tag-gated) by @lawrencecchen in #7601
- Fix Codex Security scan findings by @lawrencecchen in #7437
- Fix undo shortcut crash routing by @austinywang in #7598
- Stage required macOS CI behind linux preflight by @azooz2003-bit in #7583
- ci: classify mux/ as macOS-neutral so mux-only PRs pass the routing guard by @lawrencecchen in #7622
- ci: stop skipped linux jobs from transitively skipping staged macOS jobs by @lawrencecchen in #7620
- Stabilize browser DevTools lifecycle by @lawrencecchen in #6669
- Fit main windows after display topology changes by @austinywang in #7308
- agent-chat: turn summaries, virtualization, gallery, option UI polish + new-workspace menu entry by @lawrencecchen in #7610
- Fix browser omnibar suggestion clicks falling through to the web view by @austinywang in #7468
- Feature-flag the Cloud VM UI (cloud-vm-ui-enabled-release) by @lawrencecchen in #7592
- docs: add WhatsApp community link to README by @austinywang in #7639
- Use approved iOS version 1.0.1 for TestFlight beta CI by @azooz2003-bit in #7636
- Handle checked iOS version TestFlight uploads by @azooz2003-bit in #7643
- mux: dedupe and gate all grok agent-hook notifications by @austinywang in #7619
- Add sidebar active agent indicator by @lawrencecchen in #6480
- sdk: bump to 0.1.2 and finalize npm publish pipeline by @lawrencecchen in #7642
- Clear the persisted session when the server definitively rejects the refresh token by @lawrencecchen in #7640
- Scan Claude launch options past prompt positionals on resume by @austinywang in #7602
- Fork Conversation works on freshly-forked claude panes by @lawrencecchen in #7580
- cmux TUI distribution: npx cmux / uvx cmux via prebuilt binaries by @lawrencecchen in #7651
- Fix tab icon shift during pane resize by @austinywang in #7637
- Terminal tabs show the active agent's brand icon in a static slot by @lawrencecchen in #7607
- mux: publish cmux-mux release artifacts for linux and darwin by @lawrencecchen in #7653
- test-e2e: target-qualified test filters + fail on zero executed tests by @lawrencecchen in #7658
- Add iOS App Store production lane by @azooz2003-bit in #7644
- Treat unreadable token storage as transient during iOS session restore by @azooz2003-bit in #7667
- Remote tmux mirrors: exact feed-forward sizing, verified pane geometry, faithful live pane headers, active-pane indicator, and drag-stable rendering by @ejc3 in #7315
- mux: Rust modernization — edition 2024, MSRV 1.88, latest deps, workspace lints by @lawrencecchen in #7657
- iOS: persist debug log to a file and capture crashes in it by @azooz2003-bit in #7652
- Sanitize Save Workspace Layout agent commands through the shared sanitizer; fail loudly on un-replayable commands; fix save dialog layout by @austinywang in #7633
- agent-chat: virtualization scroll anchoring, measured-height disclosure, picker polish by @lawrencecchen in #7650
- Fix fork-fallback residuals: custom claude binaries, codex cwd, teams panes, registry fork markers by @lawrencecchen in #7664
- mux: tmux/zellij-familiar keybindings out of the box, all configurable by @lawrencecchen in #7684
- iOS: render exactly one workspace-list connection surface by @azooz2003-bit in #7659
- iOS: dismissable alt-screen sizing notice in terminal toolbar by @azooz2003-bit in #7669
- mux: pluggable sidebar — host external TUI plugins in the sidebar by @lawrencecchen in #7695
- Route browser-pane file drops by intent so they never silently become previews by @austinywang in #7634
- mux: plugin manager — install sidebar plugins from git repos by @lawrencecchen in #7701
- Fix browser panes stuck black after a failed discard-restore by @austinywang in #7533
- rebrand: mux -> cmux-tui (directory, binary, crates, workflows, wire identity) by @lawrencecchen in #7710
- Fix zh-Hant showing as zh-Hans: own AppleLanguages writes and apply language selection at change time by @austinywang in #7698
- cmux-tui-artifacts: transitional double-publish under the legacy mux/ prefix by @lawrencecchen in #7716
- Fix SSH PTY reattach loop aborting after a single retry (#7707) by @austinywang in #7711
- Add native Translate Selection to the terminal context menu by @timothyliu in #7510
- Reorganize the new-workspace (+) dropdown into explicit sections by @austinywang in #7709
- Fix ssh PTY input loss and reordering at reconnect and backpressure seams by @austinywang in #7717
- Feature-flag the agent-chat UI (default off) by @lawrencecchen in #7705
- Add iOS crash telemetry via Sentry + MetricKit by @azooz2003-bit in #7649
- iOS: terminal connection/render resilience — fail-open delivery gates, route iteration, persistent terminal surface by @azooz2003-bit in #7675
- Add iOS account deletion and legal links by @azooz2003-bit in #7645
- Workspaces as todos: inferred status lifecycle + per-workspace checklist by @azooz2003-bit in #7216
- Fix iOS surface-teardown deadlock behind external-beta watchdog kills by @azooz2003-bit in #7666
- agent-chat: dynamic-port + path-token serving, app-owned sidecar launch by @lawrencecchen in #7723
- Delete 53 CI-dead v1 socket e2e tests superseded by tests_v2 by @lawrencecchen in #7681
- Balance cmuxTests CI shards by measured duration instead of test count by @lawrencecchen in #7687
- Keep ssh-tmux mirror bookkeeping focus-neutral by @austinywang in #7742
- ios-testflight: skip scheduled beta uploads when no iOS-affecting paths changed by @lawrencecchen in #7688
- Use existing prod profile secret for App Store workflow by @azooz2003-bit in #7753
- Fix macOS 15 blank icon rendering by @austinywang in #7729
- Redirect verified native auth handoffs by @austinywang in #7739
- Split agent-chat notification helper below the file-length tracking threshold by @lawrencecchen in #7755
- Install asc in App Store workflow by @azooz2003-bit in #7764
- iOS: sync checked-in MARKETING_VERSION to 1.0.4 by @azooz2003-bit in #7772
- Fix typed window handles in CLI window commands by @austinywang in #7749
- Fix shared Ghostty custom shaders rendering black terminals by @austinywang in #7763
- Revert "Workspaces as todos: inferred status lifecycle + per-workspace checklist" (#7216) by @azooz2003-bit in #7761
- Revert "Fix shared Ghostty custom shaders rendering black terminals" by @austinywang in #7778
- Follow live macOS appearance switches in system mode (#6385) by @Diabl0269 in #7206
- Fetch App Store profile in workflow by @azooz2003-bit in #7773
- Fix stale terminal agent tab icons by @austinywang in #7740
- Restore README star history chart by @lawrencecchen in #7767
- Fix attached SSH PTY cleanup reconnect storm by @austinywang in #7741
- Use automatic signing for App Store workflow by @azooz2003-bit in #7779
- Fix ssh-tmux teardown after remote server death by @austinywang in #7760
- Align sidebar loading spinner slot by @lawrencecchen in #7693
- Fix automatic iOS archive signing settings by @azooz2003-bit in #7782
- Clear stuck sign-in state after Safari browser handoff by @austinywang in #7776
- Restore manual App Store signing profile setup by @azooz2003-bit in #7784
- ssh-tmux: mirror sessions as workspaces in the current window, native pane chrome by @austinywang in #7406
- Re-detect the checked-out branch when resolving workspace PR badges by @austinywang in #7785
- Allow App Store profile download overwrite by @azooz2003-bit in #7788
- Show workspace names first in notification popover by @lawrencecchen in #7769
- Disable the workspace agent spinner behind a flag by @lawrencecchen in #7774
- Remove legacy Stack billing entirely (checkout + recognition) by @lawrencecchen in #7662
- cmux-tui: drag-resize works with a plugin sidebar by @lawrencecchen in #7793
- Bootstrap oRPC + OpenAPI + type-safe Swift client pipeline by @lawrencecchen in #7757
- Reconcile Dock portal bindings at reparent time instead of on focus by @austinywang in #7786
- Make Settings open structurally reliable: AppKit-owned window lifecycle by @austinywang in #7783
- Fix bidirectional ssh-tmux mirror state sync by @austinywang in #7745
- Gate sidebar resize hover affordance on window occlusion by @azooz2003-bit in #7765
- Use asc app id for App Store upload by @azooz2003-bit in #7795
- Avoid publishing blank resolved icon renders by @austinywang in #7794
- Show the Pro welcome checklist as a chromeless in-app web page by @lawrencecchen in #7608
- fix(web): unbreak main — account.me test dropped removed PRO_PRODUCT_ID by @lawrencecchen in #7808
- mux-tui: light-theme-aware chrome adapts to host background by @lawrencecchen in #7648
- Checkout buttons: spinner + direct Stripe redirect (no blank /api page) by @lawrencecchen in #7810
- Reassert Ghostty focus before physical input by @austinywang in #7278
- Fix ssh-tmux mirror CLI pane observability by @austinywang in #7770
- Continue handed-off Safari sign-in in the default browser by @austinywang in #7805
- Fix iOS App Store production bundle id by @azooz2003-bit in #7809
- Prevent hibernation from reaping live agent processes by @austinywang in #6576
- Settings follow-up: address post-merge review findings from #7783 by @austinywang in #7800
- Fix sidebar hang during sustained process-title churn by @lawrencecchen in #7754
- Fix never-green windows-gnu CI: ghostty-vt static lib name + remove committed mux/target by @lawrencecchen in #7815
- Fix stale "Connected" badge on dead remote SSH workspaces by @austinywang in #7828
- ci: add isolated Tart E2E canary runner by @lawrencecchen in #7796
- Make pane-divider resize cursors easier to hit and stop cursor bleed-through from occluded windows by @lawrencecchen in #7816
- Fix flaky acked-input bridge test: don't block a 5 MiB send against an intentionally paused read window by @austinywang in #7827
- Add Campfire support by @NishantJoshi00 in #5813
- Fix remote tmux mirror pane titles by @austinywang in #7836
- Over-the-air model catalog for agent-chat (cmux-owned models.dev) by @lawrencecchen in #7751
- iOS: show the full alt-screen notice on compact phones by @azooz2003-bit in #7727
- Fix resize-pane for remote tmux mirror panes by @austinywang in #7837
- Restore terminal-only tab icons by @austinywang in #7824
- Add automatic Ghostty scrollback compression by @lawrencecchen in #7758
- agent-chat catalog: direct cmux.com default, fast initial-fetch retry by @lawrencecchen in #7846
- Separate iOS beta and App Store versions by @azooz2003-bit in #7854
- Fix shell-integration socket sends: pin BSD nc (GNU nc silently drops the hook channel) by @lawrencecchen in #7789
- Fix Ahrefs SEO audit issues by @lawrencecchen in #7561
- iOS workspace list: divider cleanup, + long-press group create, principled drag-drop by @azooz2003-bit in #7671
- Size the shared PTY to the mobile viewer; scale the Mac pane font to fit by @azooz2003-bit in #7661
- Preserve ssh-tmux pane identity across remote layout changes by @austinywang in #7838
- Trim release bundle size by @lawrencecchen in #7589
- ts sdk: typed protocol + transports for building cmux-tui frontends by @lawrencecchen in #7886
- web: relay token minting endpoint (POST /api/relay/token) by @lawrencecchen in #7879
- cmux-tui: yazi-inspired file browser as the default sidebar by @lawrencecchen in #7885
- cmux-tui: WebSocket transport for third-party frontends by @lawrencecchen in #7890
- cmux-tui: reference web frontend (React + xterm.js over the WS API) by @lawrencecchen in #7891
- Make TextBox Git ignore probes fail soft by @austinywang in #7903
- Fix Claude bridge branch and resume failures (#7882) by @austinywang in #7900
- Fix localized SEO metadata from Ahrefs audit by @lawrencecchen in #7888
- cmux-tui: default sidebar back to the workspace list by @lawrencecchen in #7918
- CLI: ssh-session-attach --split with explicit --workspace anchors in the target workspace, not the caller's surface by @austinywang in #7376
- web frontend: mobile-friendly (drawer, extra keys, one-tap connect links) by @lawrencecchen in #7922
- mux: non-blocking browser CDP I/O + real headful Chrome default by @lawrencecchen in #7609
- Fix residual docs metadata from Ahrefs audit by @lawrencecchen in #7893
- Fix residual blog metadata from Ahrefs audit by @lawrencecchen in #7894
- Fix docs routing findings from Ahrefs audit by @lawrencecchen in #7889
- Fix cmux top topology for SSH-tmux mirrors by @austinywang in #7915
- Fix initial cmux ssh connection state output by @austinywang in #7913
- fix: taller-than-pane webviews open un-scrollable until a real resize (#7895) by @austinywang in #7917
- Fix command palette outside-click dismissal lifecycle by @austinywang in #7909
- Preserve one-shot SSH output after disconnect by @austinywang in #7914
- Add Ollama agent support: detection, prompt-based turn notifications, relaunch resume by @austinywang in #7907
- Isolate and label tagged iOS dev computers by @azooz2003-bit in #7864
- Harden long-uptime sidebar observation lifecycle (#7929) by @austinywang in #7954
- Fix #7947: keep Claude hooks authorized after socket rebinds by @austinywang in #7953
- Keep iOS Mac avatar color slots stable during Mac switches by @azooz2003-bit in #7858
- Fix iOS terminal picker menu flicker and blocked scrolling by @azooz2003-bit in #7959
- Prepare iOS App Store review readiness by @azooz2003-bit in #7862
- Retarget initial App Store draft by @azooz2003-bit in #7966
- iOS: show which features a Mac update unlocks when the connected Mac is older by @azooz2003-bit in #7960
- Sync canonical App Store metadata by @azooz2003-bit in #7967
- Extend App Store Connect request timeout by @azooz2003-bit in #7972
- Remove update notes from initial App Store metadata by @azooz2003-bit in #7977
- Prepare App Store version before validation by @azooz2003-bit in #7979
- Bootstrap initial App Store availability via public API by @azooz2003-bit in #7980
- Fix App Store screenshot readiness validation by @azooz2003-bit in #7982
- Show more notification content in the sidebar by @lawrencecchen in #7965
- Mirrored tmux panes render exactly their assigned spans, sized by a single transaction by @ejc3 in #7938
- Add smooth Vim and Emacs viewer navigation by @lawrencecchen in #7921
- fix: claude-hook success stdout renders as a visible OK block in Claude Code — emit a silent JSON ack by @cameronsjo in #7963
- Lower mobile-viewport Mac font floor (6pt→2pt) so narrow panes fill the phone by @azooz2003-bit in #7957
- Use gear icon for iOS workspace settings by @azooz2003-bit in #7993
- Stabilize sidebar ports across transient scan misses by @austinywang in #7952
- ssh-tmux: mirror into current window by default (--new-window keeps dedicated window) by @0xJord4n in #7264
- Require analytics limiter configuration in production by @lawrencecchen in #8009
- Remember the last textbox mode by @lawrencecchen in #8008
- Prevent sidebar hover lifecycle reentry hangs by @lawrencecchen in #8007
- Bound background-prime workspace mounts to fix main-thread stall with many agent panes (#7136) by @austinywang in #7182
- Fix #7975 tab bar relayout feedback loop by @austinywang in #7997
- Restore modern Settings window chrome by @austinywang in #8015
- Resolve agent notification targets from live identity at delivery time by @austinywang in #7946
- Accelerate nightly application builds by @lawrencecchen in https://github.com/manaflow-ai/cmux/pull/8036
- Restore titlebar icon sizing by @lawrencecchen in https://github.com/manaflow-ai/cmux/pull/8039
- Stabilize Next navigation web test mocks by @lawrencecchen in https://github.com/manaflow-ai/cmux/pull/8035
- iOS: view artifacts referenced in agent sessions by @azooz2003-bit in https://github.com/manaflow-ai/cmux/pull/7674
- Fix SSH workspace sleep reattach (#7978) by @austinywang in https://github.com/manaflow-ai/cmux/pull/7987
- Restore workspaces-as-todos, default new workspaces to None status by @azooz2003-bit in https://github.com/manaflow-ai/cmux/pull/7790
- Restore Settings sidebar toggle and full-height sidebar in the AppKit-hosted window by @austinywang in https://github.com/manaflow-ai/cmux/pull/8047
- Fix notification scroll restoration (#7897) by @austinywang in https://github.com/manaflow-ai/cmux/pull/7901
- Remove status circle glyphs from sidebar workspace rows (again) by @austinywang in https://github.com/manaflow-ai/cmux/pull/8052
- Release v0.64.18 by @austinywang in https://github.com/manaflow-ai/cmux/pull/8053
New Contributors
- @lucaspiritogit made their first contribution in #2500
- @jaredatch made their first contribution in #6778
- @deftdawg made their first contribution in #3711
- @ejc3 made their first contribution in #7063
- @essamgouda97 made their first contribution in #7019
- @Nauxie made their first contribution in #7157
- @smorin made their first contribution in #6527
- @mp-grind made their first contribution in #7138
- @liruifengv made their first contribution in #7201
- @andrewlook made their first contribution in #7283
- @0xJord4n made their first contribution in #7250
- @timothyliu made their first contribution in #7510
- @Diabl0269 made their first contribution in #7206
- @NishantJoshi00 made their first contribution in #5813
- @cameronsjo made their first contribution in #7963
Full Changelog: v0.64.17...v0.64.18