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
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 the RSC runtime to stable `react-on-rails-rsc@19.0.5`**: the generator and Pro dummy app now install the stable `19.0.5` package, while `react-on-rails-pro` declares an explicit optional peer range for stable `^19.0.5` plus the prior coordinated `19.0.5-rc.6` / `19.0.5-rc.7` pins so existing RC apps can upgrade far enough for the node renderer to warn them onto stable. Fixes [Issue 3965](https://github.com/shakacode/react_on_rails/issues/3965).
# 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 tested stable `react-on-rails-rsc@19.0.5`release. Keep React on the supported 19.0.x line until the generator/package metadata policy is reviewed together.
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
+6-6Lines changed: 6 additions & 6 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 exact 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,11 +24,11 @@ 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
29
-
the Pro package peer metadata tracked in [issue #3609](https://github.com/shakacode/react_on_rails/issues/3609):
30
-
metadata can allow prerelease RSC packages broadly enough for `npm ls`, while the
31
-
generator still installs the tested React range and exact RSC package pin.
27
+
The generator separately pins `react-on-rails-rsc@19.0.5` exactly. That package
28
+
pin is separate from Pro package peer metadata tracked in
> **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 tested stable generator pin. Pro peer metadata (see [issue #3609](https://github.com/shakacode/react_on_rails/issues/3609)) describes the supported RSC line; the generator installs the exact tested 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
0 commit comments