What's Changed
- Fix bundled Ghostty theme picker helper packaging by @lawrencecchen in #1459
- Fix main CI regressions by @lawrencecchen in #1458
- Add configurable sidebar tint color with light/dark mode support by @rrva in #1465
- Fix arrow key glyph matching in customizable shortcuts by @GaetanJuvin in #1443
- fix: make Cmd+W close About/Licenses windows instead of terminal tabs by @gaelic-ghost in #1473
- fix: remove blocking sleep from preexec hook causing command lag by @BillionClaw in #1444
- Add Startpage search engine support by @zlatkoc in #1368
- Fix About Panel Newline Escaping by @jonathanwuki in #1298
- fix: correct Claude Code hooks config to match actual schema by @mxschmitt in #1388
- feat: support window.open() popup windows by @SuperManfred in #1150
- Fix terminal find overlay crash and focus handoff by @austinywang in #1487
- Fix Google sign-in infinite loading in browser pane by @austinywang in #1493
- Keep pinned workspaces above the sidebar pin boundary by @lawrencecchen in #1503
- Require pinned IDs in the sidebar drop planner by @lawrencecchen in #1505
- fix: show sidebar update banner from background checks by @austinywang in #1543
- Support dropping folders onto the dock icon by @austinywang in #1571
- Fix split transparency regression by @lawrencecchen in #1568
- Fix sidebar PR badges for restored workspaces by @austinywang in #1570
- Fix browser PR metadata deadlock and BrowserPanelView hot paths by @austinywang in #1564
- Fix #1574: remove top update banner in sidebar by @austinywang in #1575
- Browser: import data from detected installed browsers by @lawrencecchen in #318
- Fix spinner hang after display resolution changes by @lawrencecchen in #1549
- Migrate CI/CD to WarpBuild, consolidate test jobs by @lawrencecchen in #1501
- Add cmux ssh remote workspaces with auto port forwarding by @lawrencecchen in #1296
- Fix nightly release browser portal compile by @lawrencecchen in #1591
- Add macOS 26 (Tahoe) compat tests by @lawrencecchen in #1590
- Fix remote daemon build output path by @lawrencecchen in #1595
- Fix SSH remote CLI wrapper and proxy follow-ups by @lawrencecchen in #1596
- Fix #1406: restore Sparkle scheduled update checks by @austinywang in #1597
- Add hidden CLI command for live terminal debugging by @lawrencecchen in #1599
- Open a new terminal tab from empty tab bar double-click by @lawrencecchen in #1601
- fix(Workspace): fix EXC_BAD_ACCESS caused by over-releasing ghostty font by @s010s in #1496
- Tighten browser import sheet UI by @lawrencecchen in #1593
- fix: browser import profile follow-up regressions by @lawrencecchen in #1582
- fix(web): exclude PostHog proxy from i18n middleware by @lawrencecchen in #1626
- Fix missing command palette open-in targets by @lawrencecchen in #1621
- Fix workspace layout follow-up spin loop by @austinywang in #1633
- Add Vietnamese README by @eliophan in #1537
- Fix AZERTY Option+Delete word delete in Claude Code by @austinywang in #1640
- Fix browser devtools X-close persistence by @austinywang in #1627
- Add 'rc' and 'remote-control' to command passthrough by @FredrikSeidl in #1539
- fix: suppress socat stdout in _cmux_send to prevent OK leak by @fvallenilla in #1619
- Fix dark mode app icon not applied in automatic mode by @ddotz in #1510
- feat: add web-browser entitlement for iCloud Passwords autofill by @guanchzhou in #1518
- Move Japanese to second position in README language selectors by @lawrencecchen in #1647
- fix(terminal): prevent redundant focus events causing Powerlevel10k redraws by @BillionClaw in #1579
- fix(terminal): prevent doomscroll when reviewing scrollback by @BillionClaw in #1616
- Address command palette follow-up review comments by @lawrencecchen in #1644
- Rename "Import From Browser" to "Import Browser Data" by @lawrencecchen in #1672
- fix(terminal): execute Return after Korean IME commit by @lawrencecchen in #1671
- Restore last-surface close preference toggle by @austinywang in #1679
- Fix sidebar workspace PR status display and false positives by @austinywang in #1636
- Redirect cmux.dev to cmux.com with 301s by @lawrencecchen in #1716
- Split mega test file, bump CI timeout, stream xcodebuild output by @lawrencecchen in #1717
- fix: repair NIGHTLY Sparkle quarantine metadata by @austinywang in #1703
- Fix laggy terminal sync during sidebar drags by @lawrencecchen in #1598
- Update all remaining cmux.dev references to cmux.com by @lawrencecchen in #1721
- Revert testimonial quotes back to cmux.dev by @lawrencecchen in #1722
- Fix floating portal terminal after nightly update relaunch by @lawrencecchen in #1696
- Revert "fix: repair NIGHTLY Sparkle quarantine metadata (#1703)" by @austinywang in #1725
- fix: remove restricted web-browser entitlement by @austinywang in #1727
- Include hardware details in feedback submissions by @lawrencecchen in #1726
- Make founders email selectable in feedback success view by @lawrencecchen in #1733
- SEO hardening: canonicals, sitemap x-default, legal dates by @lawrencecchen in #1741
- Use dynamic copyright year in Terms of Service by @lawrencecchen in #1742
- fix: skip identical session autosave writes by @lawrencecchen in #1732
- Wire split test files into build phase, add test timeout by @lawrencecchen in #1743
- Add PostHog and Resend to privacy policy by @lawrencecchen in #1744
- Fix command palette ordering for check query by @lawrencecchen in #1740
- Hide workspace titlebar chrome in minimal mode by @lawrencecchen in #1479
- Fix display harness manifest handoff in UI test by @lawrencecchen in #1724
- Show update-available banner automatically on launch by @austinywang in #1651
- Merge main into sidebar PR status branch by @austinywang in #1776
- Report release launch status in reloadp.sh by @gaelic-ghost in #1774
- Fix CI test timeout: stream output, bump to 30m by @lawrencecchen in #1783
- Add optional single-click focus for inactive panes by @lawrencecchen in #1796
- Stabilize sidebar directory ordering when split focus changes by @lawrencecchen in #1798
- Make remote sidebar directory canonicalization preserve live paths by @lawrencecchen in #1800
- Skip hanging test in compat CI to match ci.yml by @lawrencecchen in #1801
- Fix cmux ssh notify surface targeting by @lawrencecchen in #1799
- Fix terminal pane drag/drop handoff delay by @austinywang in #1837
- Fix browser pane file drops hanging on Uploading by @austinywang in #1843
- Fix browser image copy pasteboard data by @austinywang in #1850
- feat: add set-color/clear-color to workspace-action CLI by @bagelcode-jhkim in #1833
- fix(shell): check git repo before running git commands to prevent TCC prompts by @BillionClaw in #1677
- fix: skip Korean from CJK font-codepoint-map auto-injection by @seohyeon1578 in #1700
- Stop canceling in-progress nightly builds by @lawrencecchen in #1856
- Fix focused notification sound playback by @lawrencecchen in #1855
- feat: add --direction flag to markdown open command by @zsalzbank in #1763
- fix: align titlebar icons with traffic-light buttons by @pstanton237 in #1754
- fix(hooks): handle TabManager unavailable in SessionEnd/Start hooks by @BillionClaw in #1735
- fix(sidebar): avoid premature workspace title truncation by @lawrencecchen in #1859
- Fix keyboard shortcuts with CJK input sources by @sumniy in #1649
- Add IntelliJ IDEA to command palette Open Directory targets by @lawrencecchen in #1860
- Share browser context with OAuth popups by @lawrencecchen in #1600
- ci: add concurrency groups to prevent WarpBuild runner contention by @lawrencecchen in #1889
- Support image drag-and-drop into SSH terminals by @lawrencecchen in #1838
- Add OG image for social media previews by @lawrencecchen in #1861
- Fix sidebar PR badge detection for workspace branches by @austinywang in #1896
- Fix browser back navigation history handoff by @austinywang in #1897
- Fix SSH image transfer followups by @lawrencecchen in #1904
- Fix SSH image transfer cleanup and IPv6 followups by @lawrencecchen in #1907
- Add failing regression test for browser find focus by @lawrencecchen in #1891
- fix: Cloudflare/CAPTCHA verification failures in browser panel by @Jesssullivan in #1877
- fix: AppleScript count windows returns 0 + working directory returns empty by @grimmerk in #1826
- feat(dialog): show tab name in close tab confirmation by @mvanhorn in #1845
- fix: apply background-opacity and background-blur to terminal rendering area (#879) by @martinezhermes in #1858
- Fix browser pane video fullscreen by @austinywang in #1921
- Confirm before closing pinned workspaces by @austinywang in #1895
- Fix Sparkle update dialog requiring two presses by @austinywang in #1908
- Customizable number shortcuts by @austinywang in #1951
- Improve tmux notification attention routing by @lawrencecchen in #1898
- Replace force-unwrapped .data(using: .utf8)! with Data(string.utf8) by @lifrary in #1834
- Fix unbound Cmd+Shift+key combos being silently swallowed by @che-3 in #1959
- Fix locale page crashes under Google Translate by @austinywang in #1956
- Fix #1870: prevent split crash on Intel Macs caused by stale font pointer by @elvistranhere in #1915
- Fix keyboard shortcuts not working with Korean input mode by @centraldogma99 in #1913
- Fix terminal black screen on macOS 26.3.1 by dispatching Ghostty callbacks to main thread by @rerun0510 in #1937
- Fix claude-hook stop teardown races by @austinywang in #1954
- Fix Escape key not working in terminal panels (e.g. lazygit) by @che-3 in #1957
- Fix browser freeze after pane split by @Apptah in #1852
- Fix splitter hitbox overlap and terminal scrollbar width resync by @austinywang in #1950
- Fix reload.sh stale-artifact launch after failed builds by @gaelic-ghost in #1888
- Preserve explicit wheel scrollback against passive follow by @lawrencecchen in #1965
- fix(terminal): prevent cursor movement on double-click selection by @BillionClaw in #1709
- Fix blank terminal renders after workspace switches by @austinywang in #1964
- Fix UI test foreground activation on CI by @austinywang in #1981
- Add dual licensing (AGPL + commercial) by @lawrencecchen in #2021
- Avoid crash when creating a new workspace by @lawrencecchen in #2023
- Shift titlebar folder icon 7px left by @lawrencecchen in #2030
- Fix #1357: hide stale terminal portal after restore churn by @austinywang in #2025
- Fix sidebar badges not refreshing on workspace state change by @austinywang in #2046
- Add -r shorthand to SKIP_SESSION_ID check in claude wrapper by @anthhub in #1992
- feat: expose per-surface TTY in tree output by @grimmerk in #2040
- Fix all split panes appearing focused after layout restoration by @lawrencecchen in #2088
- Revert Sparkle manual update dialog flow from #1908 by @austinywang in #2090
- fix(browser): use native value setter for React compatibility by @joshuaswanson in #2059
- Fix sidebar notification persisting after being read by @che-3 in #1933
- Export CMUX_SOCKET alongside CMUX_SOCKET_PATH in terminal env by @anthhub in #1991
- Fix workspace creation failing after long uptime by @che-3 in #1930
- docs: remove outdated Claude Code hooks section from notifications by @BillionClaw in #2053
- fix: increase contentSideHitWidth to prevent accidental window resize by @BillionClaw in #2018
- Remove fork PR guards from CI workflows by @lawrencecchen in #2092
- Fix NIGHTLY crash after
cmux ssh cmux-macminiby @lawrencecchen in #2099 - reload.sh: default to build-only, add --launch flag by @lawrencecchen in #2097
- Fix dock icon not auto-switching with system dark mode by @che-3 in #1928
- Fix Ghostty font-family fallback chain regression by @austinywang in #1308
- fix: prevent Japanese IME confirmation Enter from executing command by @rerun0510 in #2075
- Fix panel resize stuttering when tiled with browser panels by @elvistranhere in #1969
- Fix browser portal leaking to other tabs on Bonsplit tab switch by @anthhub in #2000
- Consume Cmd+number shortcuts when workspace index is out of bounds by @anthhub in #2033
- Add Codex CLI hooks integration by @lawrencecchen in #2103
- feat: cmux.json for custom commands by @pratikpakhale in #2011
- Skip sidebar PR lookup on main/master branches by @austinywang in #2110
- fix(browser): keep IME Enter on composition path by @austinywang in #2108
- Validate workspace color during cmux.json decode by @lawrencecchen in #2112
- Reduce shell integration prompt latency by @lawrencecchen in #2109
- feat: add arrow keys, shift+tab, home/end/delete/pageup/pagedown to sendNamedKey by @yirugi in #1920
- Add set-color/clear-color workspace actions for tab color via CLI by @ariel-wiz in #1873
- Fix SSH control master cleanup on remote teardown by @lawrencecchen in #2104
- Fix #1983: avoid workspace creation crash after restore by @austinywang in #1985
- Fix Ghostty resize_split keybind support by @jorgitin02 in #1899
- Handle Cmd+O in handleCustomShortcut to prevent Documents folder open by @anthhub in #2034
- Fix display/consent mismatch in cmux.json command execution by @lawrencecchen in #2122
- Fix first click on detected update pill by @austinywang in #2117
- New window inherits size from current window by @lawrencecchen in #2124
- Add regression coverage for Cmd+N workspace creation crash by @austinywang in #2127
- Fix window position restore on relaunch by @austinywang in #2129
- Double-click custom titlebar to zoom or minimize by @austinywang in #2130
- Fix Cmd+N crash from stale workspace creation snapshots by @austinywang in #2133
- Fix browser panes rendering blank after reopen by @austinywang in #2141
- Fix sidebar update pill cached popover flow by @austinywang in #2142
- fix: guard inherited terminal config against stale surfaces by @austinywang in #2101
- Fix Cmd+N workspace creation snapshot crashes by @austinywang in #2173
- Fix update attempt refreshing pill without actually updating by @lawrencecchen in #2168
- Fix command palette focus after terminal find by @lawrencecchen in #2089
- reload.sh: use allowAll socket mode for dev builds by @lawrencecchen in #2165
- Skip SSH cleanup after moving the last remote surface by @lawrencecchen in #2123
- Fix Cmd+N crash from workspace creation config snapshots by @austinywang in #2178
- Fix command palette follow-up review comments by @lawrencecchen in #2174
- Fix Release-only Cmd+N workspace snapshot UAF by @austinywang in #2181
- Fix Cmd+N crash: retain snapshot workspaces through creation by @austinywang in #2183
- Fix Cmd+N nightly crash: avoid local Workspace refs in ARC hotpath by @austinywang in #2204
- Fix claude-teams pane anchoring with main-vertical layout by @lawrencecchen in #2119
- Fix SEO indexing: hreflang, canonicals, sitemap, trailing slash by @lawrencecchen in #2193
- fix(quit): enforce Warn Before Quit when Cmd+Q arrives via app switcher by @anthhub in #2186
- chore: remove unused koreanRanges constant by @hjick in #2158
- Fix workspace shortcut docs by @austinywang in #2211
- fix: route PWD action to correct TabManager per tabId by @anthhub in #2147
- Add --name flag to new-workspace CLI command by @ueg1990 in #2160
- fix: keyboard shortcuts not working with Russian layout by @adw0rd in #2202
- docs: add Copilot CLI hook setup to notifications guide by @Harley-Adams in #1875
- feat(sidebar): make listening ports clickable to open in browser by @mvanhorn in #1844
- Fix workspace creation snapshot crash by @lawrencecchen in #2176
- Revert liveSurfaceForGhosttyAccess: fix Cmd+N @published nil crash by @austinywang in #2221
- docs: add Copilot CLI hooks to i18n notifications page by @lawrencecchen in #2217
- Add
cmux omocommand for oh-my-openagent integration by @lawrencecchen in #2087 - fix(sidebar): use dedicated setting for port link browser preference by @lawrencecchen in #2219
- Fix nightly SSH remote daemon checksum mismatch by @lawrencecchen in #2225
- Support modifier+key combinations in send-key (ctrl+enter, shift+tab, etc.) by @anthhub in #1994
- fix(socket): return not_found when surface_id is provided but unresolvable by @anthhub in #2150
- Fix tmux compat store decoding, layout cleanup, and cross-workspace fallback by @lawrencecchen in #2207
- Add --no-focus flag to cmux ssh by @lawrencecchen in #2227
- Improve cmux omo error when opencode is not installed by @lawrencecchen in #2230
- Switch nightly builds to macOS Tahoe runner by @lawrencecchen in #2231
- Switch release builds to macOS Tahoe runner by @lawrencecchen in #2233
- Add Korean localization for README.ko.md assets by @ChoiysApple in #1811
- feat(i18n): add Ukrainian (uk) localization by @serzhik in #2226
- Fix Intel second-surface config inheritance crash by @austinywang in #2179
- Revert "Fix Intel second-surface config inheritance crash" by @austinywang in #2267
- Add customizable sidebar selection highlight color by @Audiofool934 in #1824
- Fix minimal mode toggle not updating titlebar state by @lawrencecchen in #2218
- perf: coalesce scrollbar updates during bulk output by @khj68 in #2116
- Add claude-teams, omo, and __tmux-compat to Go relay CLI for SSH sessions by @lawrencecchen in #2238
- Fix #1793: skip CJK fallback injection when font-family already covers glyphs by @austinywang in #2241
- Fix cmux omo bootstrap when user pins yanked plugin deps by @austinywang in #2280
- Fix ARC workspace inheritance crash and native Zig helper builds by @austinywang in #2283
- Skip quit confirmation for tagged DEV builds by @lawrencecchen in #2288
- Add Match Terminal Background sidebar setting by @lawrencecchen in #2293
- Build universal binary in stable release workflow by @austinywang in #2287
- Prepare 0.63.0 release by @austinywang in #2297
New Contributors
- @rrva made their first contribution in #1465
- @GaetanJuvin made their first contribution in #1443
- @gaelic-ghost made their first contribution in #1473
- @BillionClaw made their first contribution in #1444
- @zlatkoc made their first contribution in #1368
- @jonathanwuki made their first contribution in #1298
- @mxschmitt made their first contribution in #1388
- @SuperManfred made their first contribution in #1150
- @s010s made their first contribution in #1496
- @eliophan made their first contribution in #1537
- @FredrikSeidl made their first contribution in #1539
- @fvallenilla made their first contribution in #1619
- @ddotz made their first contribution in #1510
- @guanchzhou made their first contribution in #1518
- @bagelcode-jhkim made their first contribution in #1833
- @seohyeon1578 made their first contribution in #1700
- @zsalzbank made their first contribution in #1763
- @pstanton237 made their first contribution in #1754
- @sumniy made their first contribution in #1649
- @Jesssullivan made their first contribution in #1877
- @grimmerk made their first contribution in #1826
- @mvanhorn made their first contribution in #1845
- @martinezhermes made their first contribution in #1858
- @lifrary made their first contribution in #1834
- @che-3 made their first contribution in #1959
- @elvistranhere made their first contribution in #1915
- @centraldogma99 made their first contribution in #1913
- @rerun0510 made their first contribution in #1937
- @Apptah made their first contribution in #1852
- @anthhub made their first contribution in #1992
- @joshuaswanson made their first contribution in #2059
- @pratikpakhale made their first contribution in #2011
- @yirugi made their first contribution in #1920
- @ariel-wiz made their first contribution in #1873
- @jorgitin02 made their first contribution in #1899
- @hjick made their first contribution in #2158
- @ueg1990 made their first contribution in #2160
- @adw0rd made their first contribution in #2202
- @Harley-Adams made their first contribution in #1875
- @ChoiysApple made their first contribution in #1811
- @serzhik made their first contribution in #2226
- @Audiofool934 made their first contribution in #1824
- @khj68 made their first contribution in #2116
Full Changelog: v0.62.2...v0.63.0