Skip to content

Release v0.64.20 - #8473

Merged
austinywang merged 1 commit into
mainfrom
release/v0.64.20
Jul 19, 2026
Merged

austinywang merged 1 commit into
mainfrom
release/v0.64.20

Conversation

@austinywang

@austinywang austinywang commented Jul 19, 2026 •

Copy link
Copy Markdown
Contributor

Release with 213 commits since v0.64.19.

Highlights

Full list in CHANGELOG.md. Excluded from notes: reverted changes (typing-latency rework, browser extensions settings), internal CI/nightly/TestFlight work, and the experimental cmux-lite/protocol-v7 stack.

Version bump: 0.64.19 (build 99) -> 0.64.20 (build 100).

Thanks to @austinywang, @azooz2003-bit, @ejc3, @lawrencecchen, @silouanwright.

🤖 Generated with Claude Code


View with Codesmith Autofix with Codesmith
Need help on this PR? Tag /codesmith with what you need. Autofix is disabled.


Summary by cubic

Release v0.64.20 introduces a native AppKit sidebar (on by default), Browser Design Mode with agent handoff, and mouse input for TUI apps. It also delivers stability and performance fixes across Codex, SSH/tmux, and core UI.

  • New Features

    • Native AppKit workspace sidebar enabled by default.
    • Browser Design Mode with agent handoff.
    • Mouse input forwarding to TUI apps.
    • SSH: share native connections per host; cmux ssh supports an initial remote command.
  • Bug Fixes

    • Preserve Codex YOLO mode and Pi sessions across restore.
    • Reduce typing latency; fix sidebar livelock and popover resize crash.
    • Fix ssh-tmux lifecycle, focus routing, and tmux pane sizing.
    • Browser fixes: Space key handling, numeric eval formatting, automation recovery.

Written for commit 866a827. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • New Release

    • Released version 0.64.20 with updated application version information.
    • Added five feature highlights to the release changelog.
  • Documentation

    • Added a new 0.64.20 changelog section covering additions, changes, and fixes.
    • Included contributor acknowledgments for the release.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 19, 2026 •

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The release adds 0.64.20 changelog content, web feature descriptions, and updated Xcode marketing and project version settings across build configurations.

Changes

Version 0.64.20 release

Layer / File(s) Summary
Release changelog content
CHANGELOG.md, web/app/[locale]/(landing)/docs/changelog/changelog-media.ts
Adds the 0.64.20 release section, contributor attribution, and five web changelog feature entries.
Application build version
cmux.xcodeproj/project.pbxproj
Updates multiple Xcode configurations from project version 99 to 100 and marketing version 0.64.19 to 0.64.20.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: lawrencecchen


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error, 1 warning)

Check name Status Explanation Resolution
Cmux Full Internationalization ❌ Error 0.64.20 adds hardcoded English changelog copy in changelog-media.ts, and the locale route renders it for every locale without matching web/messages/* entries. Move the changelog media strings to next-intl (or another locale source) and add matching translations for all 20 locales in web/i18n/routing.ts.
Description check ⚠️ Warning The description summarizes the release well, but it omits most required template sections like Testing, Demo Video, Review Trigger, and Checklist. Add the missing template sections: Testing, Demo Video, Review Trigger, and Checklist, plus any completed checklist items.
✅ Passed checks (23 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately captures the release/version bump reflected in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Cmux Swift Actor Isolation ✅ Passed Diff touches only changelog, Xcode settings, and TS docs; no Swift files changed, so no new actor-isolation issues were introduced.
Cmux Swift Blocking Runtime ✅ Passed Diff touches only CHANGELOG, project settings, and TS docs; no Swift files or blocking runtime primitives were introduced.
Cmux Browser Automation Off-Main ✅ Passed PR only updates changelog/version metadata and changelog media; no browser socket automation or worker-router code was changed, so the off-main rule isn’t implicated.
Cmux Expensive Synchronous Load ✅ Passed No Swift files are changed in the PR; only changelog, Xcode build settings, and a TS changelog media file were touched.
Cmux Cache Substitution Correctness ✅ Passed Only release-note content and version metadata changed; no Swift/TS/JS persistence, history, undo, or snapshot reads were swapped for cache values.
Cmux No Hacky Sleeps ✅ Passed Diff only updates release notes, version metadata, and changelog copy; it adds no runtime sleeps, timers, polling, or fixed delays.
Cmux Algorithmic Complexity ✅ Passed web/app/[locale]/(landing)/docs/changelog/changelog-media.ts only adds a fixed-size literal array of 4 feature entries; no loops, scans, sorts, or hot-path transforms were introduced.
Cmux Swift Concurrency ✅ Passed No Swift source changed; diff only updates changelog, docs data, and Xcode version numbers, so no legacy async pattern was introduced.
Cmux Swift @Concurrent ✅ Passed The PR diff changes only changelog, Xcode versioning, and web docs; no Swift files or @concurrent-related code were modified.
Cmux Swift Package Boundaries ✅ Passed No Swift source files changed; only changelog, version metadata, and web docs were touched, so the package-boundary rule isn’t implicated.
Cmux Swiftpm Lockfiles ✅ Passed Diff only updates changelog, changelog media, and version/build numbers in project.pbxproj; no SwiftPM package refs, .gitignore, or Package.resolved changes.
Cmux Swift Logging ✅ Passed The PR diff has no Swift source changes; only CHANGELOG.md, the Xcode project, and a TS file were modified.
Cmux User-Facing Error Privacy ✅ Passed PASS: Changed files are release notes/version bumps; no user-facing error/recovery copy or sensitive upstream details were added, and docs are explicitly allowed.
Cmux Swiftui State Layout ✅ Passed No SwiftUI source files changed; the diff only touches CHANGELOG.md, project.pbxproj, and TS changelog data, so the SwiftUI state/layout rule isn’t implicated.
Cmux Architecture Rethink ✅ Passed Diff only updates changelog, Xcode project versioning, and web changelog media; no Swift architecture code changed, so the rule isn’t triggered.
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed PR changes only CHANGELOG.md, project.pbxproj, and changelog media TS; no Swift window code or cmuxAuxiliaryWindowIdentifiers changes, so the rule doesn't apply.
Cmux Source Artifacts ✅ Passed All changed paths are intentional release/docs/config source files; no logs, caches, temp dirs, or other accidental artifacts were added.
Cmux No Test Or Debug Seam In Production Source ✅ Passed No production Swift files under Sources/ were changed; the diff only touches changelog, project settings, and web docs, so the seam rule doesn’t apply.
Cmux No Ambient Global State ✅ Passed PR only updates changelog, Xcode versioning, and TS changelog media; no production Swift files or ambient global-state surface were added.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v0.64.20

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@austinywang
austinywang merged commit 14e3400 into main Jul 19, 2026
5 of 6 checks passed
@greptile-apps

greptile-apps Bot commented Jul 19, 2026 •

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR releases v0.64.20 (build 100), bumping all Xcode build configurations from 0.64.19/99 and adding the corresponding CHANGELOG and web changelog-media entries covering 213 commits.

  • Xcode project: All Debug/Release configurations for the app, UI tests, unit tests, and DockTile plugin are updated consistently from CURRENT_PROJECT_VERSION 99 → 100 and MARKETING_VERSION 0.64.19 → 0.64.20.
  • CHANGELOG.md: New release section documents Native AppKit sidebar, Browser Design Mode, TUI mouse forwarding, Codex YOLO/Pi session persistence, and numerous stability fixes.
  • changelog-media.ts: New 0.64.20 entry adds four feature tiles (Native AppKit Sidebar, Browser Design Mode, Mouse Input for TUI Apps, Stability and Performance) using hardcoded English strings, following the existing pattern in the file.

Confidence Score: 4/5

Safe to merge — all changes are mechanical version bumps and changelog copy with no production logic.

The Xcode project updates are consistent across every build configuration and both build/marketing version fields. The CHANGELOG entry and changelog-media entry are additive content. The only notable gap is that the four new feature-tile strings in changelog-media.ts are hardcoded English rather than going through next-intl, continuing an existing pattern in that file rather than introducing a new one.

web/app/[locale]/(landing)/docs/changelog/changelog-media.ts — new user-facing copy added as hardcoded English strings

Important Files Changed

Filename Overview
CHANGELOG.md Adds v0.64.20 release entry with Added/Changed/Fixed sections and contributor list; no code logic changes.
cmux.xcodeproj/project.pbxproj Mechanical version bump: all build configurations updated from CURRENT_PROJECT_VERSION 99→100 and MARKETING_VERSION 0.64.19→0.64.20, consistently across Debug/Release and all targets (app, UI tests, unit tests, DockTile plugin).
web/app/[locale]/(landing)/docs/changelog/changelog-media.ts Adds a new 0.64.20 media entry with four feature tiles; text is hardcoded English following the existing pattern in this file, not routed through next-intl.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Release PR v0.64.20] --> B[CHANGELOG.md\nNew section for 0.64.20]
    A --> C[cmux.xcodeproj/project.pbxproj\nVersion bump 99→100 / 0.64.19→0.64.20]
    A --> D[changelog-media.ts\nNew 0.64.20 media entry]
    C --> C1[App target Debug/Release]
    C --> C2[AppUITests Debug/Release]
    C --> C3[AppTests Debug/Release]
    C --> C4[DockTilePlugin Debug/Release]
    D --> D1[Native AppKit Sidebar tile]
    D --> D2[Browser Design Mode tile]
    D --> D3[Mouse Input for TUI Apps tile]
    D --> D4[Stability and Performance tile]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[Release PR v0.64.20] --> B[CHANGELOG.md\nNew section for 0.64.20]
    A --> C[cmux.xcodeproj/project.pbxproj\nVersion bump 99→100 / 0.64.19→0.64.20]
    A --> D[changelog-media.ts\nNew 0.64.20 media entry]
    C --> C1[App target Debug/Release]
    C --> C2[AppUITests Debug/Release]
    C --> C3[AppTests Debug/Release]
    C --> C4[DockTilePlugin Debug/Release]
    D --> D1[Native AppKit Sidebar tile]
    D --> D2[Browser Design Mode tile]
    D --> D3[Mouse Input for TUI Apps tile]
    D --> D4[Stability and Performance tile]
Loading

Comments Outside Diff (1)

  1. web/app/[locale]/(landing)/docs/changelog/changelog-media.ts, line 29-57 (link)

    P2 New user-facing strings not routed through next-intl

    The four feature tile title and description values added for 0.64.20 are hardcoded English strings that bypass next-intl. The full-internationalization rule requires user-facing web text to be sourced from the locale message files and represented across every locale listed in web/i18n/routing.ts. This file already has the same issue for the 0.64.18 entry, but this PR extends the pattern by introducing additional untranslated copy shown to users on the changelog landing page.

    Rule Used: Flag production user-facing text that is not fully... (source)

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Reviews (1): Last reviewed commit: "Bump version to 0.64.20" | Re-trigger Greptile

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@web/app/`[locale]/(landing)/docs/changelog/changelog-media.ts:
- Around line 30-51: Replace the hardcoded changelog feature titles and
descriptions in the changelog entry with next-intl localization keys, following
the existing localization pattern in changelog-media.ts. Add matching
translations for every supported locale in web/messages/, preserving the current
English text as the default-language values.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: a0bbb4e7-bfba-4d17-9c3f-85f7a3904988

📥 Commits

Reviewing files that changed from the base of the PR and between 84519d1 and 866a827.

📒 Files selected for processing (3)
  • CHANGELOG.md
  • cmux.xcodeproj/project.pbxproj
  • web/app/[locale]/(landing)/docs/changelog/changelog-media.ts

Comment on lines +30 to +51
title: "Native AppKit Sidebar, Browser Design Mode, TUI Mouse Forwarding",
features: [
{
title: "Native AppKit Sidebar",
description:
"The workspace sidebar is rebuilt on native AppKit rows and is now on by default: faster scrolling in large workspace lists, precise hover and selection, and full fidelity with your sidebar settings.",
},
{
title: "Browser Design Mode",
description:
"Visually edit pages inside the browser pane, annotate elements, and hand the annotated changes straight to an agent to implement.",
},
{
title: "Mouse Input for TUI Apps",
description:
"cmux now forwards mouse input to TUI applications running in the terminal, so tools that own the pointer respond to clicks, drags, and scrolls as expected.",
},
{
title: "Stability and Performance",
description:
"Codex YOLO mode and Pi sessions survive restore, typing latency from title churn is fixed, sidebar scroll livelocks and popover resize crashes are gone, and remote ssh-tmux panes size and focus correctly.",
},

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Localize user-facing changelog text.

These feature titles and descriptions use hardcoded English strings instead of localization keys. As per path instructions and coding guidelines, user-facing web UI and changelog text must use next-intl (or another locale-specific runtime source) and be represented for every supported locale. Please introduce localization keys here and include the corresponding string catalog additions in web/messages/.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@web/app/`[locale]/(landing)/docs/changelog/changelog-media.ts around lines 30
- 51, Replace the hardcoded changelog feature titles and descriptions in the
changelog entry with next-intl localization keys, following the existing
localization pattern in changelog-media.ts. Add matching translations for every
supported locale in web/messages/, preserving the current English text as the
default-language values.

Sources: Coding guidelines, Path instructions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant