Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,64 @@

All notable changes to cmux are documented here.

## [0.64.8] - 2026-05-21

### Added
- Antigravity CLI integration with hook notifications, task manager attribution, and session restore ([bd4a31c0](https://github.com/manaflow-ai/cmux/commit/bd4a31c000fc6552e5041abe87e121fcee9162ce))
- Native Grok Vault resume support ([5708d67b](https://github.com/manaflow-ai/cmux/commit/5708d67bcdf11f76ff582217575b36facdd91705))
- `--window` routing for window-scoped CLI commands (workspace, pane, surface, SSH, VM, notifications, tree, top) ([#4211](https://github.com/manaflow-ai/cmux/pull/4211))
- Browser screenshot clipboard actions ([#4479](https://github.com/manaflow-ai/cmux/pull/4479))
- Attribute notifications to their source panel ([20691adb](https://github.com/manaflow-ai/cmux/commit/20691adb467c5989312ccce2974a9325c76d987d))

### Changed
- Keep browser webviews alive by default, reverting the 0.64.7 discard-by-default behavior ([#4388](https://github.com/manaflow-ai/cmux/pull/4388))
- Align titlebar controls with macOS traffic lights ([#4471](https://github.com/manaflow-ai/cmux/pull/4471))
- Localize Antigravity hook strings and running status ([861d43a9](https://github.com/manaflow-ai/cmux/commit/861d43a99d574a1a0f21c2805b38ed35a28de587), [b5a4d6dc](https://github.com/manaflow-ai/cmux/commit/b5a4d6dcfeaa967f2c793d1870bd494ea3290a4b))

### Fixed
- Prevent minimal-mode pane tabs from moving the window when dragged ([e7941740](https://github.com/manaflow-ai/cmux/commit/e79417400654f71f4a8a26f59d5abc316366307d))
Comment on lines +7 to +20

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix markdown heading spacing to satisfy MD022.

Line 7, Line 14, and Line 19 need a blank line after the heading before list items.

🧰 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] 14-14: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


[warning] 19-19: 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 - 20, The changelog violates MD022 (missing
blank line after headings); update the three headings "### Added", "###
Changed", and "### Fixed" by inserting a single blank line after each heading so
the following list items are separated (e.g., ensure there's an empty line
between "### Added" and its first bullet, between "### Changed" and its first
bullet, and between "### Fixed" and its first bullet).

- Fix Option dead-key accent composition so Option+n then a commits "ã" ([#4382](https://github.com/manaflow-ai/cmux/pull/4382)) -- thanks @moskoweb for the report!
- Route keyboard/menu equalize_splits through v2ProportionalEqualize so 3+ panes split evenly ([#4400](https://github.com/manaflow-ai/cmux/pull/4400)) -- thanks @mvanhorn!
- Fix Quick Look preview deactivation crash ([#4459](https://github.com/manaflow-ai/cmux/pull/4459))
- Fix QuickLook crash after proxy icon split close ([#4460](https://github.com/manaflow-ai/cmux/pull/4460))
- Fix git index.lock polling in sidebar metadata watcher ([#2797](https://github.com/manaflow-ai/cmux/pull/2797))
- Fix theme override path for channel builds (Nightly/Staging no longer retheme Release) ([#4484](https://github.com/manaflow-ai/cmux/pull/4484))
- Fix minimal-mode sidebar titlebar icon alignment ([#4481](https://github.com/manaflow-ai/cmux/pull/4481))
- Fix notification Settings open path ([#4456](https://github.com/manaflow-ai/cmux/pull/4456))
- Suppress nested agent hook notifications ([#4334](https://github.com/manaflow-ai/cmux/pull/4334))
- Fix Antigravity presentation and resume ([0f67df81](https://github.com/manaflow-ai/cmux/commit/0f67df81566d677194e469c060f2a9367db02f7b))
- Fix Antigravity Vault resume indexing ([9fa5d1d8](https://github.com/manaflow-ai/cmux/commit/9fa5d1d8724d4b65bf886d86cc7bb9e9c295a026))
- Fix Antigravity fallback session build ([80fe38d6](https://github.com/manaflow-ai/cmux/commit/80fe38d6d0b3252b8f2f3c27cd78c0ca0a183016))
- Fix Antigravity conversation sanitizer width ([8bd285a9](https://github.com/manaflow-ai/cmux/commit/8bd285a94798dd49791995b699c3c2267ae06b6a))
- Fix Grok agent-scoped Vault filtering ([12ae177f](https://github.com/manaflow-ai/cmux/commit/12ae177f19caf91389770488c8aa2d0c2a3717c1))
- Fix Grok Vault titles and icon ([84373476](https://github.com/manaflow-ai/cmux/commit/843734760f019873c68e40657e48f4c740f24867))
- Deduplicate Grok Vault sessions ([9f66dffd](https://github.com/manaflow-ai/cmux/commit/9f66dffd2c352b4bd4d817aa3fdca5b04f5edb96))
- Honor shell Grok homes in Vault, including custom hook state directories ([be8c37c4](https://github.com/manaflow-ai/cmux/commit/be8c37c4f7ca82b4acd6226a22c34f6c1bbc6414), [f95b25b9](https://github.com/manaflow-ai/cmux/commit/f95b25b996b679bf02b4db2e6b24a7e97f15e274))
- Restore compact pane tab width ([f0370709](https://github.com/manaflow-ai/cmux/commit/f0370709a008e5165457f9cfc9ad41e75ebc942c))
- Fix session search ripgrep cancellation crash ([fa623368](https://github.com/manaflow-ai/cmux/commit/fa62336863148202fdefe679f2665b5801b1443c))
- Preserve right sidebar remembered mode ([aac80054](https://github.com/manaflow-ai/cmux/commit/aac800543a098f026091ab38e0bdf78e8beba5ff))
- Persist restored pane notifications and resync restored notification badges ([e4856922](https://github.com/manaflow-ai/cmux/commit/e4856922b07f96f9d5065fc2a46da346dabd52a2), [9ffdb45a](https://github.com/manaflow-ai/cmux/commit/9ffdb45a54e2c80832e2c471c1d10db06233b474))
- Preserve workspace cwd metadata for registered agents ([9b1e186d](https://github.com/manaflow-ai/cmux/commit/9b1e186d2ea7ef67e7c624b5e011289462a56eac))
- Preserve transparent terminal hosting ([1ca56296](https://github.com/manaflow-ai/cmux/commit/1ca56296d6c47acbcb6edddb47e89bd159097e2e))
- Keep browser URL tied to committed navigation and harden provisional navigation state ([40863609](https://github.com/manaflow-ai/cmux/commit/4086360910a9f4d40312f0536fcb03cb662c4ea7), [e240c302](https://github.com/manaflow-ai/cmux/commit/e240c302a10d43dc8bbf7ff17700af514166316e))
- Fix sidebar overlay contrast scheme and keep sidebar chrome readable across themes ([452745b6](https://github.com/manaflow-ai/cmux/commit/452745b65753953fed9d66cbb26878d6f755315b), [4223df74](https://github.com/manaflow-ai/cmux/commit/4223df74efe9bf0292c0b1e420950fdcb40c4e12))
- Synchronize theme contrast on reload and align terminal scheme with live theme ([228f3abd](https://github.com/manaflow-ai/cmux/commit/228f3abdd9d1c8fb93f640c5c202e6d2c0dcd13a), [b6d34706](https://github.com/manaflow-ai/cmux/commit/b6d34706683f6f4bc5aec8a4054939c6465a854b))
- Reload themes through the cmux socket so theme changes propagate to running instances ([1be9d26c](https://github.com/manaflow-ai/cmux/commit/1be9d26c3d79c92eff85fd8693973b5d893cd29b))
- Foreground and reload after interactive theme picker ([b0f58e47](https://github.com/manaflow-ai/cmux/commit/b0f58e4761a6bce30b6a6c1abc3916134e16b234), [8a4e57cf](https://github.com/manaflow-ai/cmux/commit/8a4e57cf7db118faaa9a6e0409b4c63afde36d57))
- Ignore inherited socket context from other cmux bundles ([b361e9a2](https://github.com/manaflow-ai/cmux/commit/b361e9a2fc04902864dda8197d82000d3330d3bb))
- Preserve numbered shortcut stale-menu routing and remapped close defaults ([d198a962](https://github.com/manaflow-ai/cmux/commit/d198a96266990062d01a6d968158e64d773bd6a2), [f2b257fb](https://github.com/manaflow-ai/cmux/commit/f2b257fb452b59dc674da4cb91d9ea6e97538c88))
- Clear restored unread on workspace resume and defer dismissal to focused panel ([b24cf548](https://github.com/manaflow-ai/cmux/commit/b24cf5484f26ef14cd1b90813c695607aad3b684), [f594d5a8](https://github.com/manaflow-ai/cmux/commit/f594d5a808dcf84a9c7492a03bf074071df85877))
- Update Bonsplit minimal tab drag hit testing and keep titlebar drag handle out of pane tabs ([36fc880f](https://github.com/manaflow-ai/cmux/commit/36fc880fdd8a070a545fbb1febb04405543c00b6), [735dde1d](https://github.com/manaflow-ai/cmux/commit/735dde1dccd7e1902d13f1e46c1f99eff674f5cd))
- Gate process termination until launch succeeds and handle deferred cancellation edge cases ([a14ca57c](https://github.com/manaflow-ai/cmux/commit/a14ca57cd0621b5f0c9371bd0ac71bbf60243b90), [227305d5](https://github.com/manaflow-ai/cmux/commit/227305d522d49905c02ea4941e9578d7d1a70c7c))
- Deduplicate shell wrapper installer ([a21a21c5](https://github.com/manaflow-ai/cmux/commit/a21a21c55fc26ebf59a5dcff29d30b6f71933ea2))

### Thanks to 4 contributors!

- [@austinywang](https://github.com/austinywang)
- [@lawrencecchen](https://github.com/lawrencecchen)
- [@moskoweb](https://github.com/moskoweb)
- [@mvanhorn](https://github.com/mvanhorn)
Comment on lines +5 to +61

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify locale registry and changelog message coverage for the new 0.64.8 content.
# Expected: every locale listed in web/i18n/routing.ts has matching changelog entries.

set -euo pipefail

echo "== routing locales =="
fd 'routing\.ts$' web | xargs -I{} sed -n '1,220p' {}

echo
echo "== changelog message files =="
fd . web/messages

echo
echo "== 0.64.8 coverage in locale message files =="
rg -n "0\\.64\\.8|changelog" web/messages -C2

Repository: manaflow-ai/cmux

Length of output: 34762


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Find occurrences of 0.64.8 =="
rg -n "0\\.64\\.8" -S .

echo
echo "== Where is CHANGELOG.md referenced from web code? =="
rg -n "CHANGELOG\\.md" -S web .github . || true

echo
echo "== Changelog docs route entrypoints =="
# list likely files containing "changelog" routing/rendering
rg -n "changelog" -S web | head -n 200

Repository: manaflow-ai/cmux

Length of output: 15713


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Find occurrences of 0.64.8 =="
rg -n "0\\.64\\.8" -S .

echo
echo "== Where is CHANGELOG.md referenced from web code? =="
rg -n "CHANGELOG\\.md" -S web .github . || true

echo
echo "== Changelog docs route entrypoints =="
rg -n "changelog" -S web | head -n 200

Repository: manaflow-ai/cmux

Length of output: 15713


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Inspect changelog page rendering (page.tsx) =="
sed -n '1,220p' web/app/[locale]/docs/changelog/page.tsx
echo
sed -n '220,420p' web/app/[locale]/docs/changelog/page.tsx

echo
echo "== Inspect changelog-media (defines media/narrative per version) =="
sed -n '1,120p' web/app/[locale]/docs/changelog/changelog-media.ts
echo
sed -n '240,340p' web/app/[locale]/docs/changelog/changelog-media.ts

echo
echo "== Search web/messages for 0.64.x localized release entries =="
rg -n "0\\.64\\.8" web/messages || true
rg -n "0\\.64\\.[0-9]+" web/messages || true

echo
echo "== Search web/app docs changelog for runtime translation keys =="
rg -n "useTranslations\\(\"docs\\.changelog\"\\)|getTranslations\\(.*docs\\.changelog\\)|namespace: \"docs\\.changelog\"|docs\\.changelog" web/app/[locale]/docs/changelog -S

Repository: manaflow-ai/cmux

Length of output: 22040


Make docs changelog release copy fully localized across all supported locales

web/app/[locale]/docs/changelog/page.tsx renders CHANGELOG.md verbatim for every locale (no next-intl message lookup for the 0.64.8 Added/Changed/Fixed text), and SectionBadge uses hard-coded English labels (“Added/Changed/Fixed/Contributors”). The additional 0.64.8 narrative in web/app/[locale]/docs/changelog/changelog-media.ts is also hard-coded English. Only the docs page chrome (docs.changelog namespace) is localized, so changelog copy coverage can’t match the locales in web/i18n/routing.ts.

🧰 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] 14-14: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


[warning] 19-19: 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 - 61, The changelog page renders CHANGELOG.md
and labels in English only; update web/app/[locale]/docs/changelog/page.tsx to
use next-intl (e.g., useTranslations or formatMessage) to lookup localized
section headings and narrative instead of rendering hard-coded English, change
SectionBadge to accept a translation key (or call useTranslations inside
SectionBadge) so “Added/Changed/Fixed/Contributors” come from the docs.changelog
namespace, and update web/app/[locale]/docs/changelog/changelog-media.ts to pull
its narrative text from intl messages; add the corresponding keys/strings to
each locale bundle used by routing so all supported locales have translations.


## [0.64.7] - 2026-05-19

### Added
Expand Down
32 changes: 16 additions & 16 deletions cmux.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -2482,10 +2482,10 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 87;
CURRENT_PROJECT_VERSION = 88;
GENERATE_INFOPLIST_FILE = YES;
MACOSX_DEPLOYMENT_TARGET = 14.0;
MARKETING_VERSION = 0.64.7;
MARKETING_VERSION = 0.64.8;
ONLY_ACTIVE_ARCH = NO;
PRODUCT_BUNDLE_IDENTIFIER = com.cmuxterm.appuitests;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -2564,7 +2564,7 @@
CODE_SIGN_ENTITLEMENTS = "";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 87;
CURRENT_PROJECT_VERSION = 88;
DEVELOPMENT_TEAM = "";
ENABLE_HARDENED_RUNTIME = NO;
GENERATE_INFOPLIST_FILE = NO;
Expand All @@ -2573,7 +2573,7 @@
"$(inherited)",
"@executable_path/../Frameworks",
);
MARKETING_VERSION = 0.64.7;
MARKETING_VERSION = 0.64.8;
OTHER_LDFLAGS = (
"-lc++",
"-framework",
Expand Down Expand Up @@ -2604,7 +2604,7 @@
CODE_SIGN_ENTITLEMENTS = Resources/cmux.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 87;
CURRENT_PROJECT_VERSION = 88;
DEVELOPMENT_TEAM = "";
ENABLE_HARDENED_RUNTIME = NO;
GENERATE_INFOPLIST_FILE = NO;
Expand All @@ -2613,7 +2613,7 @@
"$(inherited)",
"@executable_path/../Frameworks",
);
MARKETING_VERSION = 0.64.7;
MARKETING_VERSION = 0.64.8;
ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = (
"-lc++",
Expand Down Expand Up @@ -2680,10 +2680,10 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 87;
CURRENT_PROJECT_VERSION = 88;
GENERATE_INFOPLIST_FILE = YES;
MACOSX_DEPLOYMENT_TARGET = 14.0;
MARKETING_VERSION = 0.64.7;
MARKETING_VERSION = 0.64.8;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.cmuxterm.appuitests;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand All @@ -2698,7 +2698,7 @@
buildSettings = {
CODE_SIGN_STYLE = Manual;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 87;
CURRENT_PROJECT_VERSION = 88;
DEVELOPMENT_TEAM = "";
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GENERATE_INFOPLIST_FILE = YES;
Expand All @@ -2707,7 +2707,7 @@
INFOPLIST_KEY_NSPrincipalClass = "";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
MACOSX_DEPLOYMENT_TARGET = 14.0;
MARKETING_VERSION = 0.64.7;
MARKETING_VERSION = 0.64.8;
PRODUCT_BUNDLE_IDENTIFIER = com.cmuxterm.app.docktileplugin.debug;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand All @@ -2723,7 +2723,7 @@
buildSettings = {
CODE_SIGN_STYLE = Manual;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 87;
CURRENT_PROJECT_VERSION = 88;
DEVELOPMENT_TEAM = "";
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GENERATE_INFOPLIST_FILE = YES;
Expand All @@ -2732,7 +2732,7 @@
INFOPLIST_KEY_NSPrincipalClass = "";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
MACOSX_DEPLOYMENT_TARGET = 14.0;
MARKETING_VERSION = 0.64.7;
MARKETING_VERSION = 0.64.8;
PRODUCT_BUNDLE_IDENTIFIER = com.cmuxterm.app.docktileplugin;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand All @@ -2747,10 +2747,10 @@
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 87;
CURRENT_PROJECT_VERSION = 88;
GENERATE_INFOPLIST_FILE = YES;
MACOSX_DEPLOYMENT_TARGET = 14.0;
MARKETING_VERSION = 0.64.7;
MARKETING_VERSION = 0.64.8;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.cmuxterm.apptests;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand All @@ -2766,10 +2766,10 @@
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 87;
CURRENT_PROJECT_VERSION = 88;
GENERATE_INFOPLIST_FILE = YES;
MACOSX_DEPLOYMENT_TARGET = 14.0;
MARKETING_VERSION = 0.64.7;
MARKETING_VERSION = 0.64.8;
ONLY_ACTIVE_ARCH = NO;
PRODUCT_BUNDLE_IDENTIFIER = com.cmuxterm.apptests;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down
36 changes: 36 additions & 0 deletions web/app/[locale]/docs/changelog/changelog-media.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,42 @@ export interface VersionMedia {
}

export const changelogMedia: Record<string, VersionMedia> = {
"0.64.8": {
title:
"Antigravity CLI, Grok Vault Resume, CLI Window Targeting, Browser Screenshots",
features: [
{
title: "Antigravity CLI Integration",
description:
"Antigravity joins the supported coding-agent lineup with hook notifications, task manager attribution, and Vault session restore, the same way Claude, Codex, Gemini, and Grok already work in cmux.",
},
{
title: "Native Grok Vault Resume",
description:
"Grok sessions can now be resumed natively from Vault. cmux parses registered Grok transcripts by layout, deduplicates sessions across shell-Grok homes, and quotes built-in resume commands so they round-trip cleanly.",
},
{
title: "CLI Window Targeting",
description:
"cmux CLI commands now accept `--window` to scope workspace, pane, surface, SSH, VM, notifications, tree, and top flows to a specific window. Refs resolve inside the targeted window, and cross-window pane handles are rejected before they mutate state.",
},
{
title: "Browser Screenshot Clipboard Actions",
description:
"Capture a screenshot of the current browser pane and copy it straight to the clipboard, ready to paste into an agent conversation or notes.",
},
{
title: "Browser Webviews Kept Alive",
description:
"Reverts the 0.64.7 default of discarding hidden browser webview renderers. Switching back to a hidden browser pane now resumes instantly without reloading. The discard behavior remains available as an opt-in setting.",
},
{
title: "Bug Fixes",
description:
"Fixes for minimal-mode pane tabs moving the window when dragged, Option dead-key accent composition (Option+n then a now commits \"ã\"), equalize splits with 3+ panes, Quick Look preview crashes, git index.lock polling, theme override paths leaking from channel builds, sidebar overlay contrast, terminal scheme synchronization on theme reload, restored unread badges, transparent terminal hosting, browser navigation race conditions, and session search ripgrep cancellation crashes.",
},
],
Comment on lines +29 to +63

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 New changelog copy not routed through next-intl

The "0.64.8" entry introduces six new user-facing strings (one version title plus five feature titles and descriptions) that are hardcoded in English. The file sits under web/app/[locale]/docs/changelog/, and 19 non-English locales are registered in web/i18n/routing.ts — all of them will render raw English for this block. The full-internationalization rule treats "changelog copy... not consumed from next-intl" as a failure condition for newly introduced strings; the prior-version entries are grandfathered as existing debt, but the 0.64.8 block is a fresh addition. Each string needs a stable key in every web/messages/*.json file (or an equivalent runtime locale source) to satisfy the rule.

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

Comment on lines +29 to +63

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

Do not add English-only literals in locale-rendered changelog media.

The new 0.64.8 user-facing strings are hardcoded in code instead of being sourced from locale message data, which breaks full internationalization requirements for this surface.

As per coding guidelines: “For any new or changed UI strings under the affected surface, use the runtime locale system (e.g., sources consumed from next-intl / locale-specific message data) and ensure coverage 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 - 63, The
changelog entry for "0.64.8" contains hardcoded user-facing strings (title and
each feature.title/description) — replace these literals with locale message
keys and load them via the runtime i18n API used in this surface (e.g.,
next-intl useTranslations or the existing locale message loader) instead of
inlining text; update the "0.64.8" object to reference message ids (e.g.,
changelog.0_64_8.title, changelog.0_64_8.features[N].title/description) and add
corresponding entries to the locale message files for all supported locales so
the page renders via the localized messages at runtime.

},
"0.64.7": {
title:
"Grok Build CLI, Browser Memory & Background Preload, Conversation Forks",
Expand Down
Loading