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
+37-34Lines changed: 37 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,6 +23,31 @@ After a release, please make sure to run `bundle exec rake update_changelog`. Th
23
23
24
24
Changes since the last non-beta release.
25
25
26
+
### [16.0.0] - 2025-09-16
27
+
28
+
See [Release Notes](docs/release-notes/16.0.0.md) for full details.
29
+
30
+
#### Enhanced
31
+
32
+
- Improved error messages in install generator with clearer troubleshooting steps
33
+
- Enhanced package manager detection with multi-strategy validation
34
+
- Ensured that the RSC payload is injected after the component's HTML markup to improve the performance of the RSC payload injection. [PR 1738](https://github.com/shakacode/react_on_rails/pull/1738) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
35
+
- Improved RSC rendering flow by eliminating double rendering of server components and reducing the number of HTTP requests.
36
+
- Updated communication protocol between Node Renderer and Rails to version 2.0.0 which supports the ability to upload multiple bundles at once.
37
+
- Added `RSCRoute` component to enable seamless server-side rendering of React Server Components. This component automatically handles RSC payload injection and hydration, allowing server components to be rendered directly within client components while maintaining optimal performance. [PR 1696](https://github.com/shakacode/react_on_rails/pull/1696) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
38
+
- The global context is now accessed using `globalThis`. [PR 1727](https://github.com/shakacode/react_on_rails/pull/1727) by [alexeyr-ci2](https://github.com/alexeyr-ci2).
39
+
- Generated client packs now import from `react-on-rails/client` instead of `react-on-rails`. [PR 1706](https://github.com/shakacode/react_on_rails/pull/1706) by [alexeyr-ci](https://github.com/alexeyr-ci).
40
+
- The "optimization opportunity" message when importing the server-side `react-on-rails` instead of `react-on-rails/client` in browsers is now a warning for two reasons:
41
+
- Make it more prominent
42
+
- Include a stack trace when clicked
43
+
44
+
#### Added
45
+
46
+
- Configuration option `generated_component_packs_loading_strategy` to control how generated component packs are loaded. It supports `sync`, `async`, and `defer` strategies. [PR 1712](https://github.com/shakacode/react_on_rails/pull/1712) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
47
+
- Support for returning React component from async render-function. [PR 1720](https://github.com/shakacode/react_on_rails/pull/1720) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
48
+
- React Server Components Support (Pro Feature) [PR 1644](https://github.com/shakacode/react_on_rails/pull/1644) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
49
+
- Improved component and store hydration performance [PR 1656](https://github.com/shakacode/react_on_rails/pull/1656) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
50
+
26
51
#### Removed (Breaking Changes)
27
52
28
53
-**Webpacker support completely removed**. Shakapacker 8.2+ is now required.
@@ -44,18 +69,6 @@ Changes since the last non-beta release.
44
69
- Generator uses `Thor::Error` exceptions instead of `exit(1)` for better error handling
45
70
- Migration: Ensure you have a JavaScript package manager installed before running the generator
46
71
47
-
#### Enhanced
48
-
49
-
- Simplified CI matrix configuration with clear dependency level naming (`minimum`/`latest` instead of `oldest`/`newest`)
50
-
- Improved error messages in install generator with clearer troubleshooting steps
51
-
- Enhanced package manager detection with multi-strategy validation
52
-
53
-
### [15.0.0] - 2025-08-28
54
-
55
-
See [Release Notes](docs/release-notes/15.0.0.md) for full details.
56
-
57
-
### Removed (Breaking Changes)
58
-
59
72
- Deprecated `defer_generated_component_packs` configuration option. You should use `generated_component_packs_loading_strategy` instead.
For detailed migration instructions, see the [16.0.0 Release Notes](docs/release-notes/16.0.0.md).
74
90
75
91
#### Fixed
76
92
77
93
- Enable support for ReactRefreshWebpackPlugin v0.6.0 by adding conditional logic regarding configuration. [PR 1748](https://github.com/shakacode/react_on_rails/pull/1748) by [judahmeek](https://github.com/judahmeek).
78
94
- Replace RenderOptions.renderRequestId and use local trackers instead. This change should only be relevant to ReactOnRails Pro users. [PR 1745](https://github.com/shakacode/react_on_rails/pull/1745) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
79
95
- Fixed invalid warnings about non-exact versions when using a pre-release version of React on Rails, as well as missing warnings when using different pre-release versions of the gem and the Node package. [PR 1742](https://github.com/shakacode/react_on_rails/pull/1742) by [alexeyr-ci2](https://github.com/alexeyr-ci2).
80
96
81
-
#### Improved
82
-
83
-
- Ensured that the RSC payload is injected after the component's HTML markup to improve the performance of the RSC payload injection. [PR 1738](https://github.com/shakacode/react_on_rails/pull/1738) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
84
-
- Improved RSC rendering flow by eliminating double rendering of server components and reducing the number of HTTP requests.
85
-
- Updated communication protocol between Node Renderer and Rails to version 2.0.0 which supports the ability to upload multiple bundles at once.
86
-
- Added `RSCRoute` component to enable seamless server-side rendering of React Server Components. This component automatically handles RSC payload injection and hydration, allowing server components to be rendered directly within client components while maintaining optimal performance. [PR 1696](https://github.com/shakacode/react_on_rails/pull/1696) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
87
-
- The global context is now accessed using `globalThis`. [PR 1727](https://github.com/shakacode/react_on_rails/pull/1727) by [alexeyr-ci2](https://github.com/alexeyr-ci2).
88
-
- Generated client packs now import from `react-on-rails/client` instead of `react-on-rails`. [PR 1706](https://github.com/shakacode/react_on_rails/pull/1706) by [alexeyr-ci](https://github.com/alexeyr-ci).
89
-
- The "optimization opportunity" message when importing the server-side `react-on-rails` instead of `react-on-rails/client` in browsers is now a warning for two reasons:
90
-
- Make it more prominent
91
-
- Include a stack trace when clicked
97
+
### [15.0.0] - 2025-08-28 - RETRACTED
92
98
93
-
#### Added
99
+
**⚠️ This version has been retracted due to API design issues. Please upgrade directly to v16.0.0.**
94
100
95
-
- Configuration option `generated_component_packs_loading_strategy` to control how generated component packs are loaded. It supports `sync`, `async`, and `defer` strategies. [PR 1712](https://github.com/shakacode/react_on_rails/pull/1712) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
96
-
- Support for returning React component from async render-function. [PR 1720](https://github.com/shakacode/react_on_rails/pull/1720) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
97
-
- React Server Components Support (Pro Feature) [PR 1644](https://github.com/shakacode/react_on_rails/pull/1644) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
98
-
- Improved component and store hydration performance [PR 1656](https://github.com/shakacode/react_on_rails/pull/1656) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
101
+
The `force_load` feature was incorrectly available without a Pro license and has been renamed to `immediate_hydration` for better clarity. All features from v15 are available in v16 with the corrected API.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+36Lines changed: 36 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -180,6 +180,42 @@ cd react_on_rails/
180
180
yarn run check
181
181
```
182
182
183
+
## Development Commands
184
+
185
+
### Code Formatting
186
+
187
+
To format JavaScript/TypeScript files with Prettier:
188
+
189
+
```sh
190
+
yarn start format
191
+
```
192
+
193
+
To check formatting without fixing:
194
+
195
+
```sh
196
+
yarn start format.listDifferent
197
+
```
198
+
199
+
### Linting
200
+
201
+
Run all linters (ESLint and RuboCop):
202
+
203
+
```sh
204
+
rake lint
205
+
```
206
+
207
+
Run only RuboCop:
208
+
209
+
```sh
210
+
rake lint:rubocop
211
+
```
212
+
213
+
Run only ESLint:
214
+
215
+
```sh
216
+
yarn run lint
217
+
```
218
+
183
219
### Starting the Dummy App
184
220
185
221
To run the dummy app, it's **CRITICAL** to not just run `rails s`. You have to run `foreman start` with one of the Procfiles. If you don't do this, then `webpack` will not generate a new bundle, and you will be seriously confused when you change JavaScript and the app does not change. If you change the Webpack configs, then you need to restart Foreman. If you change the JS code for react-on-rails, you need to run `yarn run build` in the project root.
0 commit comments