You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stable react-on-rails-rsc@19.0.5 is now published on npm latest, so flip
every default/published pin from the 19.0.5-rc.7 prerelease to the stable
19.0.5 release. This is the v17 final pin.
- Generator default RSC_PACKAGE_VERSION_PIN -> "19.0.5"; reword the pin
comment to stable framing and drop the resolved TODO(#3642).
- Update js_dependency_manager_spec assertions and warning-text/literal
expectations from 19.0.5-rc.7 to 19.0.5 (the unrelated 19.1.0-rc.1
stub_const is left as-is).
- Root package.json devDependency and pnpm-overrides comment, plus the
Pro package devDependency, now pin 19.0.5.
- Regenerate pnpm-lock.yaml: the react-on-rails-rsc 19.0.5-rc.7 entries
become 19.0.5; the intentional 19.2.0-rc.1 soak entries are untouched.
- Reword the Pro RSC install docs (rspack-compatibility, create-without-ssr,
upgrading-existing-pro-app) to state stable 19.0.5 is the pin.
- Regenerate llms-full-pro.txt to mirror the Pro doc edits.
- Add a [Unreleased] CHANGELOG entry; note the native RSC CSS FOUC fix
requires react-on-rails-rsc >= 19.0.5.
Intentionally left untouched: the React 19.2 soak pins
(react_on_rails_pro_dummy override + Pro dummy package, 19.2.0-rc.1 /
react 19.2.7), the Pro package peerDependencies "*", and the node-renderer
RSC peer-support files.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,10 @@ After a release, run `/update-changelog` in Claude Code to analyze commits, writ
24
24
25
25
### [Unreleased]
26
26
27
+
#### Changed
28
+
29
+
-**[Pro]****Pinned `react-on-rails-rsc` to the stable `19.0.5` release**: The generator default, the root and Pro package manifests, the lockfile, and the Pro RSC install docs now pin the stable `react-on-rails-rsc@19.0.5` (previously the `19.0.5-rc.7` prerelease). The native RSC CSS FOUC fix requires `react-on-rails-rsc >= 19.0.5`. Closes [Issue 3634](https://github.com/shakacode/react_on_rails/issues/3634). [PR 3634](https://github.com/shakacode/react_on_rails/pull/3634) by [justin808](https://github.com/justin808).
# bun add react@~19.0.4 react-dom@~19.0.4 react-on-rails-rsc@19.0.5
33
33
```
34
34
35
35
> [!NOTE]
36
36
> React on Rails Pro RSC currently supports React 19.0.x with patch >= 19.0.4. Do not upgrade generated RSC apps to React 19.1 or 19.2 just because those versions are newer on npm; the RSC bundler APIs used internally can change between React minor versions. See the [React documentation on Server Components](https://react.dev/reference/rsc/server-components#how-do-i-build-support-for-server-components) for details.
37
37
>
38
-
> The example above pins `react-on-rails-rsc@19.0.5-rc.7`, a release candidate. Keep that exact pin until a stable `react-on-rails-rsc@19.0.5` release is published and the generator/package metadata policy is reviewed together.
38
+
> The example above pins the stable `react-on-rails-rsc@19.0.5` release exactly, matching the generator default.
39
39
40
40
2. Enable support for Server Components in React on Rails Pro configuration:
Copy file name to clipboardExpand all lines: docs/pro/react-server-components/rspack-compatibility.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ The generator supports Rspack — when `assets_bundler: rspack` is detected in `
12
12
The RSC implementation depends on the `react-on-rails-rsc` npm package, which provides bundler-specific manifest plugins plus a shared loader:
13
13
14
14
-**WebpackPlugin** (`react-on-rails-rsc/WebpackPlugin`) — generates client/server component manifest files under webpack.
15
-
-**RspackPlugin** (`react-on-rails-rsc/RspackPlugin`) — the rspack-native equivalent (`RSCRspackPlugin`). It emits the **same manifest JSON schema** using only standard rspack public APIs, so the RSC runtime resolves client references identically. Exported by the exact`react-on-rails-rsc@19.0.5-rc.7` pin (switch to 19.0.5 stable once published).
15
+
-**RspackPlugin** (`react-on-rails-rsc/RspackPlugin`) — the rspack-native equivalent (`RSCRspackPlugin`). It emits the **same manifest JSON schema** using only standard rspack public APIs, so the RSC runtime resolves client references identically. Exported by the stable`react-on-rails-rsc@19.0.5` pin.
16
16
-**WebpackLoader** (`react-on-rails-rsc/WebpackLoader`) — transforms `'use client'` files into client reference proxies in the RSC bundle. Works under both webpack and rspack.
17
17
18
18
## React and Package Version Policy
@@ -24,8 +24,8 @@ integration can change between React minor releases, so the generator range shou
24
24
advance only after the Webpack and Rspack paths are verified against the new React
25
25
minor.
26
26
27
-
The generator separately pins `react-on-rails-rsc@19.0.5-rc.7` exactly until a
28
-
stable `react-on-rails-rsc@19.0.5` is published. That package pin is separate from
27
+
The generator separately pins the stable `react-on-rails-rsc@19.0.5` release
28
+
exactly. That package pin is separate from
29
29
the Pro package peer metadata tracked in [issue #3609](https://github.com/shakacode/react_on_rails/issues/3609):
30
30
metadata can allow prerelease RSC packages broadly enough for `npm ls`, while the
31
31
generator still installs the tested React range and exact RSC package pin.
> **React 19.0.x with patch >= 19.0.4** is recommended. Earlier 19.0.x versions (19.0.0--19.0.3) have known security vulnerabilities — see the [v16.2.0 release notes](../../oss/upgrading/release-notes/16.2.0.md) for details.
> The RSC generator intentionally stays on React 19.0.x and does not widen generated apps to React 19.1 or 19.2 yet. React's RSC runtime and bundler APIs can change between minor releases, so advance the React range only when the generator, docs, and package metadata policy are reviewed together.
35
35
36
36
> [!NOTE]
37
-
> `react-on-rails-rsc@19.0.5-rc.7` is an exact release-candidate pin. Keep that exact pin until a stable `react-on-rails-rsc@19.0.5` release is available. This is separate from the Pro package peer metadata tracked in [issue #3609](https://github.com/shakacode/react_on_rails/issues/3609): metadata can allow prerelease RSC packages broadly enough for `npm ls`, while the generator still installs the tested exact RSC package pin.
37
+
> `react-on-rails-rsc@19.0.5` is the exact stable pin used by the generator. This is separate from the Pro package peer metadata tracked in [issue #3609](https://github.com/shakacode/react_on_rails/issues/3609): metadata can allow RSC packages broadly enough for `npm ls`, while the generator still installs the tested exact RSC package pin.
38
38
39
39
## Pre-Migration: Audit Components for Client API Usage
40
40
@@ -263,8 +263,8 @@ Then run `bundle install` before retrying the generator.
263
263
264
264
If the RSC bundle build fails but server and client builds succeed, the issue is likely in `rscWebpackConfig.js`. Common causes:
265
265
266
-
-**Missing `react-on-rails-rsc` package**: Run `pnpm add react-on-rails-rsc@19.0.5-rc.7`
267
-
-**React or `react-on-rails-rsc` version mismatch**: RSC currently requires React 19.0.x with patch >= 19.0.4 and the exact `react-on-rails-rsc@19.0.5-rc.7` pin. Check with `pnpm list react react-dom react-on-rails-rsc`
266
+
-**Missing `react-on-rails-rsc` package**: Run `pnpm add react-on-rails-rsc@19.0.5`
267
+
-**React or `react-on-rails-rsc` version mismatch**: RSC currently requires React 19.0.x with patch >= 19.0.4 and the exact `react-on-rails-rsc@19.0.5` pin. Check with `pnpm list react react-dom react-on-rails-rsc`
268
268
-**Custom webpack config incompatibility**: If your `serverWebpackConfig.js` was heavily customized, the generator's transforms may not apply cleanly. See [Preparing Your App: Step 4](../../oss/migrating/rsc-preparing-app.md#step-4-set-up-the-rsc-webpack-bundle) for the underlying intent of each webpack change
# bun add react@~19.0.4 react-dom@~19.0.4 react-on-rails-rsc@19.0.5
6516
6516
```
6517
6517
6518
6518
> [!NOTE]
6519
6519
> React on Rails Pro RSC currently supports React 19.0.x with patch >= 19.0.4. Do not upgrade generated RSC apps to React 19.1 or 19.2 just because those versions are newer on npm; the RSC bundler APIs used internally can change between React minor versions. See the [React documentation on Server Components](https://react.dev/reference/rsc/server-components#how-do-i-build-support-for-server-components) for details.
6520
6520
>
6521
-
> The example above pins `react-on-rails-rsc@19.0.5-rc.7`, a release candidate. Keep that exact pin until a stable `react-on-rails-rsc@19.0.5` release is published and the generator/package metadata policy is reviewed together.
6521
+
> The example above pins the stable `react-on-rails-rsc@19.0.5` release exactly, matching the generator default.
6522
6522
6523
6523
2. Enable support for Server Components in React on Rails Pro configuration:
6524
6524
@@ -8091,17 +8091,17 @@ Before running the generator, verify your environment:
8091
8091
| React on Rails Pro npm | `npm ls react-on-rails-pro` / `yarn why react-on-rails-pro` / `pnpm list react-on-rails-pro` / `bun pm why react-on-rails-pro` | Matches gem version |
8092
8092
| React version | `npm ls react` / `yarn why react` / `pnpm list react` / `bun pm why react` | 19.0.x with patch >= 19.0.4 (see [v16.2.0 release notes](../../oss/upgrading/release-notes/16.2.0.md) for security context) |
8093
8093
| React DOM version | `npm ls react-dom` / `yarn why react-dom` / `pnpm list react-dom` / `bun pm why react-dom` | Must match `react` version |
8094
-
| `react-on-rails-rsc` | `npm ls react-on-rails-rsc` / `yarn why react-on-rails-rsc` / `pnpm list react-on-rails-rsc` / `bun pm why react-on-rails-rsc` | Exact `19.0.5-rc.7` pin until stable `19.0.5` ships |
> **React 19.0.x with patch >= 19.0.4** is recommended. Earlier 19.0.x versions (19.0.0--19.0.3) have known security vulnerabilities — see the [v16.2.0 release notes](../../oss/upgrading/release-notes/16.2.0.md) for details.
> The RSC generator intentionally stays on React 19.0.x and does not widen generated apps to React 19.1 or 19.2 yet. React's RSC runtime and bundler APIs can change between minor releases, so advance the React range only when the generator, docs, and package metadata policy are reviewed together.
8111
8111
8112
8112
> [!NOTE]
8113
-
> `react-on-rails-rsc@19.0.5-rc.7` is an exact release-candidate pin. Keep that exact pin until a stable `react-on-rails-rsc@19.0.5` release is available. This is separate from the Pro package peer metadata tracked in [issue #3609](https://github.com/shakacode/react_on_rails/issues/3609): metadata can allow prerelease RSC packages broadly enough for `npm ls`, while the generator still installs the tested exact RSC package pin.
8113
+
> `react-on-rails-rsc@19.0.5` is the exact stable pin used by the generator. This is separate from the Pro package peer metadata tracked in [issue #3609](https://github.com/shakacode/react_on_rails/issues/3609): metadata can allow RSC packages broadly enough for `npm ls`, while the generator still installs the tested exact RSC package pin.
8114
8114
8115
8115
## Pre-Migration: Audit Components for Client API Usage
8116
8116
@@ -8339,8 +8339,8 @@ Then run `bundle install` before retrying the generator.
8339
8339
8340
8340
If the RSC bundle build fails but server and client builds succeed, the issue is likely in `rscWebpackConfig.js`. Common causes:
8341
8341
8342
-
- **Missing `react-on-rails-rsc` package**: Run `pnpm add react-on-rails-rsc@19.0.5-rc.7`
8343
-
- **React or `react-on-rails-rsc` version mismatch**: RSC currently requires React 19.0.x with patch >= 19.0.4 and the exact `react-on-rails-rsc@19.0.5-rc.7` pin. Check with `pnpm list react react-dom react-on-rails-rsc`
8342
+
- **Missing `react-on-rails-rsc` package**: Run `pnpm add react-on-rails-rsc@19.0.5`
8343
+
- **React or `react-on-rails-rsc` version mismatch**: RSC currently requires React 19.0.x with patch >= 19.0.4 and the exact `react-on-rails-rsc@19.0.5` pin. Check with `pnpm list react react-dom react-on-rails-rsc`
8344
8344
- **Custom webpack config incompatibility**: If your `serverWebpackConfig.js` was heavily customized, the generator's transforms may not apply cleanly. See [Preparing Your App: Step 4](../../oss/migrating/rsc-preparing-app.md#step-4-set-up-the-rsc-webpack-bundle) for the underlying intent of each webpack change
8345
8345
8346
8346
### Manifest Files Not Generated
@@ -9105,7 +9105,7 @@ The generator supports Rspack — when `assets_bundler: rspack` is detected in `
9105
9105
The RSC implementation depends on the `react-on-rails-rsc` npm package, which provides bundler-specific manifest plugins plus a shared loader:
- **RspackPlugin** (`react-on-rails-rsc/RspackPlugin`) — the rspack-native equivalent (`RSCRspackPlugin`). It emits the **same manifest JSON schema** using only standard rspack public APIs, so the RSC runtime resolves client references identically. Exported by the exact `react-on-rails-rsc@19.0.5-rc.7` pin (switch to 19.0.5 stable once published).
9108
+
- **RspackPlugin** (`react-on-rails-rsc/RspackPlugin`) — the rspack-native equivalent (`RSCRspackPlugin`). It emits the **same manifest JSON schema** using only standard rspack public APIs, so the RSC runtime resolves client references identically. Exported by the stable `react-on-rails-rsc@19.0.5` pin.
9109
9109
- **WebpackLoader** (`react-on-rails-rsc/WebpackLoader`) — transforms `'use client'` files into client reference proxies in the RSC bundle. Works under both webpack and rspack.
9110
9110
9111
9111
## React and Package Version Policy
@@ -9117,8 +9117,8 @@ integration can change between React minor releases, so the generator range shou
9117
9117
advance only after the Webpack and Rspack paths are verified against the new React
9118
9118
minor.
9119
9119
9120
-
The generator separately pins `react-on-rails-rsc@19.0.5-rc.7` exactly until a
9121
-
stable `react-on-rails-rsc@19.0.5` is published. That package pin is separate from
9120
+
The generator separately pins the stable `react-on-rails-rsc@19.0.5` release
9121
+
exactly. That package pin is separate from
9122
9122
the Pro package peer metadata tracked in [issue #3609](https://github.com/shakacode/react_on_rails/issues/3609):
9123
9123
metadata can allow prerelease RSC packages broadly enough for `npm ls`, while the
9124
9124
generator still installs the tested React range and exact RSC package pin.
0 commit comments