Update shakapacker to 9.6.0 (gem and npm)#2559
Conversation
Pin shakapacker 9.6.0 across all test environments: - react_on_rails gem and dummy app - react_on_rails_pro gem and dummy app - react_on_rails_pro execjs-compatible-dummy - Regenerated all lock files Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (2)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
WalkthroughUpdated shakapacker gem/package dependency from version 9.5.0 to 9.6.0 across Ruby Gemfiles and JavaScript package.json files in both react_on_rails and react_on_rails_pro projects, including their test dummy applications. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 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 performs a clean, mechanical version bump of the
Confidence Score: 5/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
subgraph "Gem Manifests (updated)"
GEM1["react_on_rails/\nGemfile.development_dependencies\nshakapacker = 9.6.0"]
GEM2["react_on_rails_pro/\nGemfile.development_dependencies\nshakapacker = 9.6.0"]
GEM3["react_on_rails_pro/spec/\nexecjs-compatible-dummy/Gemfile\nshakapacker = 9.6.0"]
end
subgraph "NPM Manifests (updated)"
NPM1["react_on_rails/spec/dummy/\npackage.json\nshakapacker: 9.6.0"]
NPM2["react_on_rails_pro/spec/dummy/\npackage.json\nshakapacker: 9.6.0"]
NPM3["react_on_rails_pro/spec/\nexecjs-compatible-dummy/package.json\nshakapacker: 9.6.0"]
end
subgraph "Lock Files (regenerated)"
LOCK1["react_on_rails/spec/dummy/\nGemfile.lock"]
LOCK2["react_on_rails_pro/spec/dummy/\nGemfile.lock"]
LOCK3["react_on_rails_pro/spec/\nexecjs-compatible-dummy/Gemfile.lock\n⚠ also bumped: package_json 0.1.0→0.2.0\nsemantic_range 3.0.0→3.1.1"]
PNPM["pnpm-lock.yaml\n(3 workspace importers)"]
end
GEM1 --> LOCK1
GEM2 --> LOCK2
GEM3 --> LOCK3
NPM1 --> PNPM
NPM2 --> PNPM
NPM3 --> PNPM
SHAKAPACKER["shakapacker 9.5.0 → 9.6.0"]
SHAKAPACKER --> GEM1 & GEM2 & GEM3
SHAKAPACKER --> NPM1 & NPM2 & NPM3
Last reviewed commit: eb8ac0c |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is ON, but it could not run because Privacy Mode (Legacy) is turned on. To enable Bugbot Autofix, switch your privacy mode in the Cursor dashboard.
| eval_gemfile File.expand_path("../Gemfile.shared_dev_dependencies", __dir__) | ||
|
|
||
| gem "shakapacker", "9.5.0" | ||
| gem "shakapacker", "9.6.0" |
There was a problem hiding this comment.
Gemfile.lock files not regenerated after gem pin update
Medium Severity
The shakapacker gem pin was updated to "9.6.0" in both react_on_rails/Gemfile.development_dependencies and react_on_rails_pro/Gemfile.development_dependencies, but the corresponding top-level lock files react_on_rails/Gemfile.lock and react_on_rails_pro/Gemfile.lock still reference shakapacker (9.5.0). This Gemfile/Gemfile.lock mismatch will cause bundle install to fail or require lock file regeneration, potentially breaking CI or local development setup. The PR description states it "regenerates all lock files" but these two were missed.
Additional Locations (1)
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eb8ac0c05b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| eval_gemfile File.expand_path("../Gemfile.shared_dev_dependencies", __dir__) | ||
|
|
||
| gem "shakapacker", "9.5.0" | ||
| gem "shakapacker", "9.6.0" |
There was a problem hiding this comment.
Regenerate OSS Gemfile.lock after shakapacker bump
This version pin was updated to 9.6.0, but react_on_rails/Gemfile.lock is still pinned to shakapacker (= 9.5.0), which leaves Bundler inputs out of sync for the open-source gem workflow. In environments using a frozen lockfile this can fail bundle exec immediately, and in non-frozen installs it means the committed lock state does not actually represent the bumped dependency.
Useful? React with 👍 / 👎.
| gem "react_on_rails", path: "../" | ||
|
|
||
| gem "shakapacker", "9.5.0" | ||
| gem "shakapacker", "9.6.0" |
There was a problem hiding this comment.
Regenerate Pro Gemfile.lock after shakapacker bump
The Pro development dependency pin is now 9.6.0, but react_on_rails_pro/Gemfile.lock still contains shakapacker (= 9.5.0), so the committed lockfile no longer matches the declared Gemfile dependency. That mismatch can break locked Bundler runs and prevents this commit from reliably validating the intended Shakapacker upgrade in Pro workflows.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@react_on_rails/Gemfile.development_dependencies`:
- Line 5: The Gemfile was updated to pin gem "shakapacker" to 9.6.0 but the
generated lockfiles still list 9.5.0; run bundle install (or bundle update
shakapacker) in both react_on_rails and react_on_rails_pro to regenerate
Gemfile.lock files so they match the Gemfile, ensuring shakapacker resolves to
9.6.0 in each Gemfile.lock.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: b92c4c8b-012a-4fd4-9f0d-13ded23a56ea
⛔ Files ignored due to path filters (4)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yamlreact_on_rails/spec/dummy/Gemfile.lockis excluded by!**/*.lockreact_on_rails_pro/spec/dummy/Gemfile.lockis excluded by!**/*.lockreact_on_rails_pro/spec/execjs-compatible-dummy/Gemfile.lockis excluded by!**/*.lock
📒 Files selected for processing (6)
react_on_rails/Gemfile.development_dependenciesreact_on_rails/spec/dummy/package.jsonreact_on_rails_pro/Gemfile.development_dependenciesreact_on_rails_pro/spec/dummy/package.jsonreact_on_rails_pro/spec/execjs-compatible-dummy/Gemfilereact_on_rails_pro/spec/execjs-compatible-dummy/package.json
|
Review Summary This is a clean, mechanical dependency bump of shakapacker from 9.5.0 to 9.6.0 across all test/development environments. What looks good:
Notable transitive changes:
Suggestion: The CI passes checkbox is still unchecked. Merge only after CI is green across all matrix jobs, particularly the execjs-compatible-dummy suite. Overall: LGTM as a dependency update. No correctness, security, or API concerns. |
size-limit report 📦
|
…_rails_pro The top-level lockfiles in react_on_rails/ and react_on_rails_pro/ were missed in the initial commit, leaving them pinned to shakapacker 9.5.0. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Review: shakapacker 9.5.0 to 9.6.0Overall: LGTM. This is a clean, mechanical version bump correctly applied across all environments. What's correct
Transitive changes worth noting
On CodeRabbit's "Changes Requested"CodeRabbit's concern that lockfiles were not updated is a false positive - it excluded Prerequisite before merge
|
## Summary - Add changelog entries for 6 user-visible PRs merged since v16.4.0.rc.6 that were missing from `[Unreleased]` - Update existing #2561 entry to include #2568 contributor credit ### New entries added | Section | PR | Description | |---|---|---| | Added | #2539 | Environment-variable-driven ports in Procfile templates | | Fixed | #2417 | Rspack generator config path fix | | Fixed | #2419 | Precompile hook load-based execution fix | | Fixed | #2577 | `create-react-on-rails-app` validation improvements | | Pro Fixed | #2416 | StreamResponse status fallback fix | | Pro Fixed | #2566 | Empty-string license plan mismatch fix | ### Skipped PRs (not user-visible) Docs (#2406, #2414, #2479, #2494, #2518, #2537, #2544), CI/internal (#2533, #2547, #2555, #2557, #2558, #2564), dependabot (#2387, #2541), dev dependencies (#2559, #2569, #2573). ## Test plan - [ ] Verify changelog formatting matches existing entries - [ ] Verify all user-visible PRs since v16.4.0.rc.6 are covered 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Documentation-only changelog updates with no runtime or build behavior changes. > > **Overview** > Updates `CHANGELOG.md`’s **[Unreleased]** section to include previously missing user-facing entries: Procfile templates now support env-driven ports, several generator/`bin/dev` precompile-hook and rspack-path fixes are documented, and `create-react-on-rails-app` validation improvements are noted. > > Also adds two Pro fix entries (StreamResponse status fallback and license plan empty-string validation) and updates the existing `bin/dev` precompile-hook entry to credit an additional PR/contributor. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit e75d2b5. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>


Summary
Files updated
react_on_rails/Gemfile.development_dependencies— gem pinreact_on_rails/spec/dummy/package.json— npm pinreact_on_rails_pro/Gemfile.development_dependencies— gem pin (Pro)react_on_rails_pro/spec/dummy/package.json— npm pin (Pro)react_on_rails_pro/spec/execjs-compatible-dummy/Gemfile— gem pin (Pro ExecJS)react_on_rails_pro/spec/execjs-compatible-dummy/package.json— npm pin (Pro ExecJS)Test plan
🤖 Generated with Claude Code
Note
Medium Risk
Build/asset pipeline dependency bump; risk is mainly potential CI or local compilation regressions due to webpack/shakapacker behavior changes and updated transitive dependencies.
Overview
Updates
shakapackerfrom9.5.0to9.6.0across the repo’s Ruby and Node test/dummy environments (Gemfile pins andpackage.jsonpins).Regenerates lockfiles (
pnpm-lock.yaml, dummyGemfile.locks), which also pulls minor transitive updates (e.g.,semantic_range/package_json) and reflects updated peer dependency ranges (notablycompression-webpack-plugin).Written by Cursor Bugbot for commit eb8ac0c. Configure here.
Summary by CodeRabbit