Repository navigation
Release v0.64.17 - #6682
Release v0.64.17#6682
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughVersion bump from 0.64.16 to 0.64.17: the Xcode project increments ChangesRelease 0.64.17 version bump and changelog
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (2 errors, 1 inconclusive)
✅ Passed checks (22 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
Greptile SummaryThis PR releases v0.64.17 by bumping
Confidence Score: 5/5Safe to merge — purely a version number bump, changelog text, and feature highlight copy with no production logic changes. All three changed files are release bookkeeping: the Xcode project version numbers are bumped uniformly across every target, the changelog entry follows the established format, and the changelog-media entry mirrors the pattern of every prior release. No production Swift, runtime, or web logic is modified. No files require special attention. Important Files Changed
Reviews (2): Last reviewed commit: "Bump version to 0.64.17" | Re-trigger Greptile |
Changelog for 0.64.17: remote tmux -CC mirroring (beta), global font magnification, right-sidebar custom tabs, browser audio indicator + hard refresh, diff viewer branch-base picker, plus a large batch of stability, sidebar, session-restore, and performance fixes. Credits 12 contributors. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
c55f9f3 to
ea891cc
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 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 `@CHANGELOG.md`:
- Around line 7-27: The CHANGELOG.md file has section headings that do not
comply with markdownlint rule MD022, which requires blank lines both above and
below section headings. Insert a blank line immediately after each section
heading (### Added, ### Changed, ### Fixed, ### Removed) before the first list
item in that section to ensure proper markdown formatting compliance across all
heading instances in the document.
- Around line 5-113: The changelog entries for version 0.64.17 that were added
to CHANGELOG.md are missing from all 20 locale-specific message catalog files
(ar, bs, da, de, en, es, fr, it, ja, km, ko, no, pl, pt-BR, ru, th, tr, uk,
zh-CN, zh-TW). Add the complete 0.64.17 changelog content including the Added,
Changed, Fixed, Removed sections and the contributor attribution list to each of
the web/messages locale JSON files to ensure the changelog renders correctly on
the docs site for all supported languages.
In `@web/app/`[locale]/docs/changelog/changelog-media.ts:
- Around line 29-59: The feature titles and descriptions in the 0.64.17 version
object of changelogMedia are hardcoded without localization. Extract all feature
title and description strings ("iOS Beta: Agent Chat", "Global Font
Magnification", "Remote tmux Mirroring (Beta)", "Browser and Diff Viewer
Polish", "Stability and Performance") from the hardcoded changelogMedia entries
and add them as key-value pairs to all 21 supported locale message catalogs in
web/messages/*.json files (en.json, ja.json, and others). Then update the
FeatureList component to retrieve these strings from next-intl instead of
accessing feature.title and feature.description directly from the changelogMedia
object, so all user-facing content is properly localized per the path
instructions.
🪄 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: 8086cdbc-0232-4b1b-a76c-cdc0caedc24c
📒 Files selected for processing (3)
CHANGELOG.mdcmux.xcodeproj/project.pbxprojweb/app/[locale]/docs/changelog/changelog-media.ts
| ## [0.64.17] - 2026-06-23 | ||
|
|
||
| ### Added | ||
| - iOS (beta): Telegram-style Agent Chat. Open any agent session as a chat thread, send text and image messages, and watch live streaming with tool-call rendering and terminal command blocks ([#5984](https://github.com/manaflow-ai/cmux/pull/5984)) -- thanks @azooz2003-bit! | ||
| - Remote tmux mirroring over SSH using `-CC` control mode, in beta ([#5553](https://github.com/manaflow-ai/cmux/pull/5553)) -- thanks @robertnisipeanu! | ||
| - Global font magnification to scale the whole interface ([#6554](https://github.com/manaflow-ai/cmux/pull/6554)) | ||
| - Right-sidebar custom sidebar tabs ([#6430](https://github.com/manaflow-ai/cmux/pull/6430)) | ||
| - Chrome-style audio-playing indicator on browser panes ([#6517](https://github.com/manaflow-ai/cmux/pull/6517)) | ||
| - Browser hard-refresh shortcut ([#6256](https://github.com/manaflow-ai/cmux/pull/6256)) | ||
| - Clear Screen (Keep Scrollback) command, bound to Cmd+Shift+K ([#6139](https://github.com/manaflow-ai/cmux/pull/6139)) | ||
| - Configurable terminal scroll-speed multiplier via `terminal.scrollSpeed` ([#5671](https://github.com/manaflow-ai/cmux/pull/5671)) -- thanks @RubiconPerform! | ||
| - Open the selected file from the keyboard in the file explorer ([#6001](https://github.com/manaflow-ai/cmux/pull/6001)) | ||
| - One-step grouped workspace creation ([#6657](https://github.com/manaflow-ai/cmux/pull/6657)) | ||
| - Searchable, uncapped diff viewer branch-base picker with smart defaults ([#6484](https://github.com/manaflow-ai/cmux/pull/6484)) -- thanks @azooz2003-bit! | ||
| - Mark workspaces read/unread and clear notifications from the workspace group menu ([#6535](https://github.com/manaflow-ai/cmux/pull/6535)) -- thanks @azooz2003-bit! | ||
| - Profiling capture action with a live progress window ([#6433](https://github.com/manaflow-ai/cmux/pull/6433), [#6440](https://github.com/manaflow-ai/cmux/pull/6440)) | ||
| - `cmux remotes` CLI to manage device-registry routes ([#6096](https://github.com/manaflow-ai/cmux/pull/6096)) | ||
| - Flag "Needs input" for blocked AskUserQuestion and ExitPlanMode prompts under `--dangerously-skip-permissions` ([#6608](https://github.com/manaflow-ai/cmux/pull/6608)) | ||
| - iOS (beta): on-device voice dictation in the composer ([#6197](https://github.com/manaflow-ai/cmux/pull/6197)) | ||
| - iOS (beta): image attachments in the composer ([#6102](https://github.com/manaflow-ai/cmux/pull/6102)) | ||
| - iOS (beta): Return key on the terminal accessory bar ([#6101](https://github.com/manaflow-ai/cmux/pull/6101)) | ||
| - iOS (beta): mark workspaces read/unread from the terminal menu, with an unread-count badge on the back button ([#6362](https://github.com/manaflow-ai/cmux/pull/6362), [#6350](https://github.com/manaflow-ai/cmux/pull/6350)) | ||
|
|
||
| ### Changed | ||
| - Terminal and browser surface tabs hug their content instead of stretching to a fixed width ([#6653](https://github.com/manaflow-ai/cmux/pull/6653)) | ||
| - Prioritize full command-palette title matches over partial ones ([#6498](https://github.com/manaflow-ai/cmux/pull/6498)) | ||
| - Reduce UI lag from Settings, sidebar, git, and browser churn ([#6260](https://github.com/manaflow-ai/cmux/pull/6260)) -- thanks @azooz2003-bit! | ||
| - Evict hidden browser WebViews under memory pressure and defer restored WebViews until visible ([#6585](https://github.com/manaflow-ai/cmux/pull/6585), [#6508](https://github.com/manaflow-ai/cmux/pull/6508)) | ||
| - Gate idle pollers to the active workspace ([#6583](https://github.com/manaflow-ai/cmux/pull/6583)) | ||
| - Diff viewer toolbar stays responsive and never overlaps at small widths ([#6550](https://github.com/manaflow-ai/cmux/pull/6550)) -- thanks @azooz2003-bit! | ||
| - Allow `.m4r` files as notification sounds ([#6635](https://github.com/manaflow-ai/cmux/pull/6635)) | ||
| - iOS (beta): collapse workspace folders per device ([#6666](https://github.com/manaflow-ai/cmux/pull/6666)) | ||
|
|
||
| ### Fixed | ||
| - Fix a sidebar lag regression from v0.64.16 by cutting per-row font-modifier and pin-state work ([#6613](https://github.com/manaflow-ai/cmux/pull/6613)) | ||
| - Fix the Codex sidebar status lifecycle and stale Claude notification sidebar status ([#6609](https://github.com/manaflow-ai/cmux/pull/6609), [#6473](https://github.com/manaflow-ai/cmux/pull/6473)) | ||
| - Fix sidebar tab selection highlight timing ([#6627](https://github.com/manaflow-ai/cmux/pull/6627)) | ||
| - Fix Cmd+T opening in home after an agent-resume session restore ([#6621](https://github.com/manaflow-ai/cmux/pull/6621)) | ||
| - Fix explicit surface routing for read-screen and send ([#6605](https://github.com/manaflow-ai/cmux/pull/6605)) | ||
| - Fix stale surface-to-panel rebinding and stale agent-resume executable paths ([#6581](https://github.com/manaflow-ai/cmux/pull/6581), [#6582](https://github.com/manaflow-ai/cmux/pull/6582)) | ||
| - Fix terminal input after a window key restore ([#6518](https://github.com/manaflow-ai/cmux/pull/6518)) | ||
| - Fix the Cmd+grave show/hide global hotkey ([#6477](https://github.com/manaflow-ai/cmux/pull/6477)) | ||
| - Fix vim copy-mode cursor, V/Y selection, and pasteboard ([#6221](https://github.com/manaflow-ai/cmux/pull/6221)) | ||
| - Fix copy-on-select parity with Ghostty ([#6200](https://github.com/manaflow-ai/cmux/pull/6200)) | ||
| - Fix the crash-diagnostic window restore ([#6596](https://github.com/manaflow-ai/cmux/pull/6596)) | ||
| - Fix a tab-switch crash in the vertical sidebar ([#6340](https://github.com/manaflow-ai/cmux/pull/6340)) | ||
| - Fix a ~100% CPU re-render loop when selecting a bundled extension sidebar ([#6341](https://github.com/manaflow-ai/cmux/pull/6341)) | ||
| - Fix blank SF Symbol controls on macOS 27 ([#6396](https://github.com/manaflow-ai/cmux/pull/6396)) | ||
| - Fix the audio indicator audibility signal ([#6566](https://github.com/manaflow-ai/cmux/pull/6566)) | ||
| - Fix browser download trigger parity ([#6258](https://github.com/manaflow-ai/cmux/pull/6258)) | ||
| - Recover Settings opened from offscreen frames, and stop a closed Settings window from reappearing ([#5806](https://github.com/manaflow-ai/cmux/pull/5806), [#6193](https://github.com/manaflow-ai/cmux/pull/6193)) | ||
| - Fix title-churn beachball in transcript adoption and sidebar rows ([#6460](https://github.com/manaflow-ai/cmux/pull/6460)) | ||
| - Restore the pane header title after a terminal restart ([#6333](https://github.com/manaflow-ai/cmux/pull/6333)) | ||
| - Recover a blank Markdown viewer pane after dragging it to another column ([#6331](https://github.com/manaflow-ai/cmux/pull/6331)) | ||
| - Vault sidebar always offers "Show more" so capped folder sections stay reachable ([#6327](https://github.com/manaflow-ai/cmux/pull/6327)) | ||
| - Fix the working directory after session-restore resume for Claude and other agents ([#6458](https://github.com/manaflow-ai/cmux/pull/6458), [#6205](https://github.com/manaflow-ai/cmux/pull/6205)) | ||
| - Fix Claude Code 2.1.183 agent-team teammates opening split panes again ([#6499](https://github.com/manaflow-ai/cmux/pull/6499)) | ||
| - Preserve Claude Teams restore flags ([#6242](https://github.com/manaflow-ai/cmux/pull/6242)) | ||
| - Fix right-sidebar surface shortcut spam routing ([#6472](https://github.com/manaflow-ai/cmux/pull/6472)) | ||
| - Fix Dia browser import profile detection ([#6478](https://github.com/manaflow-ai/cmux/pull/6478)) | ||
| - Fix zsh aliases after the agent return shell ([#6515](https://github.com/manaflow-ai/cmux/pull/6515)) | ||
| - Fix settings search for auto-naming and broaden fuzzy settings-search matching ([#6201](https://github.com/manaflow-ai/cmux/pull/6201), [#6196](https://github.com/manaflow-ai/cmux/pull/6196)) | ||
| - Fix terminal focus retry after a tiny responder handoff ([#6359](https://github.com/manaflow-ai/cmux/pull/6359)) | ||
| - Avoid DevTools teardown during redock ([#6559](https://github.com/manaflow-ai/cmux/pull/6559)) | ||
| - Fix hidden popover relayout and reduce hit-test CPU during SwiftUI updates and pointer movement ([#6589](https://github.com/manaflow-ai/cmux/pull/6589), [#6592](https://github.com/manaflow-ai/cmux/pull/6592)) | ||
| - Cache the settings search index per runtime ([#6591](https://github.com/manaflow-ai/cmux/pull/6591)) | ||
| - Move the open-diff baseline lookup off the main thread ([#6497](https://github.com/manaflow-ai/cmux/pull/6497)) | ||
| - Fix the macOS notification fallback identity ([#6000](https://github.com/manaflow-ai/cmux/pull/6000)) | ||
| - Fix a remote PTY restore probe reply leak ([#6070](https://github.com/manaflow-ai/cmux/pull/6070)) | ||
| - Fix OpenCode bunfs worker autoresume and OpenCode resume after a TUI-settings capture ([#6680](https://github.com/manaflow-ai/cmux/pull/6680), [#6397](https://github.com/manaflow-ai/cmux/pull/6397)) | ||
| - Fix notification jump-focus for nested tabs ([#6416](https://github.com/manaflow-ai/cmux/pull/6416)) | ||
| - Remove a sidebar rows measurement that re-livelocked layout at scale ([#6188](https://github.com/manaflow-ai/cmux/pull/6188)) | ||
| - Prevent quit hangs from analytics flushing ([#6232](https://github.com/manaflow-ai/cmux/pull/6232), [#6417](https://github.com/manaflow-ai/cmux/pull/6417)) -- thanks @azooz2003-bit! | ||
| - Reduce Sentry CLI broken-pipe crashes and hangs ([#6254](https://github.com/manaflow-ai/cmux/pull/6254)) -- thanks @azooz2003-bit! | ||
| - Release closed macOS helper windows ([#6368](https://github.com/manaflow-ai/cmux/pull/6368)) -- thanks @azooz2003-bit! | ||
| - Fix canvas tab hover hit-testing, focus canvas panes from terminal body clicks, and fix canvas zoom-animation snap at low zoom ([#6555](https://github.com/manaflow-ai/cmux/pull/6555), [#6456](https://github.com/manaflow-ai/cmux/pull/6456), [#6538](https://github.com/manaflow-ai/cmux/pull/6538)) -- thanks @azooz2003-bit! | ||
| - Avoid nested quit-confirmation modal loops ([#6461](https://github.com/manaflow-ai/cmux/pull/6461)) -- thanks @azooz2003-bit! | ||
| - Reduce redundant panel title update work ([#6552](https://github.com/manaflow-ai/cmux/pull/6552)) -- thanks @Eridanus117! | ||
| - Fix a QuickLook preview crash on a deactivated QLPreviewView ([#6402](https://github.com/manaflow-ai/cmux/pull/6402)) -- thanks @thiveeiyan! | ||
| - Fix terminal content duplication on window resize ([#6386](https://github.com/manaflow-ai/cmux/pull/6386)) -- thanks @mvanhorn! | ||
| - Stop the main window drifting down on sleep/wake ([#6305](https://github.com/manaflow-ai/cmux/pull/6305)) -- thanks @sergej-koscejev! | ||
| - Fix stale cmux ssh pane resize by reconciling remote PTY size after arming SIGWINCH, and fix resize with SSH ControlMaster ([#5989](https://github.com/manaflow-ai/cmux/pull/5989), [#6432](https://github.com/manaflow-ai/cmux/pull/6432)) -- thanks @kylejcaron! | ||
| - Sync remote tmux session renames to the mirror workspace title, and fix session discovery under a non-UTF-8 remote locale ([#6602](https://github.com/manaflow-ai/cmux/pull/6602), [#6568](https://github.com/manaflow-ai/cmux/pull/6568)) -- thanks @mxschmitt! | ||
| - Fix the cmux ssh-tmux socket path being too long for AF_UNIX ([#6465](https://github.com/manaflow-ai/cmux/pull/6465)) -- thanks @mxschmitt! | ||
| - Fix remote-tmux mirror buffer truncation on a cross-DPI display move, and restore the bonsplit pointer so ssh-tmux tab reorders sync to tmux ([#6393](https://github.com/manaflow-ai/cmux/pull/6393), [#6438](https://github.com/manaflow-ai/cmux/pull/6438)) -- thanks @robertnisipeanu! | ||
| - Merge user `--settings` into injected hook settings in the claude wrapper ([#5388](https://github.com/manaflow-ai/cmux/pull/5388)) -- thanks @choi88andys! | ||
| - Bound iOS pairing attempts and fix the Pair iPhone window (Cmd+W, sizing, layout, QR padding, failure copy) ([#6495](https://github.com/manaflow-ai/cmux/pull/6495), [#6038](https://github.com/manaflow-ai/cmux/pull/6038)) | ||
| - iOS (beta): fix native pairing sign-in failures ([#6457](https://github.com/manaflow-ai/cmux/pull/6457)) -- thanks @azooz2003-bit! | ||
| - iOS (beta): fix the unread count badge contrast, stop pausing background music on text submit, and sustain hold-to-repeat Backspace ([#6524](https://github.com/manaflow-ai/cmux/pull/6524), [#6290](https://github.com/manaflow-ai/cmux/pull/6290), [#6299](https://github.com/manaflow-ai/cmux/pull/6299)) | ||
| - Fix the changelog title clipping ([#6425](https://github.com/manaflow-ai/cmux/pull/6425)) | ||
|
|
||
| ### Removed | ||
| - Remove the high-memory pane warning UI (the triangle indicator and popover); the underlying guardrail engine stays ([#6619](https://github.com/manaflow-ai/cmux/pull/6619)) | ||
|
|
||
| ### Thanks to 12 contributors! | ||
|
|
||
| - [@austinywang](https://github.com/austinywang) | ||
| - [@azooz2003-bit](https://github.com/azooz2003-bit) | ||
| - [@choi88andys](https://github.com/choi88andys) | ||
| - [@Eridanus117](https://github.com/Eridanus117) | ||
| - [@kylejcaron](https://github.com/kylejcaron) | ||
| - [@lawrencecchen](https://github.com/lawrencecchen) | ||
| - [@mvanhorn](https://github.com/mvanhorn) | ||
| - [@mxschmitt](https://github.com/mxschmitt) | ||
| - [@robertnisipeanu](https://github.com/robertnisipeanu) | ||
| - [@RubiconPerform](https://github.com/RubiconPerform) | ||
| - [@sergej-koscejev](https://github.com/sergej-koscejev) | ||
| - [@thiveeiyan](https://github.com/thiveeiyan) | ||
|
|
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🔴 Critical
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Verify 0.64.17 changelog entries exist in all web locale message files.
# Find all message catalog files and check for 0.64.17 references
fd -e json 'messages' web/ --type f | while read file; do
if grep -q '0\.64\.17' "$file" 2>/dev/null; then
echo "✓ Found 0.64.17 in $file"
else
echo "✗ Missing 0.64.17 in $file"
fi
done
# Also check web/i18n/routing.ts for locale configuration
echo -e "\nLocale routing:"
rg -A 10 'locales.*=' web/i18n/routing.ts 2>/dev/null || echo "routing.ts not found or pattern not matched"Repository: manaflow-ai/cmux
Length of output: 282
🏁 Script executed:
cat /tmp/coderabbit-shell-logs/shell-output-SmLKcDRepository: manaflow-ai/cmux
Length of output: 282
🏁 Script executed:
# Find all message files in web/messages and list them
fd -type f web/messages/ | head -20Repository: manaflow-ai/cmux
Length of output: 325
🏁 Script executed:
# Check what locale files exist and whether 0.64.17 appears in each
find web/messages -name "*.json" -type f | sort | while read file; do
count=$(grep -c '0\.64\.17' "$file" 2>/dev/null || echo 0)
echo "$(basename $file): $count matches"
doneRepository: manaflow-ai/cmux
Length of output: 583
Web changelog localization for 0.64.17 is missing from all locale message catalogs.
Verification of web/messages/*.json shows that all 20 configured locales (ar, bs, da, de, en, es, fr, it, ja, km, ko, no, pl, pt-BR, ru, th, tr, uk, zh-CN, zh-TW) return 0 matches for "0.64.17". The changelog entry in CHANGELOG.md (lines 5–113) must be added to the locale-specific message catalogs for every supported locale before the changelog is rendered on the docs site. This includes new additions, changes, fixes, and the contributor attribution list.
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 7-7: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
[warning] 28-28: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
[warning] 38-38: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
[warning] 96-96: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
🤖 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 `@CHANGELOG.md` around lines 5 - 113, The changelog entries for version 0.64.17
that were added to CHANGELOG.md are missing from all 20 locale-specific message
catalog files (ar, bs, da, de, en, es, fr, it, ja, km, ko, no, pl, pt-BR, ru,
th, tr, uk, zh-CN, zh-TW). Add the complete 0.64.17 changelog content including
the Added, Changed, Fixed, Removed sections and the contributor attribution list
to each of the web/messages locale JSON files to ensure the changelog renders
correctly on the docs site for all supported languages.
Source: Path instructions
| ### Added | ||
| - iOS (beta): Telegram-style Agent Chat. Open any agent session as a chat thread, send text and image messages, and watch live streaming with tool-call rendering and terminal command blocks ([#5984](https://github.com/manaflow-ai/cmux/pull/5984)) -- thanks @azooz2003-bit! | ||
| - Remote tmux mirroring over SSH using `-CC` control mode, in beta ([#5553](https://github.com/manaflow-ai/cmux/pull/5553)) -- thanks @robertnisipeanu! | ||
| - Global font magnification to scale the whole interface ([#6554](https://github.com/manaflow-ai/cmux/pull/6554)) | ||
| - Right-sidebar custom sidebar tabs ([#6430](https://github.com/manaflow-ai/cmux/pull/6430)) | ||
| - Chrome-style audio-playing indicator on browser panes ([#6517](https://github.com/manaflow-ai/cmux/pull/6517)) | ||
| - Browser hard-refresh shortcut ([#6256](https://github.com/manaflow-ai/cmux/pull/6256)) | ||
| - Clear Screen (Keep Scrollback) command, bound to Cmd+Shift+K ([#6139](https://github.com/manaflow-ai/cmux/pull/6139)) | ||
| - Configurable terminal scroll-speed multiplier via `terminal.scrollSpeed` ([#5671](https://github.com/manaflow-ai/cmux/pull/5671)) -- thanks @RubiconPerform! | ||
| - Open the selected file from the keyboard in the file explorer ([#6001](https://github.com/manaflow-ai/cmux/pull/6001)) | ||
| - One-step grouped workspace creation ([#6657](https://github.com/manaflow-ai/cmux/pull/6657)) | ||
| - Searchable, uncapped diff viewer branch-base picker with smart defaults ([#6484](https://github.com/manaflow-ai/cmux/pull/6484)) -- thanks @azooz2003-bit! | ||
| - Mark workspaces read/unread and clear notifications from the workspace group menu ([#6535](https://github.com/manaflow-ai/cmux/pull/6535)) -- thanks @azooz2003-bit! | ||
| - Profiling capture action with a live progress window ([#6433](https://github.com/manaflow-ai/cmux/pull/6433), [#6440](https://github.com/manaflow-ai/cmux/pull/6440)) | ||
| - `cmux remotes` CLI to manage device-registry routes ([#6096](https://github.com/manaflow-ai/cmux/pull/6096)) | ||
| - Flag "Needs input" for blocked AskUserQuestion and ExitPlanMode prompts under `--dangerously-skip-permissions` ([#6608](https://github.com/manaflow-ai/cmux/pull/6608)) | ||
| - iOS (beta): on-device voice dictation in the composer ([#6197](https://github.com/manaflow-ai/cmux/pull/6197)) | ||
| - iOS (beta): image attachments in the composer ([#6102](https://github.com/manaflow-ai/cmux/pull/6102)) | ||
| - iOS (beta): Return key on the terminal accessory bar ([#6101](https://github.com/manaflow-ai/cmux/pull/6101)) | ||
| - iOS (beta): mark workspaces read/unread from the terminal menu, with an unread-count badge on the back button ([#6362](https://github.com/manaflow-ai/cmux/pull/6362), [#6350](https://github.com/manaflow-ai/cmux/pull/6350)) | ||
|
|
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value
Fix markdown heading blank-line formatting to comply with markdownlint MD022.
The section headings (### Added, ### Changed, ### Fixed, ### Removed) require blank lines both above and below per markdownlint rule MD022. Currently, each heading has a blank line above but the content immediately follows without a blank line below. Insert a blank line after each section heading before the first item.
🔧 Proposed fix for heading blank-line formatting
## [0.64.17] - 2026-06-23
### Added
+
- iOS (beta): Telegram-style Agent Chat. Open any agent session as a chat thread...Apply the same pattern to ### Changed (after line 28), ### Fixed (after line 38), and ### Removed (after line 96).
Also applies to: 28-37, 38-95, 96-98
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 7-7: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
🤖 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 `@CHANGELOG.md` around lines 7 - 27, The CHANGELOG.md file has section headings
that do not comply with markdownlint rule MD022, which requires blank lines both
above and below section headings. Insert a blank line immediately after each
section heading (### Added, ### Changed, ### Fixed, ### Removed) before the
first list item in that section to ensure proper markdown formatting compliance
across all heading instances in the document.
| "0.64.17": { | ||
| title: | ||
| "iOS Agent Chat, Global Font Magnification, Remote tmux Mirroring", | ||
| features: [ | ||
| { | ||
| title: "iOS Beta: Agent Chat", | ||
| description: | ||
| "Open any agent session on your phone as a Telegram-style chat thread. Send text and image messages and follow the agent live, with streaming output, rendered tool calls, and terminal command blocks.", | ||
| }, | ||
| { | ||
| title: "Global Font Magnification", | ||
| description: | ||
| "Scale the entire cmux interface up or down with a single magnification control, not just the terminal font.", | ||
| }, | ||
| { | ||
| title: "Remote tmux Mirroring (Beta)", | ||
| description: | ||
| "Mirror a remote tmux session over SSH using -CC control mode, so remote windows show up as native cmux tabs that stay in sync with renames and reorders.", | ||
| }, | ||
| { | ||
| title: "Browser and Diff Viewer Polish", | ||
| description: | ||
| "Browser panes get a Chrome-style audio-playing indicator and a hard-refresh shortcut. The diff viewer adds a searchable, uncapped branch-base picker with smart defaults and a toolbar that never overlaps at small widths.", | ||
| }, | ||
| { | ||
| title: "Stability and Performance", | ||
| description: | ||
| "Fixes for a sidebar lag regression, a vertical-sidebar tab-switch crash, a ~100% CPU re-render loop on bundled extension sidebars, blank SF Symbol controls on macOS 27, terminal content duplication on resize, and quit hangs from analytics flushing.", | ||
| }, | ||
| ], | ||
| }, |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🔴 Critical
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Verify changelog-media.ts feature text is localized.
# Find imports of changelogMedia to understand usage context
echo "=== Checking imports of changelog-media.ts ==="
rg -r '$0' --type ts --type tsx 'from.*changelog-media|import.*changelogMedia' web/ -B 2 -A 2
# Check for 0.64.17 entries in locale message catalogs
echo -e "\n=== Checking for 0.64.17 feature text in message catalogs ==="
fd -e json 'messages' web/ --type f | while read file; do
if grep -q 'Agent Chat\|Font Magnification\|tmux Mirroring' "$file" 2>/dev/null; then
echo "✓ Found 0.64.17 feature text in $file"
fi
done
# List all locale catalogs found
echo -e "\n=== Supported locale catalogs ==="
find web/messages -name '*.json' -type f 2>/dev/null | sortRepository: manaflow-ai/cmux
Length of output: 756
🏁 Script executed:
# Find how changelog-media is imported and used
rg 'changelog-media' web/ --type ts -B 2 -A 2Repository: manaflow-ai/cmux
Length of output: 649
🏁 Script executed:
# Check the structure of changelog-media.ts file
head -100 web/app/\[locale\]/docs/changelog/changelog-media.tsRepository: manaflow-ai/cmux
Length of output: 4619
🏁 Script executed:
# Look for any existing localization patterns in changelog
rg 'changelog' web/messages/en.json -A 2 -B 2Repository: manaflow-ai/cmux
Length of output: 860
🏁 Script executed:
# Check how the docs page uses changelog-media
rg 'changelogMedia\|changelog-media' web/app/ --type ts --type tsx -B 3 -A 3Repository: manaflow-ai/cmux
Length of output: 182
🏁 Script executed:
# Check how page.tsx renders the changelogMedia content
sed -n '1,100p' web/app/\[locale\]/docs/changelog/page.tsx | head -50Repository: manaflow-ai/cmux
Length of output: 1654
🏁 Script executed:
# Look for the full page.tsx to see how feature titles/descriptions are rendered
cat -n web/app/\[locale\]/docs/changelog/page.tsx | head -80Repository: manaflow-ai/cmux
Length of output: 3015
🏁 Script executed:
# Check if any localization exists for feature highlight text across locales
rg 'iOS.*Agent Chat' web/messages/ --type jsonRepository: manaflow-ai/cmux
Length of output: 154
🏁 Script executed:
# Find the rendering logic for changelogMedia in page.tsx
tail -n +80 web/app/\[locale\]/docs/changelog/page.tsx | head -100Repository: manaflow-ai/cmux
Length of output: 2855
🏁 Script executed:
# Search for where feature.title and feature.description are rendered
rg 'feature\.(title|description)' web/app/ --type ts --type tsx -B 2 -A 2Repository: manaflow-ai/cmux
Length of output: 182
🏁 Script executed:
# Check the full page.tsx file to see the complete rendering
wc -l web/app/\[locale\]/docs/changelog/page.tsxRepository: manaflow-ai/cmux
Length of output: 199
Move feature titles and descriptions to locale message catalogs.
The FeatureList component in page.tsx renders feature.title and feature.description directly from the hardcoded changelogMedia object without localization. The 0.64.17 feature text ("iOS Beta: Agent Chat", "Global Font Magnification", "Remote tmux Mirroring (Beta)", etc.) is user-facing content on a public web page, but it has no entries in any of the 21 supported locale message catalogs (web/messages/*.json).
Per path instructions, web UI text must be consumed from next-intl or another locale-specific source and represented across all supported locales. Move the feature title and description strings to web/messages/en.json, web/messages/ja.json, and every other supported locale catalog, then use next-intl to retrieve them in the FeatureList component.
🤖 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]/docs/changelog/changelog-media.ts around lines 29 - 59, The
feature titles and descriptions in the 0.64.17 version object of changelogMedia
are hardcoded without localization. Extract all feature title and description
strings ("iOS Beta: Agent Chat", "Global Font Magnification", "Remote tmux
Mirroring (Beta)", "Browser and Diff Viewer Polish", "Stability and
Performance") from the hardcoded changelogMedia entries and add them as
key-value pairs to all 21 supported locale message catalogs in
web/messages/*.json files (en.json, ja.json, and others). Then update the
FeatureList component to retrieve these strings from next-intl instead of
accessing feature.title and feature.description directly from the changelogMedia
object, so all user-facing content is properly localized per the path
instructions.
Source: Path instructions
There was a problem hiding this comment.
♻️ Duplicate comments (2)
CHANGELOG.md (1)
5-112: 🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy liftRoute the new release notes through locale-specific content.
CHANGELOG.mdis read directly by the docs page, so this new 0.64.17 block will ship English text to every locale unless it is mirrored in the locale message system. As per path instructions, web UI text must be consumed from locale-specific sources and represented across all supported locales.🤖 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 `@CHANGELOG.md` around lines 5 - 112, The 0.64.17 release notes block in CHANGELOG.md contains English text that will be shipped to all locales directly. Instead of keeping this content hardcoded in the CHANGELOG.md file, extract the entire 0.64.17 version block and move it to the locale-specific message system. Then update CHANGELOG.md to reference and consume the release notes from the locale system so that the content can be properly translated and served in locale-specific versions.Source: Path instructions
web/app/[locale]/docs/changelog/changelog-media.ts (1)
29-54: 🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy liftLocalize the new feature highlights.
The 0.64.17
titleandfeaturesstrings are hardcoded English and are rendered directly by the docs page, so every locale will see untranslated copy. Move these strings into locale messages and read them throughnext-intl. As per path instructions, web UI text must be consumed from locale-specific sources and represented across all supported locales.🤖 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]/docs/changelog/changelog-media.ts around lines 29 - 54, The title and features array for version 0.64.17 in the changelog-media.ts file contain hardcoded English strings that need to be localized. Extract the title property and all title and description strings from the features array, move them into locale-specific message files following the project's localization structure, and then replace the hardcoded strings in the changelog-media.ts file with calls to retrieve these messages using next-intl. Ensure that each locale file (e.g., en.json, de.json, etc.) contains the corresponding translated versions of the title and all feature descriptions for version 0.64.17.Source: Path instructions
🤖 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.
Duplicate comments:
In `@CHANGELOG.md`:
- Around line 5-112: The 0.64.17 release notes block in CHANGELOG.md contains
English text that will be shipped to all locales directly. Instead of keeping
this content hardcoded in the CHANGELOG.md file, extract the entire 0.64.17
version block and move it to the locale-specific message system. Then update
CHANGELOG.md to reference and consume the release notes from the locale system
so that the content can be properly translated and served in locale-specific
versions.
In `@web/app/`[locale]/docs/changelog/changelog-media.ts:
- Around line 29-54: The title and features array for version 0.64.17 in the
changelog-media.ts file contain hardcoded English strings that need to be
localized. Extract the title property and all title and description strings from
the features array, move them into locale-specific message files following the
project's localization structure, and then replace the hardcoded strings in the
changelog-media.ts file with calls to retrieve these messages using next-intl.
Ensure that each locale file (e.g., en.json, de.json, etc.) contains the
corresponding translated versions of the title and all feature descriptions for
version 0.64.17.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: c9ab30a2-3891-4039-bf41-b75217cb5d8e
📒 Files selected for processing (3)
CHANGELOG.mdcmux.xcodeproj/project.pbxprojweb/app/[locale]/docs/changelog/changelog-media.ts
Release v0.64.17. Bumps
MARKETING_VERSIONto 0.64.17 andCURRENT_PROJECT_VERSIONto 97, and adds the changelog entry plus the changelog-page feature highlights.Highlights
-CCcontrol mode, in beta (#5553).terminal.scrollSpeed.Removed the high-memory pane warning UI (the guardrail engine stays).
Full notes in
CHANGELOG.md. Credits 12 contributors.Summary by CodeRabbit
New Features
Changed
Bug Fixes
Removed