What's Changed
- ci: run backend migrations gate on every PR again (revert #17415) by @teamleaderleo in #17432
- fix: repair main's red full CI (window crash loop, Cloud port and team regressions and test drift) by @teamleaderleo in #17433
- ci: route read-only Linux lanes through Blacksmith by @teamleaderleo in #17438
- ci: say whose failure it is in the CI attribution comment by @teamleaderleo in #17443
- ci: publish meaningful nightly release notes by @teamleaderleo in #17434
- ci: route backend-migrations and web-complexity through CI_TRUSTED_RUNNER by @teamleaderleo in #17445
- fix: reattach live agent views after relaunch by @teamleaderleo in #17435
- ci: rescue hosted jobs cancelled in queue by @teamleaderleo in #17447
- ci: harden hosted queue rescue permissions by @teamleaderleo in #17449
- ci: propose removing dormant TUI nightly workflow by @teamleaderleo in #17419
- test(cloud): follow the Coderouter section and the Cloud sheet wrapper by @teamleaderleo in #17448
- Fix delayed Claude needs-input sidebar state by @teamleaderleo in #17454
- fix: apply classic cmux.json edits live by @teamleaderleo in #17442
- ci: guard required checks against paths filters and workflow-wide write tokens by @teamleaderleo in #17457
- fix(ci): initialize cmux-next notices submodule by @teamleaderleo in #17461
- ci: name unreadable app-host result bundles, and stop the history guard fetching every branch by @teamleaderleo in #17460
- test: wait for the hosted surface's shim hop; log where the webhook refusal stalls by @teamleaderleo in #17462
- test: stop two app-host tests failing on a slow runner by @teamleaderleo in #17455
- fix(control-socket): prevent main-actor serialization and pool saturation under heavy agent load (#5757) by @matellis in #17216
- Fix delayed running state after agent input by @teamleaderleo in #17456
- Install and Relaunch no longer stops at the quit confirmation by @teamleaderleo in #17459
- feat: cover classic config catalog sections by @teamleaderleo in #17446
- ci: keep nightly admission off the busy paid pool by @teamleaderleo in #17478
- Show a link's URL on hover in browser panes by @jfexyz in #17258
- fix: rederive restored agent status from live evidence by @teamleaderleo in #17475
- fix: separate close warning for active agent sessions by @teamleaderleo in #17430
- feat: add Sleepy Mode cmux.json coverage by @teamleaderleo in #17466
- ci: capture cmux-next dogfood before and after by @teamleaderleo in #17502
- ci: widen nightly app artifact download by @teamleaderleo in #17518
- Add workspaceColors.brightenInDarkMode to show workspace colors as chosen in dark mode by @csyio in #17308
- Keep Settings search typing off the main-thread render path by @teamleaderleo in #17517
- fix: build one catalog section per settings parser, not a catalog per key by @teamleaderleo in #17522
- feat: configure classic font sizes in cmux.json by @teamleaderleo in #17467
- fix: keep a running cmux restore as agent intent after #17475 by @teamleaderleo in #17521
- ci: publish nightly full feeds before Sparkle deltas by @teamleaderleo in #17530
- Detach Ghostty layer display callback before freeing the surface by @teamleaderleo in #17524
- Bump ghostty: clear the layer display callback on teardown by @teamleaderleo in #17547
- ci: gh-merge-green refuses --override on god-file, l10n and concurrency lint by @teamleaderleo in #17555
- ci: give cmux-next its ten-minute rescue budget on main's sweeper by @teamleaderleo in #17580
- Fix System VPN signing for cmux.app and cmux BETA by @azooz2003-bit in #17902
- Filter unsupported hotspot permission from iOS TestFlight uploads by @azooz2003-bit in #18078
- fix: skip Cloud welcome on dev launches by @austinywang in #17647
- fix(ci): isolate AWS owned runner pool labels by @teamleaderleo in #17223
- gh-merge-green: wait for the cmux-next run on the exact head by @teamleaderleo in #18102
- ci: halve the queue janitor's GitHub API spend and report the budget by @teamleaderleo in #18107
- ci: fall back side lanes when no side runner is online by @teamleaderleo in #18108
- ci: cut the GitHub API calls of the per-run workflow_run handlers by @teamleaderleo in #18109
- fix(settings): keep shortcut search under typing budget by @teamleaderleo in #17603
- docs: PR template asks for proof in one optional section by @teamleaderleo in #18112
- CI attribution: artifact download failures are the machine; flaky failures are not the PR's by @teamleaderleo in #18093
- reload.sh: emit the app's Swift module on Xcode 26.2 and 26.3, where the build fails without it by @ejc3 in #17610
- reload.sh --release: build the tagged app in Release by @teamleaderleo in #18111
- gh-merge-green: require the cmux-next run to succeed on the exact head by @teamleaderleo in #18113
- ci: cancel superseded side-lane push runs instead of rerunning them by @teamleaderleo in #18126
- ci: nightly dSYM upload retries and never fails the nightly by @teamleaderleo in #18125
- perf(settings): keep shortcut search responsive while typing by @teamleaderleo in #18118
- ci: overflow queued cmux-next side jobs as the bot by @teamleaderleo in #18135
- Document cmux threat model and security incident response by @austinywang in #18085
- ci: the migrations plan skips the API for a PR that changes no migrations by @teamleaderleo in #18092
- fix(ci): serialize main and nightly-next nightly publications by @austinywang in #18150
- Fix shortcut search graph invalidation by @teamleaderleo in #18134
- ci: retry a rate-limited cmux-tui attestation lookup in the nightly by @lawrencecchen in #18129
- fix(update): restore the accent environment on the titlebar and notifications hosts by @lawrencecchen in #17382
- ci: register cmux-next regenerate bundles for dispatch by @teamleaderleo in #18153
- Explain CLI/app version skew instead of raw method_not_found by @lawrencecchen in #17561
- ci: the rescue never cancels a cmux-next push run for a newer push by @lawrencecchen in #18168
- Sell Pro yearly at $480/yr with a yearly-default pricing card by @lawrencecchen in #18162
- Resume agents when capacity returns and clear the auto-resume marker after recovery by @teamleaderleo in #18096
- cmux welcome: list the default shortcuts again by @teamleaderleo in #18110
- ci: let the CLA jobs run on Blacksmith (1/3: validator) by @teamleaderleo in #17453
- testbox: retire blacksmith-testbox-approve.sh; start boxes through the hq wrapper by @lawrencecchen in #17365
- ci: refuse GitHub-hosted runners and move those jobs to Blacksmith by @lawrencecchen in #18164
- CLI version-skew: strip peer control characters, compare builds by @lawrencecchen in #18171
- ci: Web complexity runs only for web changes and judges a branch by its own diff by @lawrencecchen in #18174
- ci: admit Blacksmith's current runner names in the CLA guard by @teamleaderleo in #18186
- ci: let CLA Assistant run on Blacksmith as well as GitHub-hosted by @teamleaderleo in #18179
- ci: a refusal on cmux-next's last bot attempt goes to Blacksmith by @teamleaderleo in #18183
- ci: let CLA policy guard run on Blacksmith as well as GitHub-hosted by @teamleaderleo in #18180
- gh-merge-green: a red lane the base branch also has does not block by @teamleaderleo in #18181
- Replay Stripe webhook events that lost the account mutation lease by @lawrencecchen in #18187
- gh-merge-green: base-red excusal compares failing tests, not warning lines by @teamleaderleo in #18204
- ci: full 40-character SHA for the dogfood-build upload-artifact pin by @lawrencecchen in #18206
- Keep coderouter organizations inside its Stack deadline by @lawrencecchen in #18191
- Acknowledge Cloud diagnostics leases by primary key by @lawrencecchen in #18215
- fix(computer-use): install only a Developer ID signed helper, never an ad-hoc copy by @lawrencecchen in #18192
- Stop calling the retired sr.cmux.com hosted Subrouter by default by @lawrencecchen in #18216
- Close pane tabs on middle click again by @knpwrs in #17688
- CLI: strip terminal control characters from printed v2 errors by @lawrencecchen in #18190
- web: sample routine Cloud poll diagnostics at ingest, expire delivered rows after 25h by @lawrencecchen in #18220
- web: send deliberate backend error reports to Sentry and monitor crons by @lawrencecchen in #18218
- Finish account deletion now that hosted Subrouter is retired, and resume stuck deletions by @lawrencecchen in #18221
- fix: keep control socket alive during automatic update by @austinywang in #18161
- Drop the Pro billed-yearly line and align plan card sections by @lawrencecchen in #18227
- Fix main: keep supervisor job notices out of Simulator output; scope render-host test windows by @teamleaderleo in #18232
- fix(coderouter): speed up org list and switch by @austinywang in #17608
- fix: keep terminal text crisp on external displays by @austinywang in #18163
- fix: filter pathless cmux-owned Ghostty diagnostics by @austinywang in #18271
- Report only operator-fault Cloud VM errors as exceptions by @lawrencecchen in #18294
- Label coderouter exceptions and stop filing tenant account state by @lawrencecchen in #18298
- coderouter: refresh credentials rejected by usage reads, report revoked sign-ins as tenant faults by @lawrencecchen in #18297
- coderouter: terminal 403 when a team has no account configured by @lawrencecchen in #18305
- Keep a Cloud machine's edge credential valid for the machine's life by @lawrencecchen in #18307
- Back off guest prompt sync on refusals instead of polling every 8 s by @lawrencecchen in #18308
- fix: let Claude Teams launch with integration disabled by @austinywang in #18276
- Never point a non-production Cloud machine's edge at production coderouter by @lawrencecchen in #18313
- feat(gh-merge-green): --revert rolls back a merged PR in one command by @teamleaderleo in #18312
- Fix crash when a focused SwiftUI view outlives its hosting view by @lawrencecchen in #18250
- fix(cloud): restore from a snapshot with a stopped daemon supervisor by @lawrencecchen in #18320
- fix(cloud): resolve 0.65.0 dogfood papercuts by @austinywang in #18292
- fix: repaint Codex sessions after pane reattachment by @austinywang in #18283
- fix(claude): keep background-session settings out of TMPDIR by @austinywang in #18284
- fix(cloud): exec past its timeout with no reported exit returns 124, not 502 by @lawrencecchen in #18329
- Fix Codex Teams remote resume/fork permission forwarding by @austinywang in #18167
- fix: keep Chinese and Japanese fallback glyphs at the expected size by @lawrencecchen in #17562
- Fix Pi one-shot flags bypassing wrapper injection by @austinywang in #18269
- fix(remote): insert absolute paths for SSH paste/drop by @austinywang in #18280
- fix(cloud): preserve VM CodeRouter auth through edge compatibility headers by @austinywang in #18256
- coderouter: terminal 403 on Codex model discovery when no account is visible by @lawrencecchen in #18364
- coderouter: terminal 403 on OpenCode routes when no account is visible by @lawrencecchen in #18371
- fix: avoid executor checks in WebKit browser callbacks by @austinywang in #18318
- coderouter: usage-read timeouts warn until persistent; revoked refresh codes are tenant faults by @lawrencecchen in #18392
- coderouter: single usage-read timeouts stay out of Sentry by @lawrencecchen in #18412
- Fix merge helper refusal for intentionally skipped macOS CI by @azooz2003-bit in #18430
- Fix: ship Feed quote bubbles by default by @azooz2003-bit in #18086
- remote-tmux: EternalTerminal support, and one shared connection for hosts where every connection costs a tap by @ejc3 in #8721
- Collect development accounts separately and offer optional production setup by @azooz2003-bit in #18433
- Fix pathless cmux-owned Ghostty diagnostics by @austinywang in #18272
- Fix image and file uploads to macOS SSH terminals by @austinywang in #18160
- Protect cmux-tui state from full guest disks by @austinywang in #18446
- Fix CJK-adjacent punctuation overlapping following text by @austinywang in #18469
- Fix Settings stack overflow during window construction by @austinywang in #18457
- Cloud telemetry: preserve session-open operation labels by @austinywang in #18474
- Retire Cloud and Upgrade rollout gates by @austinywang in #18279
- Rename Cloud sidebar CodeRouter provider to Opencode by @austinywang in #18499
- fix: repaint terminal panes after workspace reveal by @austinywang in #18432
- ci(nightly): skip redundant unsigned app compression by @teamleaderleo in #18507
- ci(nightly): preserve notary recovery and skip fast dogfood ticketing by @teamleaderleo in #18495
- Fix stale text undo targets after editor teardown by @austinywang in #18467
- Fix Keyboard Shortcuts popover colors to match Help by @austinywang in #18513
- ci(nightly): automatically recover timed-out notarization by @teamleaderleo in #18515
- Fix CMUXTERM-MACOS-1C1Z startup exception crash by @austinywang in #18452
- Fix iOS Feed scroll stalls during live agent activity by @azooz2003-bit in #18439
- Fix background browser input during workspace transitions by @austinywang in #18479
- Fix Claude Computer Use MCP daemon authentication by @austinywang in #18288
- Fix Quick Look retirement reentrancy crash by @austinywang in #18471
- Keep inactive multiplayer viewers visible by @austinywang in #18501
- fix(ci): keep GUI suites off AWS pools by @teamleaderleo in #18524
- cmux: make ordinary relaunches yield to existing instance by @teamleaderleo in #18520
- fix(settings): update team roles optimistically while saving by @austinywang in #18475
- Redesign iOS Feed ask-user answers by @azooz2003-bit in #17662
- fix(ci): retry nightly-next promotion admission after API lag by @teamleaderleo in #18526
- feat(ios): add Feed performance metrics and Sentry correlation by @azooz2003-bit in #18531
- Fix OpenCode capitalization in CodeRouter sidebar by @austinywang in #18538
- ci: expose runner setup and cleanup timing by @teamleaderleo in #18528
- fix(cloud): the exec route answers the command timeout at its own deadline by @lawrencecchen in #18551
- refactor(ci): remove redundant platform rollup runner by @teamleaderleo in #18555
- refactor(ci): reuse changes runner for full-suite marker by @teamleaderleo in #18564
- fix(ci): resume timed-out nightly notarization by @teamleaderleo in #18553
- fix(ci): retry same-source nightly incident closure by @teamleaderleo in #18568
- ci: avoid submodule checkout in lag consumer by @teamleaderleo in #18572
- coderouter: alert when ClickHouse migrations are not applied by @lawrencecchen in #18580
- fix(cloud): keep redialing a new machine until the connect deadline by @lawrencecchen in #13981
- ci: deduplicate accepted nightly DMG artifacts by @teamleaderleo in #18583
- ci: skip empty reverse impact reports by @teamleaderleo in #18584
- fix(cloud): compile hub deadline check on Swift 6.2 by @austinywang in #18585
- refactor(ci): move Python syntax checks out of preflight by @teamleaderleo in #18593
- ci: lazily initialize changed submodules in forward-only guard by @teamleaderleo in #18592
- fix(ci): poll nightly notarization off macOS workers by @teamleaderleo in #18596
- docs: consolidate fleet and release runbooks by @teamleaderleo in #18600
- Keep minimized windows in the Dock when the global hotkey reveals cmux by @jacob-carlborg in #18533
- Keep proto keys in whole-area browser storage reads by @scs0209 in #18527
- Treat Copilot value flags as value options when restoring by @bbeirouti1990 in #18470
- Clear force-close bypass when a confirmed close is rejected by @tk1475 in #18414
- Reset a browser pane's selected frame and element refs when the page navigates by @nebullii in #18577
- Preserve PR media referenced through GitHub blob URLs by @BlueRaddish in #18562
- Reject invalid Python regression-lane timeouts by @BlueRaddish in #18476
- fix: preserve SSH ProxyCommand child environment by @austinywang in #18285
- gh-merge-green: allow explicit Vercel status override by @teamleaderleo in #18614
- iroh-v2: per-user account Mac directory (server) by @austinywang in #17390
- ci: keep AWS runners out of office pool capacity by @teamleaderleo in #18622
- Reattach Claude background sessions after relaunch by @teamleaderleo in #18599
- fix: exclude Dock panes from tmux list-panes by @austinywang in #18623
- ci: isolate explicitly configured AWS pools by @teamleaderleo in #18655
- My Devices: per-user Mac directory client for cross-team Macs by @austinywang in #17394
- tmux-compat: render #{socket_path} and #{pid}, unblocking OMC >= 5.6 team startup by @aidaodedjl in #18396
- fix(ci): close deferred nightly incident after publication by @austinywang in #18638
- Fix browser screenshot drop freeze from promised pasteboard reads by @austinywang in #18643
- test: verify terminal font-size migration by @austinywang in #18640
- Drain autorelease pool in Claude inbox-wait poller by @austinywang in #18632
- Fix cmux-tui VM state and journal reliability by @austinywang in #18637
- Fix cmux-cua foreground retry for Codex clicks by @austinywang in #18629
- ci: treat Xcode version as a minimum floor by @teamleaderleo in #18676
- Match the OMX HUD by its invocation, not by text that mentions omx and hud by @nebullii in #18576
- Return 409 when an admin email grant loses the account mutation lease by @lawrencecchen in #18696
- Avoid unnecessary synchronous dirty-workspace scans on quit by @austinywang in #18644
- perf: reduce CJK fallback font discovery delay by @austinywang in #18679
- Reattach Claude background sessions in Dock panes by @teamleaderleo in #18651
- fix: keep Codex completion hooks with Computer Use notify by @austinywang in #18666
- Members card: wait for sign-in, stop calling a local token refusal "unreachable" by @lawrencecchen in #18703
- Reject vault fork with both --checkpoint and --turn by @tk1475 in #18415
- Nightly continuation: never resume nightly-next on main's channel by @teamleaderleo in #18711
- test: make BrowserReplRenderHostTests pane window key by @teamleaderleo in #18712
- Cloud welcome: show the 0.65.1 clip campaign once by @lucasr1b in #17243
- Offer Resume on pricing while a cancellation is scheduled by @lawrencecchen in #18752
- Fix Follow Latest ownership for Iroh terminal input by @azooz2003-bit in #18766
- Fix remote tmux tee detector race during grid assignment by @austinywang in #18663
- Make text pastes bypass slow worker contention by @austinywang in #18650
- feat: add OSC 7501 program status support by @lawrencecchen in #18742
- feat(gh-merge-green): freeze gate, merged-head checks and RELEASE mail for feat-cmux-next merges by @teamleaderleo in #18378
- Fix Bonsplit resource-bundle and hit-test executor crashes by @lawrencecchen in #18291
- Let the right sidebar mode bar report its width off the main thread by @lawrencecchen in #18299
- ci: let Testbox warmup run up to 240 min (long Rust gates lost boxes at 90) by @lawrencecchen in #18824
- Scrub copies of Sentry's shared breadcrumbs so concurrent captures can't crash by @lawrencecchen in #18315
- Fix macOS 14 abort binding Cloud pane reservations (task-local back-deployment) by @lawrencecchen in #18300
- ci: iOS signing jobs read their secrets from the release environment by @lawrencecchen in #18830
- ci: one-shot workflow that copies signing secrets into environments by @lawrencecchen in #18831
- ci: remove the one-shot signing secret copy workflow by @lawrencecchen in #18834
- ci: persist the cmux-tui target dir across Testboxes by @lawrencecchen in #18842
- ci: raise the Testbox warm target prune bound to 100 GiB by @lawrencecchen in #18843
- ci: drop foreign-CPU ghostty-vt-sys output from the warm Testbox target by @lawrencecchen in #18845
- ci: preinstall pinned cargo-nextest on Testboxes by @lawrencecchen in #18846
- TestFlight: treat account mutation lease contention as a retryable busy status by @lawrencecchen in #18849
- Show Cloud access states on iOS by @azooz2003-bit in #18861
- Revert oversized Cloud access merge by @azooz2003-bit in #18877
- fix(ios): size feed bubbles by content by @azooz2003-bit in #18880
- Cloud: clear error, swap-at-cap, and operator alert for the Freestyle TLS rule limit by @lawrencecchen in #18851
- Prevent idle reminders from reviving completed agents by @austinywang in #18631
- perf(ci): reduce preflight and nightly signing waits by @teamleaderleo in #18611
- Gate Cloud VM resize by subscription entitlements by @austinywang in #18481
- fix(opencode): route V2 plugins per TUI by @austinywang in #18659
- Fix Cloud Claude imports defaulting to private by @austinywang in #18656
- Add 20%-off annual pricing for Max by @austinywang in #18888
- Fix constrained Settings layout scaling by @austinywang in #18784
- fix(ci): make nightly continuation dispatchable by @austinywang in #18890
- fix: preserve agent executable across restore refresh by @austinywang in #18658
- feat(cli): list and attach remote tmux sessions by @austinywang in #18645
- test: expand Pi wrapper subcommand coverage by @austinywang in #18649
- Fix CodeRouter account setup in agent workspaces by @azooz2003-bit in #18887
- docs: record browser Wayland teardown fix by @austinywang in #18636
- Restore from session history instead of starting empty when snapshots are unreadable by @teamleaderleo in #18857
- Drop a sidebar workspace onto a pane to merge its tabs by @teamleaderleo in #18837
- Show the 0.65.1 Cloud welcome whether Cloud is on or off by @austinywang in #18886
- Fix Cloud entitlement migration for existing oversized VMs by @austinywang in #18891
- fix(browser): avoid WebKit paste focus executor checks by @austinywang in #18790
- fix(cmux-tui): recover daemon after cold boot by @austinywang in #18690
- ci(cmux-next): enable trusted dev daily publisher on main by @teamleaderleo in #18825
- ci(cmux-next): install the base autofix workflow on main by @teamleaderleo in #18911
- Simplify iOS Cloud onboarding visuals by @azooz2003-bit in #17657
- fix(command-palette): support recent workspace ordering by @austinywang in #18646
- fix(cloud): accept nested no-account canary responses by @austinywang in #18769
- ci: remove the base autofix workflow_run copy (no bead) by @teamleaderleo in #18930
- fix: scope CodeRouter accounts to the selected organization by @azooz2003-bit in #18893
- feat: open CodeRouter guide as a pane by @azooz2003-bit in #18941
- Move CodeRouter into cmux with secure native handoff by @lawrencecchen in #10194
- Revert accidental CodeRouter handoff merge by @azooz2003-bit in #18950
- fix(build): drop the app import from the remote tmux CLI test (no bead) by @teamleaderleo in #18945
- test(cloud): fix red main Go destroyed-retry preflight DB test by @lawrencecchen in #18944
- Previous/Next moves between workspaces from a one-tab pane (no bead) by @teamleaderleo in #18939
- fix: finish CodeRouter refresh after CLI exit by @azooz2003-bit in #18948
- fix(cloud): fork readiness failures name the stalled stage again by @lawrencecchen in #18926
- Fix account deletion failing on PostHog queued person deletion; report failures by stage by @lawrencecchen in #18928
- fix: keep removed CodeRouter accounts hidden until confirmed by @azooz2003-bit in #18946
- fix(socket): move agent delivery target probes off MainActor by @austinywang in #18878
- Remap Cloud workspace shortcuts by @austinywang in #18895
- Fix Cloud sidebar icons and add independent visibility setting by @austinywang in #18630
- Security: deleting a Cloud VM publication removes only the TLS rules it owns by @lawrencecchen in #18968
- ci(cx-7cwo,cx-icx6): warm Rust crates on 32-core Linux by @teamleaderleo in #18947
- ci(cx-g34i): schedule cmux NEXT DEV publisher by @teamleaderleo in #18937
- ci(cx-g34i): pin scheduled DEV source refs by @teamleaderleo in #19014
- Cloud: publication capacity error at the Freestyle TLS rule cap, and diagnosable publication route spans by @lawrencecchen in #18964
- fix(mac): preserve rapid cloud disclosure clicks by @azooz2003-bit in #19085
- ⌘⌥F finds open agent sessions by what was said in them by @lucasr1b in #18962
- Fix Codex agent status in remote SSH workspaces by @austinywang in #18792
- fix(cloud): fence WireGuard activation preparation lifecycle by @austinywang in #18672
- fix(ui): reduce workspace layout follow-up amplification by @austinywang in #18879
- fix: repair Cloud VM canary and Claude managed defaults by @austinywang in #18982
- fix(cloud): isolate sidebar row hover targets by @austinywang in #18693
- fix: make local-tmux detached recovery reliable by @austinywang in #18654
- ⌘⇧B jumps back to the pane where you last sent a prompt by @lucasr1b in #18951
- Bundle the browser REPL runtime again by @lawrencecchen in #18373
- fix: route local file URLs through cmux preview by @austinywang in #19097
- test: wait for browser render host transitions by @austinywang in #18625
- fix: keep minimal pane tab clicks out of window drag routing by @austinywang in #19100
- docs: qualify scp upload fallback for #17388 by @austinywang in #19101
- fix(browser): keep address-bar typing responsive with large history by @austinywang in #19098
- Cloud welcome: teach Cmd+Shift+Y for New Machine by @austinywang in #19093
- feat: publish showcase media (cx-g74z) by @teamleaderleo in #19111
- fix: keep gallery host out of PR bodies (cx-g74z) by @teamleaderleo in #19121
- Route Claude user-settings hooks on macOS hosts inside tmux by @teamleaderleo in #19163
- Skip Hermes source venvs built for another Python version by @teamleaderleo in #19160
- Apply browser link settings to Markdown panel links by @teamleaderleo in #19159
- fix: preserve queued agent messages in hooks by @austinywang in #19105
- ci: DEV daily dispatcher needs no snapshot ref (fixes the createRef 403) by @teamleaderleo in #19166
- remote-tmux: repair origin presentation from #7193 by @austinywang in #19096
- Fix cmux-tui journal stalls and checkpoint reliability by @austinywang in #19114
- ci: read-only R2 storage census by key family by @teamleaderleo in #19173
- fix(cli): reject trailing VPN arguments by @soyeladice-svg in #18704
- Preserve artifact destinations when parallel downloads miss by @BlueRaddish in #18802
- Show workspace color swatches on macOS 27 by @nilbus in #18884
- ci: stage the OpenCode TUI plugin beside the CLI under test by @teamleaderleo in #19146
- test: map the CodeRouter guide pane to its mobile wire kind by @teamleaderleo in #19145
- test: keep the pane resize event test off unrelated bus traffic by @teamleaderleo in #19147
- fix: stop remote tmux detach adding a second replacement terminal by @teamleaderleo in #19148
- Reach a moved pane by its surface ID from close-surface and the other surface commands by @nebullii in #19073
- Keep hook entries other tools add to the Hermes config on install and uninstall by @nebullii in #19068
- ci: the DEV daily dispatcher hands finished builds to the publisher by @teamleaderleo in #19198
- ci: prune expired Actions build artifacts hourly by @teamleaderleo in #19195
- fix: stop Cmd-Y Cloud creation from retaining a closed window's manager by @teamleaderleo in #19153
- Start the image paste deadline once the worker is running by @teamleaderleo in #19164
- ci: prune superseded branch builds from cmux-binaries daily by @teamleaderleo in #19203
- fix: make the optimistic Cmd-Y Cloud tests pass and keep their tree reveal by @teamleaderleo in #19152
- ci: let the DEV publisher sign cmux-next (entitlements on main, no Nucleo FFI check) by @teamleaderleo in #19204
- ci: binaries pruner reads chatmux-relay's sourceCommit by @teamleaderleo in #19207
- test: read New Machine pop-up frames from SwiftUI so the layout tests pass on macOS 27 by @teamleaderleo in #19186
- release: LZMA stable DMG and stripped SSH payloads (cx-b6r7) by @teamleaderleo in #19211
- test: ignore NSTextView's own delegate reads during init on macOS 27 by @teamleaderleo in #19189
- fix: keep Design Mode composer card clicks on macOS 27 by @teamleaderleo in #19190
- test: size the remote tmux split routing window before splitting by @teamleaderleo in #19219
- ci: let stable reuse the DMG notarization scripts (cx-b6r7) by @teamleaderleo in #19222
- ci: binaries pruner thins old trunk builds and queues a daily snapshot for the cold SSDs by @teamleaderleo in #19252
- fix(cli): validate vpn arguments before connecting to the socket by @teamleaderleo in #19253
- test: assert cmux releases closed windows on macOS 27 instead of the bare NSWindow by @teamleaderleo in #19248
- Ship stable as thin arm64 and x86_64 builds with a one-hop update path by @teamleaderleo in #19255
- ci: a pruner dispatch with delete=false is a real dry run by @teamleaderleo in #19289
- test: fire the quit census deadline only after the census begins by @teamleaderleo in #19279
- cx-zjtn.5: Ctrl+Cmd+1…9 focuses a pane by number in classic by @teamleaderleo in #19263
- ci: name the cold-tier encryption recipient as a public certificate by @teamleaderleo in #19302
- Add an agent turn rail for Claude Code and Codex terminals by @teamleaderleo in #15398
- Download Linux SSH payloads on demand instead of bundling them (cx-b6r7) by @teamleaderleo in #19305
- Offer the Claude Code login email as the coderouter account label by @samuelpatro in #19231
- cx-zjtn.5: Ctrl+Cmd+E focuses the workspace sidebar in classic by @teamleaderleo in #19324
- Run the equal-cursor recovery read before failing a cmux ssh open by @teamleaderleo in #19330
- fix(cloud): SCP setup answers a stuck guest within the client budget by @lawrencecchen in #19307
- test: yield the main actor while the New Machine sheet resizes by @teamleaderleo in #19343
- cx-zjtn.5: Cmd+J click-by-hint mode in classic (flagged off) by @teamleaderleo in #19338
- build: ship compiled strings as binary property lists (-8.8 MiB) by @teamleaderleo in #19355
- Custom sidebars: gesture-gated, write-only clipboard.write by @teamleaderleo in #19333
- Stop bundling macOS SSH payloads; serve Mac hosts from the client's own build by @teamleaderleo in #19361
- Stop linking swift-syntax into the bundled CLI by @teamleaderleo in #19356
- build: link the CLI's resource bundles instead of copying them (-3.2 MiB) by @teamleaderleo in #19379
- ci: retry a transient network failure when initializing the ghostty submodule by @lawrencecchen in #19383
- cx-do47: Cmd-click on relative paths opens the file, never a bogus browser host by @teamleaderleo in #19376
- ci: retry transient network failures for the remaining submodule inits by @lawrencecchen in #19395
- cx-do47: Cmd-click opens folders in Finder; missing paths open nothing by @teamleaderleo in #19397
- ci: shard the CLI regressions into three root-label jobs (no bead) by @teamleaderleo in #19398
- ci: route any script by where it runs, not only scripts/ci helpers (no bead) by @teamleaderleo in #19413
- ci: reuse Swift package results whose inputs already passed on the branch (no bead) by @teamleaderleo in #19409
- build: fully strip cmux's own release executables (-13.7 MB arm64) by @teamleaderleo in #19428
- Custom sidebars: autofocus never takes focus the user didn't give by @teamleaderleo in #19372
- build: ship 8-bit Computer Use helper icon renditions (-2.7 MB) by @teamleaderleo in #19433
- fix(cloud): every provider-bound VM route answers inside its client's budget by @lawrencecchen in #19405
- Ship the cmux-cua engine once, as the Computer Use helper by @teamleaderleo in #19386
- cx-do47.1: Cmd-click on notes.md:12 opens the Markdown viewer by @teamleaderleo in #19452
- cx-do47.1: Cmd-hover underlines a path only when it exists by @teamleaderleo in #19443
- test: global search monitor-chain test uses an unclaimed Command-U (no bead) by @teamleaderleo in #19457
- Revert #19405: stats 504 bursts after the VM route deadline change by @lawrencecchen in #19467
- ci: an overflow PR run compiles on a free 12vcpu slot (no bead) by @teamleaderleo in #19466
- Hint mode labels the titlebar's SwiftUI buttons (cx-zjtn.7) by @teamleaderleo in #19484
- Hint mode labels browser panels' page elements (cx-zjtn.7) by @teamleaderleo in #19496
- build: link cmux binaries with dead-code stripping by @teamleaderleo in #19504
- build: fat LTO for cmux-tui release (-11.1 MB unstripped) by @teamleaderleo in #19506
- fix(cloud): VM reads answer inside their client's budget (inline deadline, stage A) by @lawrencecchen in #19511
- Style hint mode labels to the window's theme (cx-zjtn.7) by @teamleaderleo in #19523
- Hint mode labels the sidebar footer and skips the traffic lights (cx-zjtn.7) by @teamleaderleo in #19520
- build: restore thin LTO for cmux-tui release (fixes release client publish) by @teamleaderleo in #19544
- fix: Escape in a find field closes its own find (no bead) by @teamleaderleo in #19563
- cloud sidebar polish: hover, my devices copy and refresh, empty rows, tab switch glide by @lucasr1b in #18303
- Fix auto-resume for normally completed Claude sessions by @austinywang in #18668
- fix(ci): stop passed results hiding nonterminal app-host cases by @BlueRaddish in #19350
- Fix Pi lookup in PATH directories containing wildcard characters by @BlueRaddish in #17567
- Let the command palette's text fields select to line start and end by @jacob-carlborg in #17369
- Click by Hint: opt-in preview toggle in Beta Features and the palette by @teamleaderleo in #19577
- Forward Cmd+C to inline TUIs that capture the mouse by @teamleaderleo in #19604
- Fix OMP restore executable downgrade by @austinywang in #18660
- fix(agents): retire recovered StopFailure state by @austinywang in #18970
- Fix SSH agent environment and relay auth errors by @austinywang in #18662
- fix: restore copy-on-select in cmux ssh panes by @austinywang in #19099
- fix(tui): recover sessions with orphaned unread notifications by @austinywang in #16624
- fix: cmux ssh browser loads pages and forwards localhost to the ssh host by @lucasr1b in #18956
- fix: deep split chains no longer freeze the main thread by @teamleaderleo in #19606
- Copy from ssh mirror panes with Cmd+C and Edit > Copy by @teamleaderleo in #19630
- ci: key the DerivedData seed on the ghostty pin (no bead) by @teamleaderleo in #19657
- cx-sg1qz: notify when an agent chat pane finishes a turn or fails by @teamleaderleo in #19617
- View menu zoom changes the focused terminal's font size by @teamleaderleo in #19632
- build: fat LTO for cmux-tui release again (-11.1 MB unstripped) by @teamleaderleo in #19666
- test: settle fake ssh scripts before the SSH bootstrap runs them by @teamleaderleo in #19676
- fix: route Cloud workspace browsers to the remote machine by @austinywang in #19032
- fix: deep split chains no longer freeze the main thread on first mount by @teamleaderleo in #19672
- fix: blocking feed.push no longer holds a control-socket slot by @teamleaderleo in #19680
- ci: run the cmux-tui artifacts retry from main so failed feat-cmux-next tree runs get retried (cx-ma5x8) by @teamleaderleo in #19715
- ci: nightly-next feed watch from main alarms when feat-cmux-next waits >4h, promotion stalls included (cx-npz7g) by @teamleaderleo in #19718
- OpenCode events stream again and a turn completes once; test hook DEBUG-only (cx-sg1qz) by @teamleaderleo in #19684
- fix: honor Ghostty's inherit-working-directory keys for new terminals by @teamleaderleo in #19685
- ci: publish a feat-cmux-next PR's cmux-tui merge tree from main (cx-73f2) by @teamleaderleo in #19615
- cmux-tui: stop registering journal hooks for Claude's worktree events by @awss1i in #19488
- Preserve aggregate memory coverage on macOS 27 by @austinywang in #19095
- feat(mac): publish OSC 7501 status events by @austinywang in #19091
- Repair #7214 remote tmux workspace routing by @austinywang in #19112
- fix(auth): allow the cmux-next sign-in callback for cmux NEXT (cx-x7hwx) by @teamleaderleo in #19736
- fix: browser TLS challenges no longer evaluate trust on the main thread by @teamleaderleo in #19731
- test: make the warm visibility restore test deterministic (no bead) by @teamleaderleo in #19752
- ci: nightly-next feed watch reads cmux NEXT's feed (cx-x7hwx) by @teamleaderleo in #19747
- Reset a killed program's mouse and screen modes at the prompt (cx-06kyo) by @teamleaderleo in #19786
- cloud welcome: launch card with clip poster, 5 icon rows and blue cta by @lucasr1b in #19689
- Fix CLI browser dialog completion and ownership by @austinywang in #19753
- cmux.com/art: a gallery of the public-domain backgrounds (cx-t2x.8) by @teamleaderleo in #19803
- fix(coderouter): organization imports are usable by the organization's Cloud machines by @austinywang in #19807
- Classic: Ctrl-Tab and Cmd-Shift-] [ move between sidebar workspaces from any pane by @teamleaderleo in https://github.com//pull/19795
- Keep deferred focus inside the active app by @austinywang in #19814
- fix: stop remote forwards with their parent by @austinywang in #19808
- test: stabilize app-host terminal focus fixtures by @austinywang in #19861
- Tab bar: a dragged tab settles into its slot (classic motion pass) by @teamleaderleo in #19593
- Cmd+Y and Cmd+Shift+Y introduce Cloud when it is off by @austinywang in #19876
- Show the signed-in plan on the in-app Upgrade page by @austinywang in #19865
- Release v0.65.1 by @austinywang in #19882
- Release v0.65.1: changelog fixes by @austinywang in #19884
- release: clear the staged prerelease flag before publishing stable by @austinywang in #19928
- fix(devices): keep account-owned Macs across team switches by @azooz2003-bit in #18518
- perf(cloud): create New Machine in process by @austinywang in #18700
- Fix hibernation terminal-mode reset after agent reap by @austinywang in #19806
- Cloud: connect on the first try; scope sign-out to its own build by @austinywang in #19961
- cx-v9hdp: run the nightly frame pacing bench from feat-cmux-next by @teamleaderleo in #19929
- Select Cloud workspaces in the window that owns them by @austinywang in #19970
- fix: route CodeRouter setup through a persisted local workspace by @azooz2003-bit in #19954
- fix: report agent status in ssh-tmux mirrors by @austinywang in #19104
- Cloud: re-enroll a dead tunnel instead of timing out on every machine by @austinywang in #19977
- Name the machines a Cloud VM limit counts, and stop counting paused ones in the header by @austinywang in #19968
- Fix Cloud app-host suites that broke when Cmd-Y started showing the Cloud welcome by @austinywang in #19988
- Add Muse Code agent support by @austinywang in #19992
- test(cloud): restore app-host workspace fixture opt-in by @austinywang in #19991
- Fix Muse Code hooks for fish/nushell and session-name resumes by @austinywang in #19998
- ci: suite runner populates the submodules its package reaches (no bead) by @teamleaderleo in #19995
- Revert #19795: restore Ctrl-Tab / Cmd-Shift-] [ to step pane tabs by @austinywang in https://github.com//pull/20009
- ci: keep the runner account's crash reports so app-host crashes come with symbols by @austinywang in #20007
- test(web): give virtual-clock VM workflow tests their own timeout by @austinywang in #20011
- Fix sidebar workspace reorder by drag (regressed in #18837) by @austinywang in #20015
- fix: release closed manager during Cloud workspace creation by @austinywang in #20001
- Fix a crash when a sidebar workspace drag ends (from #20015) by @austinywang in #20018
- Revert "Previous/Next moves between workspaces from a one-tab pane" (#18939) by @austinywang in #20025
New Contributors
- @jfexyz made their first contribution in #17258
- @csyio made their first contribution in #17308
- @knpwrs made their first contribution in #17688
- @jacob-carlborg made their first contribution in #18533
- @scs0209 made their first contribution in #18527
- @bbeirouti1990 made their first contribution in #18470
- @aidaodedjl made their first contribution in #18396
- @nilbus made their first contribution in #18884
- @awss1i made their first contribution in #19488
Full Changelog: v0.65.0...v0.65.1