Release v0.64.9 - #4561
Release v0.64.9#4561
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughVersion 0.64.9 is released with two fixes: an unbounded Git repository search prevention to avoid memory growth, and restoring the default Browser Memory Saver setting. The version number is bumped consistently across all Xcode build configurations from 0.64.8 to 0.64.9, and release notes are published in both the main changelog and the web changelog media record. ChangesVersion 0.64.9 Release
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint skipped: no ESLint configuration detected in root package.json. To enable, add 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 is a hotfix release bumping the version to 0.64.9. It adds changelog entries for two fixes — stopping the unbounded Git repository root walk that caused an OOM on non-Git workspaces, and restoring the Browser Memory Saver default — alongside the corresponding Xcode project version bumps.
Confidence Score: 4/5Safe to merge; all three files contain routine hotfix bookkeeping with no production logic changes. The Xcode version bumps and CHANGELOG entry are mechanical and consistent. The new changelog-media entry adds English-only copy to a locale-aware page, continuing a pre-existing gap in the file — the actual fix code lives in separate PRs already merged. web/app/[locale]/docs/changelog/changelog-media.ts — new feature description strings are not routed through next-intl, same as existing entries but worth tracking as the debt grows. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["Git Root Walk (v0.64.8)"] -->|"deletingLastPathComponent() loops past /"| B["Infinite loop: / → /.. → /.. …"]
B --> C["RSS grows 450MB → 8GB"]
C --> D["OOM Killer fires"]
E["Git Root Walk (v0.64.9 fix)"] -->|"Stop at filesystem root"| F["Walk terminates normally"]
F --> G["RSS stays bounded"]
H["Browser Memory Saver (v0.64.8)"] -->|"keep-alive default ON"| I["Hidden webviews never discarded"]
I --> J["Compounds RSS regression"]
K["Browser Memory Saver (v0.64.9 fix)"] -->|"discard default restored"| L["Hidden renderers discarded after delay"]
L --> M["Memory reclaimed"]
Reviews (1): Last reviewed commit: "Bump version to 0.64.9" | Re-trigger Greptile |
| "0.64.9": { | ||
| title: "0.64.8 Memory Leak Hotfix", | ||
| features: [ | ||
| { | ||
| title: "Fix 8GB RSS Growth on Non-Git Workspaces", | ||
| description: | ||
| "Git repository search now stops at filesystem root instead of walking forever into `/..`. On older Foundation builds, `deletingLastPathComponent()` could yield `/..` and keep climbing, allocating ever-longer parent paths until the OS OOM killer fired. Non-Git workspaces no longer grow RSS from ~450MB to 8GB within minutes on 0.64.8.", | ||
| }, | ||
| { | ||
| title: "Restore Browser Memory Saver Default", | ||
| description: | ||
| "Hidden browser webview renderers discard by default again, reverting the 0.64.8 keep-alive default that exposed the memory regression. The keep-alive behavior remains available as an opt-in setting for workflows that need to preserve DOM state across workspace switches.", | ||
| }, | ||
| ], | ||
| }, |
There was a problem hiding this comment.
The three new English strings (
title, feature title, and feature description) are rendered directly as JSX in the [locale]-prefixed changelog page (FeatureList and the version-heading div) without going through next-intl. The page serves 20 locales (en, ja, zh-CN, zh-TW, ko, de, es, fr, it, da, pl, ru, bs, ar, no, pt-BR, th, tr, km, uk per web/i18n/routing.ts), so non-English visitors see English copy. The full-i18n rule flags "changelog copy… not consumed from next-intl… and represented across all locales in web/messages/." All prior changelogMedia entries share this debt, but the PR introduces new instances of it.
| "0.64.9": { | |
| title: "0.64.8 Memory Leak Hotfix", | |
| features: [ | |
| { | |
| title: "Fix 8GB RSS Growth on Non-Git Workspaces", | |
| description: | |
| "Git repository search now stops at filesystem root instead of walking forever into `/..`. On older Foundation builds, `deletingLastPathComponent()` could yield `/..` and keep climbing, allocating ever-longer parent paths until the OS OOM killer fired. Non-Git workspaces no longer grow RSS from ~450MB to 8GB within minutes on 0.64.8.", | |
| }, | |
| { | |
| title: "Restore Browser Memory Saver Default", | |
| description: | |
| "Hidden browser webview renderers discard by default again, reverting the 0.64.8 keep-alive default that exposed the memory regression. The keep-alive behavior remains available as an opt-in setting for workflows that need to preserve DOM state across workspace switches.", | |
| }, | |
| ], | |
| }, | |
| "0.64.9": { | |
| // TODO: move title and feature strings into web/messages/{locale}.json | |
| // and read them via useTranslations("docs.changelog.versions.0649") | |
| // to localize across all 20 supported locales. | |
| title: "0.64.8 Memory Leak Hotfix", | |
| features: [ | |
| { | |
| title: "Fix 8GB RSS Growth on Non-Git Workspaces", | |
| description: | |
| "Git repository search now stops at filesystem root instead of walking forever into `/..`. On older Foundation builds, `deletingLastPathComponent()` could yield `/..` and keep climbing, allocating ever-longer parent paths until the OS OOM killer fired. Non-Git workspaces no longer grow RSS from ~450MB to 8GB within minutes on 0.64.8.", | |
| }, | |
| { | |
| title: "Restore Browser Memory Saver Default", | |
| description: | |
| "Hidden browser webview renderers discard by default again, reverting the 0.64.8 keep-alive default that exposed the memory regression. The keep-alive behavior remains available as an opt-in setting for workflows that need to preserve DOM state across workspace switches.", | |
| }, | |
| ], | |
| }, |
Rule Used: Flag production user-facing text that is not fully... (source)
Summary
Hotfix for the v0.64.8 memory leak (#4520) where non-Git workspaces grow RSS from ~450MB to 8GB within minutes and trigger the OOM killer.
Changes
Fixed
Thanks @Luciferxie for the report on both.
Test plan
Need help on this PR? Tag
@codesmithwith what you need. Autofix is disabled.Note
Low Risk
Low risk release bookkeeping: updates version numbers and changelog/docs content only, with no functional code changes in this PR.
Overview
Publishes the
0.64.9hotfix release notes, highlighting fixes for unbounded Git repo root search causing extreme RSS growth in non-Git workspaces and restoring the Browser Memory Saver default.Bumps Xcode project build/marketing versions to
0.64.9and adds corresponding0.64.9entry content for the docs changelog media.Reviewed by Cursor Bugbot for commit 2498610. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by cubic
Hotfix to stop the v0.64.8 memory leak that caused RSS to spike in non‑Git workspaces. We now stop Git repo discovery at the filesystem root and turn Browser Memory Saver back on by default to prevent runaway memory and OOM.
Written for commit 2498610. Summary will update on new commits. Review in cubic
Summary by CodeRabbit