react_on_rails 15.0.0.alpha.2 → 15.0.0.rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +443 -78
  3. data/CONTRIBUTING.md +53 -35
  4. data/Gemfile.development_dependencies +1 -1
  5. data/Gemfile.lock +4 -4
  6. data/KUDOS.md +22 -1
  7. data/NEWS.md +48 -48
  8. data/PROJECTS.md +45 -40
  9. data/README.md +24 -16
  10. data/SUMMARY.md +62 -52
  11. data/eslint.config.ts +213 -0
  12. data/knip.ts +19 -10
  13. data/lib/generators/USAGE +1 -1
  14. data/lib/generators/react_on_rails/dev_tests_generator.rb +4 -8
  15. data/lib/generators/react_on_rails/templates/.eslintrc +1 -1
  16. data/lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorld.module.css +2 -2
  17. data/lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorldServer.js +1 -1
  18. data/lib/generators/react_on_rails/templates/base/base/app/javascript/packs/registration.js.tt +1 -1
  19. data/lib/generators/react_on_rails/templates/base/base/config/shakapacker.yml +1 -1
  20. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/reducers/helloWorldReducer.js +1 -1
  21. data/lib/react_on_rails/configuration.rb +52 -8
  22. data/lib/react_on_rails/controller.rb +4 -2
  23. data/lib/react_on_rails/helper.rb +16 -4
  24. data/lib/react_on_rails/packs_generator.rb +4 -10
  25. data/lib/react_on_rails/react_component/render_options.rb +13 -1
  26. data/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb +2 -0
  27. data/lib/react_on_rails/utils.rb +23 -0
  28. data/lib/react_on_rails/version.rb +1 -1
  29. data/lib/tasks/assets.rake +1 -1
  30. data/tsconfig.eslint.json +6 -0
  31. data/tsconfig.json +3 -2
  32. metadata +5 -5
data/CHANGELOG.md CHANGED
@@ -1,30 +1,74 @@
1
1
  # Change Log
2
- All notable changes to this project's source code will be documented in this file. Items under `Unreleased` is upcoming features that will be out in the next version.
2
+
3
+ All notable changes to this project's source code will be documented in this file. Items under `Unreleased` is upcoming features that will be out in the next version.
3
4
 
4
5
  Migration instructions for the major updates can be found [here](https://www.shakacode.com/react-on-rails/docs/guides/upgrading-react-on-rails#upgrading-to-version-9.md). Some smaller migration information can be found here.
5
6
 
6
7
  ## Want to Save Time Updating?
7
8
 
8
- If you need help upgrading `react_on_rails`, `webpacker` to `shakapacker`, or JS packages, contact justin@shakacode.com. We can upgrade your project and improve your development and customer experiences, allowing you to focus on building new features or fixing bugs instead.
9
+ If you need help upgrading `react_on_rails`, `webpacker` to `shakapacker`, or JS packages, contact justin@shakacode.com. We can upgrade your project and improve your development and customer experiences, allowing you to focus on building new features or fixing bugs instead.
9
10
 
10
11
  For an overview of working with us, see our [Client Engagement Model](https://www.shakacode.com/blog/client-engagement-model/) article and [how we bill for time](https://www.shakacode.com/blog/shortcut-jira-trello-github-toggl-time-and-task-tracking/).
11
12
 
12
13
  If you think ShakaCode can help your project, [click here](https://meetings.hubspot.com/justingordon/30-minute-consultation) to book a call with [Justin Gordon](mailto:justin@shakacode.com), the creator of React on Rails and Shakapacker.
13
14
 
14
15
  ## Contributors
15
- Please follow the recommendations outlined at [keepachangelog.com](http://keepachangelog.com/). Please use the existing headings and styling as a guide, and add a link for the version diff at the bottom of the file. Also, please update the `Unreleased` link to compare to the latest release version.
16
+
17
+ Please follow the recommendations outlined at [keepachangelog.com](http://keepachangelog.com/). Please use the existing headings and styling as a guide.
18
+ After a release, please make sure to run `bundle exec rake update_changelog`. This will add a heading for the latest version and update the links at the end of the file.
16
19
 
17
20
  ## Versions
21
+
18
22
  ### [Unreleased]
23
+
19
24
  Changes since the last non-beta release.
20
25
 
26
+ ### [15.0.0-rc.1] - 2025-06-18
27
+
28
+ #### Improved
29
+
30
+ - 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).
31
+
32
+ ### [15.0.0-rc.0] - 2025-06-16
33
+
34
+ #### Improved
35
+
36
+ - Improved RSC rendering flow by eliminating double rendering of server components and reducing the number of HTTP requests.
37
+ - Updated communication protocol between Node Renderer and Rails to version 2.0.0 which supports the ability to upload multiple bundles at once.
38
+ - 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.
39
+
40
+ [PR 1696](https://github.com/shakacode/react_on_rails/pull/1696) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
41
+
42
+ #### Added
43
+
44
+ - 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).
45
+
46
+ - 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).
47
+
48
+ ### Removed (Breaking Changes)
49
+
50
+ - Deprecated `defer_generated_component_packs` configuration option. You should use `generated_component_packs_loading_strategy` instead. [PR 1712](https://github.com/shakacode/react_on_rails/pull/1712) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
51
+
52
+ ### Changed
53
+
54
+ - **Breaking change**: The package is ESM-only now. Please see [Release Notes](docs/release-notes/15.0.0.md#esm-only-package) for more details.
55
+ - 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).
56
+ - 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).
57
+ - 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:
58
+ - Make it more prominent
59
+ - Include a stack trace when clicked
60
+
61
+ ### [15.0.0-alpha.2] - 2025-03-07
62
+
21
63
  See [Release Notes](docs/release-notes/15.0.0.md) for full details.
22
64
 
23
65
  #### Added
66
+
24
67
  - React Server Components Support (Pro Feature) [PR 1644](https://github.com/shakacode/react_on_rails/pull/1644) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
25
68
  - Improved component and store hydration performance [PR 1656](https://github.com/shakacode/react_on_rails/pull/1656) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
26
69
 
27
70
  #### Breaking Changes
71
+
28
72
  - `ReactOnRails.reactOnRailsPageLoaded` is now an async function
29
73
  - `force_load` configuration now defaults to `true`
30
74
  - `defer_generated_component_packs` configuration now defaults to `false`
@@ -32,21 +76,24 @@ See [Release Notes](docs/release-notes/15.0.0.md) for full details.
32
76
  ### [14.2.0] - 2025-03-03
33
77
 
34
78
  #### Added
79
+
35
80
  - Add export option 'react-on-rails/client' to avoid shipping server-rendering code to browsers (~5KB improvement) [PR 1697](https://github.com/shakacode/react_on_rails/pull/1697) by [Romex91](https://github.com/Romex91).
36
81
 
37
82
  #### Fixed
83
+
38
84
  - Fix obscure errors by introducing FULL_TEXT_ERRORS [PR 1695](https://github.com/shakacode/react_on_rails/pull/1695) by [Romex91](https://github.com/Romex91).
39
85
  - Disable `esModuleInterop` to increase interoperability [PR 1699](https://github.com/shakacode/react_on_rails/pull/1699) by [alexeyr-ci](https://github.com/alexeyr-ci).
40
86
  - Resolved 14.1.1 incompatibility with eslint & made sure that spec/dummy is linted by eslint. [PR 1693](https://github.com/shakacode/react_on_rails/pull/1693) by [judahmeek](https://github.com/judahmeek).
41
87
 
42
88
  #### Changed
89
+
43
90
  - More up-to-date TS config [PR 1700](https://github.com/shakacode/react_on_rails/pull/1700) by [alexeyr-ci](https://github.com/alexeyr-ci).
44
91
 
45
92
  ### [14.1.1] - 2025-01-15
46
93
 
47
94
  #### Fixed
48
95
 
49
- - Separated streamServerRenderedReactComponent from the ReactOnRails object in order to stop users from getting errors during webpack compilation about needing the `stream-browserify` package. [PR 1680](https://github.com/shakacode/react_on_rails/pull/1680) by [judahmeek](https://github.com/judahmeek).
96
+ - Separated streamServerRenderedReactComponent from the ReactOnRails object in order to stop users from getting errors during Webpack compilation about needing the `stream-browserify` package. [PR 1680](https://github.com/shakacode/react_on_rails/pull/1680) by [judahmeek](https://github.com/judahmeek).
50
97
  - Removed obsolete `js-yaml` peer dependency. [PR 1678](https://github.com/shakacode/react_on_rails/pull/1678) by [alexeyr-ci](https://github.com/alexeyr-ci).
51
98
 
52
99
  ### [14.1.0] - 2025-01-06
@@ -59,6 +106,7 @@ See [Release Notes](docs/release-notes/15.0.0.md) for full details.
59
106
  - Enable use as a `git:` dependency. [PR 1664](https://github.com/shakacode/react_on_rails/pull/1664) by [alexeyr-ci](https://github.com/alexeyr-ci).
60
107
 
61
108
  #### Added
109
+
62
110
  - Added streaming server rendering support:
63
111
  - [PR #1633](https://github.com/shakacode/react_on_rails/pull/1633) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
64
112
  - New `stream_react_component` helper for adding streamed components to views
@@ -69,23 +117,29 @@ See [Release Notes](docs/release-notes/15.0.0.md) for full details.
69
117
  - Added support for passing options to `YAML.safe_load` when loading locale files with `config.i18n_yml_safe_load_options`. [PR #1668](https://github.com/shakacode/react_on_rails/pull/1668) by [dzirtusss](https://github.com/dzirtusss).
70
118
 
71
119
  #### Changed
120
+
72
121
  - Console replay script generation now awaits the render request promise before generating, allowing it to capture console logs from asynchronous operations. This requires using a version of the Node renderer that supports replaying async console logs. [PR #1649](https://github.com/shakacode/react_on_rails/pull/1649) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
73
122
 
74
123
  ### [14.0.5] - 2024-08-20
124
+
75
125
  #### Fixed
126
+
76
127
  - Should force load react-components which send over turbo-stream [PR #1620](https://github.com/shakacode/react_on_rails/pull/1620) by [theforestvn88](https://github.com/theforestvn88).
77
128
 
78
129
  ### [14.0.4] - 2024-07-02
79
130
 
80
131
  #### Improved
132
+
81
133
  - Improved dependency management by integrating package_json. [PR 1639](https://github.com/shakacode/react_on_rails/pull/1639) by [vaukalak](https://github.com/vaukalak).
82
134
 
83
135
  #### Changed
136
+
84
137
  - Update outdated GitHub Actions to use Node.js 20.0 versions instead [PR 1623](https://github.com/shakacode/react_on_rails/pull/1623) by [adriangohjw](https://github.com/adriangohjw).
85
138
 
86
139
  ### [14.0.3] - 2024-06-28
87
140
 
88
141
  #### Fixed
142
+
89
143
  - Fixed css-loader installation with [PR 1634](https://github.com/shakacode/react_on_rails/pull/1634) by [vaukalak](https://github.com/vaukalak).
90
144
  - Address a number of typos and grammar mistakes [PR 1631](https://github.com/shakacode/react_on_rails/pull/1631) by [G-Rath](https://github.com/G-Rath).
91
145
  - Adds an adapter module & improves test suite to support all versions of Shakapacker. [PR 1622](https://github.com/shakacode/react_on_rails/pull/1622) by [adriangohjw](https://github.com/adriangohjw) and [judahmeek](https://github.com/judahmeek).
@@ -93,96 +147,121 @@ See [Release Notes](docs/release-notes/15.0.0.md) for full details.
93
147
  ### [14.0.2] - 2024-06-11
94
148
 
95
149
  #### Fixed
150
+
96
151
  - Generator errors with Shakapacker v8+ fixed [PR 1629](https://github.com/shakacode/react_on_rails/pull/1629) by [vaukalak](https://github.com/vaukalak)
97
152
 
98
153
  ### [14.0.1] - 2024-05-16
99
154
 
100
155
  #### Fixed
156
+
101
157
  - Pack Generation: Added functionality that will add an import statement, if missing, to the server bundle entry point even if the auto-bundle generated files still exist [PR 1610](https://github.com/shakacode/react_on_rails/pull/1610) by [judahmeek](https://github.com/judahmeek).
102
158
 
103
159
  ### [14.0.0] - 2024-04-03
160
+
104
161
  _Major bump because dropping support for Ruby 2.7 and deprecated `webpackConfigLoader.js`._
105
162
 
106
163
  #### Removed
164
+
107
165
  - Dropped Ruby 2.7 support [PR 1595](https://github.com/shakacode/react_on_rails/pull/1595) by [ahangarha](https://github.com/ahangarha).
108
166
  - Removed deprecated `webpackConfigLoader.js` [PR 1600](https://github.com/shakacode/react_on_rails/pull/1600) by [ahangarha](https://github.com/ahangarha).
109
167
 
110
168
  #### Fixed
169
+
111
170
  - Trimmed the Gem to remove package.json which could cause superflous security warnings. [PR 1605](https://github.com/shakacode/react_on_rails/pull/1605) by [justin808](https://github.com/justin808).
112
171
  - Prevent displaying the deprecation message for using `webpacker_precompile?` method and `webpacker:clean` rake task when using Shakapacker v7+ [PR 1592](https://github.com/shakacode/react_on_rails/pull/1592) by [ahangarha](https://github.com/ahangarha).
113
172
  - Fixed Typescript types for ServerRenderResult, ReactComponent, RenderFunction, and RailsContext interfaces. [PR 1582](https://github.com/shakacode/react_on_rails/pull/1582) & [PR 1585](https://github.com/shakacode/react_on_rails/pull/1585) by [kotarella1110](https://github.com/kotarella1110)
114
173
  - Removed a workaround in `JsonOutput#escape` for an no-longer supported Rails version. Additionally, removed `Utils.rails_version_less_than_4_1_1`
115
- which was only used in the workaround. [PR 1580](https://github.com/shakacode/react_on_rails/pull/1580) by [wwahammy](https://github.com/wwahammy)
174
+ which was only used in the workaround. [PR 1580](https://github.com/shakacode/react_on_rails/pull/1580) by [wwahammy](https://github.com/wwahammy)
116
175
 
117
176
  #### Added
177
+
118
178
  - Exposed TypeScript all types [PR 1586](https://github.com/shakacode/react_on_rails/pull/1586) by [kotarella1110](https://github.com/kotarella1110)
119
179
 
120
180
  ### [13.4.0] - 2023-07-30
181
+
121
182
  #### Fixed
183
+
122
184
  - Fixed Pack Generation logic during `assets:precompile` if `auto_load_bundle` is `false` & `components_subdirectory` is not set. [PR 1567](https://github.com/shakacode/react_on_rails/pull/1545) by [blackjack26](https://github.com/blackjack26) & [judahmeek](https://github.com/judahmeek).
123
185
 
124
186
  #### Improved
187
+
125
188
  - Improved performance by removing an unnecessary JS eval from Ruby. [PR 1544](https://github.com/shakacode/react_on_rails/pull/1544) by [wyattades](https://github.com/wyattades).
126
189
 
127
190
  #### Added
191
+
128
192
  - Added support for Shakapacker 7 in install generator [PR 1548](https://github.com/shakacode/react_on_rails/pull/1548) by [ahangarha](https://github.com/ahangarha).
129
193
 
130
194
  #### Changed
195
+
131
196
  - Throw error when attempting to redefine ReactOnRails. [PR 1562](https://github.com/shakacode/react_on_rails/pull/1562) by [rubenochiavone](https://github.com/rubenochiavone).
132
197
  - Prevent generating FS-based packs when `component_subdirectory` configuration is not present. [PR 1567](https://github.com/shakacode/react_on_rails/pull/1567) by [blackjack26](https://github.com/blackjack26).
133
198
  - Removed a requirement for autoloaded pack files to be generated as part of CI or deployment separate from initial Shakapacker bundling. [PR 1545](https://github.com/shakacode/react_on_rails/pull/1545) by [judahmeek](https://github.com/judahmeek).
134
199
 
135
-
136
200
  ### [13.3.5] - 2023-05-31
201
+
137
202
  #### Fixed
138
- - Fixed race condition where a react component could attempt to initialize before it had been registered. [PR 1540](https://github.com/shakacode/react_on_rails/pull/1540) by [judahmeek](https://github.com/judahmeek).
203
+
204
+ - Fixed race condition where a React component could attempt to initialize before it had been registered. [PR 1540](https://github.com/shakacode/react_on_rails/pull/1540) by [judahmeek](https://github.com/judahmeek).
139
205
 
140
206
  ### [13.3.4] - 2023-05-23
141
207
 
142
208
  #### Added
209
+
143
210
  - Improved functionality of Filesystem-based pack generation & auto-bundling. Added `make_generated_server_bundle_the_entrypoint` configuration key. [PR 1531](https://github.com/shakacode/react_on_rails/pull/1531) by [judahmeek](https://github.com/judahmeek).
144
211
 
145
212
  #### Removed
213
+
146
214
  - Removed unneeded `HMR=true` from `Procfile.dev` in install template [PR 1537](https://github.com/shakacode/react_on_rails/pull/1537) by [ahangarha](https://github.com/ahangarha).
147
215
 
148
216
  ### [13.3.3] - 2023-03-21
149
217
 
150
218
  #### Fixed
219
+
151
220
  - Fixed bug regarding loading FS-based packs. [PR 1527](https://github.com/shakacode/react_on_rails/pull/1527) by [judahmeek](https://github.com/judahmeek).
152
221
 
153
222
  ### [13.3.2] - 2023-02-24
154
223
 
155
224
  #### Fixed
225
+
156
226
  - Fixed the bug in `bin/dev` and `bin/dev-static` scripts by using `system` instead of `exec` and remove option to pass arguments [PR 1519](https://github.com/shakacode/react_on_rails/pull/1519) by [ahangarha](https://github.com/ahangarha).
157
227
 
158
228
  ### [13.3.1] - 2023-01-30
229
+
159
230
  #### Added
231
+
160
232
  - Optimized `ReactOnRails::TestHelper`'s RSpec integration using `when_first_matching_example_defined`. [PR 1496](https://github.com/shakacode/react_on_rails/pull/1496) by [mcls](https://github.com/mcls).
161
-
233
+
162
234
  #### Fixed
235
+
163
236
  - Fixed bug regarding FS-based packs generation. [PR 1515](https://github.com/shakacode/react_on_rails/pull/1515) by [pulkitkkr](https://github.com/pulkitkkr).
164
237
 
165
238
  ### [13.3.0] - 2023-01-29
239
+
166
240
  #### Fixed
241
+
167
242
  - Fixed pack not found warning while using `react_component` and `react_component_hash` helpers, even when corresponding chunks are present. [PR 1511](https://github.com/shakacode/react_on_rails/pull/1511) by [pulkitkkr](https://github.com/pulkitkkr).
168
- - Fixed FS-based packs generation functionality to trigger pack generation on the creation of a new react component inside `components_subdirectory`. [PR 1506](https://github.com/shakacode/react_on_rails/pull/1506) by [pulkitkkr](https://github.com/pulkitkkr).
243
+ - Fixed FS-based packs generation functionality to trigger pack generation on the creation of a new React component inside `components_subdirectory`. [PR 1506](https://github.com/shakacode/react_on_rails/pull/1506) by [pulkitkkr](https://github.com/pulkitkkr).
169
244
  - Upgrade several JS dependencies to fix security issues. [PR 1514](https://github.com/shakacode/react_on_rails/pull/1514) by [ahangarha](https://github.com/ahangarha).
170
245
 
171
246
  #### Added
247
+
172
248
  - Added `./bin/dev` and `./bin/dev-static` executables to ease and standardize running the dev server. [PR 1491](https://github.com/shakacode/react_on_rails/pull/1491) by [ahangarha](https://github.com/ahangarha).
173
249
 
174
250
  ### [13.2.0] - 2022-12-23
175
-
251
+
176
252
  #### Fixed
253
+
177
254
  - Fix reactOnRailsPageUnloaded when there is no component on the page. Important for apps using both hotwire and react_on_rails. [PR 1498](https://github.com/shakacode/react_on_rails/pull/1498) by [NhanHo](https://github.com/NhanHo).
178
255
  - Fixing wrong type. The throwIfMissing param of getStore should be optional as it defaults to true. [PR 1480](https://github.com/shakacode/react_on_rails/pull/1480) by [wouldntsavezion](https://github.com/wouldntsavezion).
179
256
 
180
257
  #### Added
258
+
181
259
  - Exposed `reactHydrateOrRender` utility via [PR 1481](https://github.com/shakacode/react_on_rails/pull/1481) by [vaukalak](https://github.com/vaukalak).
182
260
 
183
261
  ### [13.1.0] - 2022-08-20
184
262
 
185
263
  #### Improved
264
+
186
265
  - Removed addition of `mini_racer` gem by default. [PR 1453](https://github.com/shakacode/react_on_rails/pull/1453) by [vtamara](https://github.com/vtamara) and [tomdracz](https://github.com/tomdracz).
187
266
 
188
267
  Using `mini_racer` makes most sense when deploying or building in environments that do not have Javascript runtime present. Since `react_on_rails` requires Node.js, there's no reason to override `ExecJS` runtime with `mini_racer`.
@@ -194,62 +273,80 @@ which was only used in the workaround. [PR 1580](https://github.com/shakacode/re
194
273
  - Added file-system-based automatic bundle generation feature. [PR 1455](https://github.com/shakacode/react_on_rails/pull/1455) by [pulkitkkr](https://github.com/pulkitkkr).
195
274
 
196
275
  #### Fixed
276
+
197
277
  - Correctly unmount roots under React 18. [PR 1466](https://github.com/shakacode/react_on_rails/pull/1466) by [alexeyr](https://github.com/alexeyr).
198
278
 
199
279
  - Fixed the `You are importing hydrateRoot from "react-dom" [...] You should instead import it from "react-dom/client"` warning under React 18 ([#1441](https://github.com/shakacode/react_on_rails/issues/1441)). [PR 1460](https://github.com/shakacode/react_on_rails/pull/1460) by [alexeyr](https://github.com/alexeyr).
200
280
 
201
281
  In exchange, you may see a warning like this when building using any version of React below 18:
282
+
202
283
  ```
203
284
  WARNING in ./node_modules/react-on-rails/node_package/lib/reactHydrateOrRender.js19:25-52
204
285
  Module not found: Error: Can't resolve 'react-dom/client' in '/home/runner/work/react_on_rails/react_on_rails/spec/dummy/node_modules/react-on-rails/node_package/lib'
205
286
  @ ./node_modules/react-on-rails/node_package/lib/ReactOnRails.js 34:45-78
206
287
  @ ./client/app/packs/client-bundle.js 5:0-42 32:0-23 35:0-21 59:0-26
207
288
  ```
289
+
208
290
  It can be safely [suppressed](https://webpack.js.org/configuration/other-options/#ignorewarnings) in your Webpack configuration.
209
291
 
210
292
  ### [13.0.2] - 2022-03-09
293
+
211
294
  #### Fixed
295
+
212
296
  - React 16 doesn't support version property, causing problems loading React on Rails. [PR 1435](https://github.com/shakacode/react_on_rails/pull/1435) by [justin808](https://github.com/justin808).
213
297
 
214
298
  ### [13.0.1] - 2022-02-09
299
+
215
300
  #### Improved
301
+
216
302
  - Updated the default generator. [PR 1431](https://github.com/shakacode/react_on_rails/pull/1431) by [justin808](https://github.com/justin808).
217
303
 
218
304
  ### [13.0.0] - 2022-02-08
305
+
219
306
  #### Breaking
307
+
220
308
  - Removed webpacker as a dependency. Add gem Shakapacker to your project, and update your package.json to also use shakapacker.
221
309
 
222
310
  #### Fixed
311
+
223
312
  - Proper throwing of exceptions.
224
313
  - Default configuration better handles test env.
225
314
 
226
315
  ### [12.6.0] - 2022-01-22
227
316
 
228
317
  #### Added
318
+
229
319
  - A `rendering_props_extension` configuration which takes a module with an `adjust_props_for_client_side_hydration` method, which is used to process props differently for server/client if `prerender` is set to `true`. [PR 1413](https://github.com/shakacode/react_on_rails/pull/1413) by [gscarv13](https://github.com/gscarv13) & [judahmeek](https://github.com/judahmeek).
230
320
 
231
321
  ### [12.5.2] - 2021-12-29
322
+
232
323
  #### Fixed
324
+
233
325
  - Usage of config.build_production_command for custom command for production builds fixed. [PR 1415](https://github.com/shakacode/react_on_rails/pull/1415) by [judahmeek](https://github.com/judahmeek).
234
326
 
235
327
  ### [12.5.1] - 2021-12-27
236
328
 
237
329
  #### Fixed
330
+
238
331
  - A fatal server rendering error if running an ReactOnRails >=12.4.0 with ReactOnRails Pro <2.4.0. [PR 1412](https://github.com/shakacode/react_on_rails/pull/1412) by [judahmeek](https://github.com/judahmeek).
239
332
 
240
333
  ### [12.5.0] - 2021-12-26
241
334
 
242
335
  #### Added
336
+
243
337
  - Support for React 18, including the changed SSR API. [PR 1409](https://github.com/shakacode/react_on_rails/pull/1409) by [kylemellander](https://github.com/kylemellander).
244
- - Added webpack configuration files as part of the generator and updated webpacker to version 6. [PR 1404](https://github.com/shakacode/react_on_rails/pull/1404) by [gscarv13](https://github.com/gscarv13).
338
+ - Added Webpack configuration files as part of the generator and updated webpacker to version 6. [PR 1404](https://github.com/shakacode/react_on_rails/pull/1404) by [gscarv13](https://github.com/gscarv13).
245
339
  - Supports Rails 7.
246
340
 
247
341
  #### Changed
248
- - Changed logic of determining the usage of the default rails/webpacker webpack config or a custom command to only check if the config.build_production_command is defined. [PR 1402](https://github.com/shakacode/react_on_rails/pull/1402) by [justin808](https://github.com/justin808) and [gscarv13](https://github.com/gscarv13).
342
+
343
+ - Changed logic of determining the usage of the default rails/webpacker Webpack config or a custom command to only check if the config.build_production_command is defined. [PR 1402](https://github.com/shakacode/react_on_rails/pull/1402) by [justin808](https://github.com/justin808) and [gscarv13](https://github.com/gscarv13).
249
344
  - Minimum required Ruby is 2.7 to match latest rails/webpacker.
250
345
 
251
346
  ### [12.4.0] - 2021-09-22
347
+
252
348
  #### Added
349
+
253
350
  - ScoutAPM tracing support for server rendering [PR 1379](https://github.com/shakacode/react_on_rails/pull/1379) by [justin808](https://github.com/justin808).
254
351
 
255
352
  - Ability to stop React on Rails from modifying or creating the `assets:precompile` task. [PR 1371](https://github.com/shakacode/react_on_rails/pull/1371) by [justin808](https://github.com/justin808). Thanks to [elstgav](https://github.com/elstgav) for [the suggestion](https://github.com/shakacode/react_on_rails/issues/1368)!
@@ -257,30 +354,41 @@ which was only used in the workaround. [PR 1580](https://github.com/shakacode/re
257
354
  - Added the ability to have render functions return a promise to be awaited by React on Rails Pro Node Renderer. [PR 1380](https://github.com/shakacode/react_on_rails/pull/1380) by [judahmeek](https://github.com/judahmeek)
258
355
 
259
356
  ### [12.3.0] - 2021-07-26
357
+
260
358
  #### Added
359
+
261
360
  - Ability to use with Turbo (@hotwired/turbo), as Turbolinks gets obsolete. [PR 1374](https://github.com/shakacode/react_on_rails/pull/1374) by [pgruener](https://github.com/pgruener) and [PR 1377](https://github.com/shakacode/react_on_rails/pull/1377) by [mdesantis](https://github.com/mdesantis).
262
361
 
263
362
  To configure turbo the following option can be set:
264
363
  `ReactOnRails.setOptions({ turbo: true })`
265
364
 
266
365
  ### [12.2.0] - 2021-03-25
366
+
267
367
  #### Added
268
- - Ability to configure server react rendering to throw rather than just logging the error. Useful for
368
+
369
+ - Ability to configure server React rendering to throw rather than just logging the error. Useful for
269
370
  React on Rails Pro Node rendering [PR 1365](https://github.com/shakacode/react_on_rails/pull/1365) by [justin808](https://github.com/justin808).
270
371
 
271
372
  ### [12.1.0] - 2021-03-23
373
+
272
374
  #### Added
375
+
273
376
  - Added the ability to assign a module with a `call` method to `config.build_production_command`. See [the configuration docs](https://www.shakacode.com/react-on-rails/docs/guides/configuration). [PR 1362: Accept custom module for config.build_production_command](https://github.com/shakacode/react_on_rails/pull/1362).
274
377
 
275
378
  #### Fixed
379
+
276
380
  - Stop setting NODE_ENV value during precompile, as it interfered with rails/webpacker's setting of NODE_ENV to production by default. Fixes [#1334](https://github.com/shakacode/react_on_rails/issues/1334). [PR 1356: Don't set NODE_ENV in assets.rake](https://github.com/shakacode/react_on_rails/pull/1356) by [alexrozanski](https://github.com/alexrozanski).
277
381
 
278
382
  ### [12.0.4] - 2020-11-14
383
+
279
384
  #### Fixed
385
+
280
386
  - Install generator now specifies the version. Fixes [React on Rails Generator installs the older npm package #1336](https://github.com/shakacode/react_on_rails/issues/1336). [PR 1338: Fix Generator to use Exact NPM Version](https://github.com/shakacode/react_on_rails/pull/1338) by [justin808](https://github.com/justin808).
281
387
 
282
388
  ### [12.0.3] - 2020-09-20
389
+
283
390
  #### Fixed
391
+
284
392
  - Async script loading optimizes page load speed. With this fix, a bundle
285
393
  can be loaded "async" and a handler function can determine when to hydrate.
286
394
  For an example of this, see the [docs for loadable-components SSR](https://loadable-components.com/docs/server-side-rendering/#4-add-loadableready-client-side).
@@ -288,23 +396,30 @@ which was only used in the workaround. [PR 1580](https://github.com/shakacode/re
288
396
  Loadable-Components is supported by [React on Rails Pro](https://www.shakacode.com/react-on-rails-pro).
289
397
 
290
398
  ### [12.0.2] - 2020-07-09
399
+
291
400
  #### Fixed
401
+
292
402
  - Remove dependency upon Redux for Typescript types. [PR 1323](https://github.com/shakacode/react_on_rails/pull/1323) by [justin808](https://github.com/justin808).
293
403
 
294
404
  ### [12.0.1] - 2020-07-09
405
+
295
406
  #### Fixed
407
+
296
408
  - Changed invocation of webpacker:clean to use a very large number of versions so it does not accidentally delete the server-bundle.js. [PR 1306](https://github.com/shakacode/react_on_rails/pull/1306) by By [justin808](https://github.com/justin808).
297
409
 
298
410
  ### [12.0.0] - 2020-07-08
411
+
299
412
  For upgrade instructions, see [docs/guides/upgrading-react-on-rails.md](https://www.shakacode.com/react-on-rails/docs/guides/upgrading-react-on-rails).
300
413
 
301
414
  #### Major Improvements
415
+
302
416
  1. **React Hooks Support** for top level components
303
417
  2. **Typescript bindings**
304
418
  3. **rails/webpacker** "just works" with React on Rails by default.
305
419
  4. i18n support for generating a JSON file rather than a JS file.
306
420
 
307
421
  #### BREAKING CHANGE
422
+
308
423
  In order to solve the issues regarding React Hooks compatibility, the number of parameters
309
424
  for functions is used to determine if you have a generator function that will get invoked to
310
425
  return a React component, or you are registering a functional React component. Alternately, you can
@@ -316,19 +431,20 @@ See [docs/guides/upgrading-react-on-rails](https://www.shakacode.com/react-on-ra
316
431
  for details.
317
432
 
318
433
  #### Other Updates
319
- * `react_on_rails` fully supports `rails/webpacker`. The example test app in `spec/dummy` was recently converted over to use rails/webpacker v4+. It's a good example of how to leverage rails/webpacker's webpack configuration for server-side rendering.
320
- * Changed the precompile task to use the rails/webpacker one by default
321
- * Updated generators to use React hooks
322
- * Requires the use of rails/webpacker view helpers
323
- * If the webpacker webpack config files exist, then React on Rails will not override the default
324
- assets:precompile setup by rails/webpacker. If you are not using the rails/webpacker setup for webpack,
434
+
435
+ - `react_on_rails` fully supports `rails/webpacker`. The example test app in `spec/dummy` was recently converted over to use rails/webpacker v4+. It's a good example of how to leverage rails/webpacker's Webpack configuration for server-side rendering.
436
+ - Changed the precompile task to use the rails/webpacker one by default
437
+ - Updated generators to use React hooks
438
+ - Requires the use of rails/webpacker view helpers
439
+ - If the webpacker Webpack config files exist, then React on Rails will not override the default
440
+ assets:precompile set up by rails/webpacker. If you are not using the rails/webpacker setup for Webpack,
325
441
  then be sure to remove the JS files inside of config/webpack, like `config/webpack/production.js.`
326
- * Removed **env_javascript_include_tag** and **env_stylesheet_link_tag** as these are replaced by view helpers
442
+ - Removed **env_javascript_include_tag** and **env_stylesheet_link_tag** as these are replaced by view helpers
327
443
  from rails/webpacker
328
- * Removal of support for old Rubies and Rails.
329
- * Removal of config.symlink_non_digested_assets_regex as it's no longer needed with rails/webpacker.
444
+ - Removal of support for old Rubies and Rails.
445
+ - Removal of config.symlink_non_digested_assets_regex as it's no longer needed with rails/webpacker.
330
446
  If any business needs this, we can move the code to a separate gem.
331
- * Added configuration option `same_bundle_for_client_and_server` with default `false` because
447
+ - Added configuration option `same_bundle_for_client_and_server` with default `false` because
332
448
 
333
449
  1. Production applications would typically have a server bundle that differs from the client bundle
334
450
  2. This change only affects trying to use HMR with react_on_rails with rails/webpacker.
@@ -339,7 +455,7 @@ for details.
339
455
  If you are using the **same bundle for client and server rendering**, then set this configuration option
340
456
  to `true`. By [justin808](https://github.com/shakacode/react_on_rails/pull/1240).
341
457
 
342
- * Added support to export locales in JSON format. New option added `i18n_output_format` which allows to
458
+ - Added support to export locales in JSON format. New option added `i18n_output_format` which allows to
343
459
  specify locales format either `JSON` or `JS`. **`JSON` format is now the default.**
344
460
 
345
461
  **Use this config setting to get the old behavior: config.i18n_output_format = 'js'**
@@ -347,31 +463,40 @@ for details.
347
463
  [PR 1271](https://github.com/shakacode/react_on_rails/pull/1271) by [ashgaliyev](https://github.com/ashgaliyev).
348
464
 
349
465
  - Added Typescript definitions to the Node package. By [justin808](https://github.com/justin808) and [judahmeek](https://github.com/judahmeek) in [PR 1287](https://github.com/shakacode/react_on_rails/pull/1287).
350
- - Removed restriction to keep the server bundle in the same directory with the client bundles. Rails/webpacker 4 has an advanced cleanup that will remove any files in the directory of other webpack files. Removing this restriction allows the server bundle to be created in a sibling directory. By [justin808](https://github.com/shakacode/react_on_rails/pull/1240).
466
+ - Removed restriction to keep the server bundle in the same directory with the client bundles. Rails/webpacker 4 has an advanced cleanup that will remove any files in the directory of other Webpack files. Removing this restriction allows the server bundle to be created in a sibling directory. By [justin808](https://github.com/shakacode/react_on_rails/pull/1240).
351
467
 
352
468
  ### [11.3.0] - 2019-05-24
469
+
353
470
  #### Added
471
+
354
472
  - Added method for retrieving any option from `render_options` [PR 1213](https://github.com/shakacode/react_on_rails/pull/1213)
355
- by [ashgaliyev](https://github.com/ashgaliyev).
473
+ by [ashgaliyev](https://github.com/ashgaliyev).
356
474
 
357
475
  - html_options has an option for 'tag' to set the html tag name like this: `html_options: { tag: "span" }`.
358
- [PR 1208](https://github.com/shakacode/react_on_rails/pull/1208) by [tahsin352](https://github.com/tahsin352).
476
+ [PR 1208](https://github.com/shakacode/react_on_rails/pull/1208) by [tahsin352](https://github.com/tahsin352).
359
477
 
360
478
  ### [11.2.2] - 2018-12-24
479
+
361
480
  #### Improved
481
+
362
482
  - rails_context can more easily be called from controller methods. The mandatory param of server_side has been made optional.
363
483
 
364
484
  ### [11.2.1] - 2018-12-06
485
+
365
486
  ## MIGRATION for v11.2
487
+
366
488
  - If using **React on Rails Pro**, upgrade react_on_rails_pro to a version >= 1.3.
367
489
 
368
490
  #### Improved
491
+
369
492
  - To support React v16, updated API for manually calling `ReactOnRails.render(name, props, domNodeId, hydrate)`. Added 3rd @param hydrate Pass truthy to update server rendered html. Default is falsey Any truthy values calls hydrate rather than render. [PR 1159](https://github.com/shakacode/react_on_rails/pull/1159) by [justin808](https://github.com/justin808) and [coopersamuel](https://github.com/coopersamuel).
370
493
 
371
494
  - Enabled the use of webpack-dev-server with Server-side rendering. [PR 1173](https://github.com/shakacode/react_on_rails/pull/1173) by [justin808](https://github.com/justin808) and [judahmeek](https://github.com/judahmeek).
372
495
 
373
496
  #### Changed
497
+
374
498
  - Changed the default for:
499
+
375
500
  ```rb
376
501
  config.raise_on_prerender_error = Rails.env.development?
377
502
  ```
@@ -380,28 +505,37 @@ by [ashgaliyev](https://github.com/ashgaliyev).
380
505
  [PR 1145](https://github.com/shakacode/react_on_rails/pull/1145) by [justin808](https://github.com/justin808).
381
506
 
382
507
  ### 11.2.0 - 2018-12-06
508
+
383
509
  Do not use. Unpublished. Caused by an issue with the release script.
384
510
 
385
511
  ### [11.1.8] - 2018-10-14
386
512
 
387
513
  #### Improved
514
+
388
515
  - Improved tutorial and support for HMR when using `rails/webpacker` for Webpack configuration. [PR 1156](https://github.com/shakacode/react_on_rails/pull/1156) by [justin808](https://github.com/justin808).
389
516
 
390
517
  ### [11.1.7] - 2018-10-10
518
+
391
519
  #### Fixed
520
+
392
521
  - Fixed bug where intl parsing would fail when trying to parse integers or blank entries. by [sepehr500](https://github.com/sepehr500)
393
522
 
394
523
  ### [11.1.6] - 2018-10-05
524
+
395
525
  #### Fixed
526
+
396
527
  - Fix client startup invoking render prematurely, **AGAIN**. Fix additional cases of client startup failing during interactive readyState". Closes [issue #1150](https://github.com/shakacode/react_on_rails/issues/1150). [PR 1152](https://github.com/shakacode/react_on_rails/pull/1152) by [rakelley](https://github.com/rakelley).
397
528
 
398
529
  ### [11.1.5] - 2018-10-03
530
+
399
531
  #### Fixed
400
- - Fix client startup invoking render prematurely. Closes [issue #1150](https://github.com/shakacode/react_on_rails/issues/1150). [PR 1151](https://github.com/shakacode/react_on_rails/pull/1151) by [rakelley](https://github.com/rakelley).
532
+
533
+ - Fix client startup invoking render prematurely. Closes [issue #1150](https://github.com/shakacode/react_on_rails/issues/1150). [PR 1151](https://github.com/shakacode/react_on_rails/pull/1151) by [rakelley](https://github.com/rakelley).
401
534
 
402
535
  ### [11.1.4] - 2018-09-12
403
536
 
404
537
  #### Fixed
538
+
405
539
  - Ignore Arrays in Rails i18n yml files. [PR 1129](https://github.com/shakacode/react_on_rails/pull/1129) by [vcarel](https://github.com/vcarel).
406
540
  - Fix to apply transform-runtime. And work with Babel 6 and 7. (Include revert of [PR 1136](https://github.com/shakacode/react_on_rails/pull/1136)) [PR 1140](https://github.com/shakacode/react_on_rails/pull/1140) by [Ryunosuke Sato](https://github.com/tricknotes).
407
541
  - Upgrade Babel version to 7 [PR 1141](https://github.com/shakacode/react_on_rails/pull/1141) by [Ryunosuke Sato](https://github.com/tricknotes).
@@ -409,62 +543,83 @@ Do not use. Unpublished. Caused by an issue with the release script.
409
543
  ### [11.1.3] - 2018-08-26
410
544
 
411
545
  #### Fixed
546
+
412
547
  - Don't apply babel-plugin-transform-runtime inside react-on-rails to work with babel 7. [PR 1136](https://github.com/shakacode/react_on_rails/pull/1136) by [Ryunosuke Sato](https://github.com/tricknotes).
413
548
  - Add support for webpacker 4 prereleases. [PR 1134](https://github.com/shakacode/react_on_rails/pull/1134) by [Judahmeek](https://github.com/Judahmeek))
414
549
 
415
550
  ### [11.1.2] - 2018-08-18
416
551
 
417
552
  #### Fixed
553
+
418
554
  - Tests now properly exit if the config.build_test_command fails!
419
555
  - Source path for project using Webpacker would default to "app/javascript" even if when the node_modules
420
556
  directory was set to "client". Fix now makes the configuration of this crystal clear.
421
557
  - renamed method RenderOptions.has_random_dom_id? to RenderOptions.random_dom_id? for rubocop rule.
422
- [PR 1133](https://github.com/shakacode/react_on_rails/pull/1133) by [justin808](https://github.com/justin808)
558
+ [PR 1133](https://github.com/shakacode/react_on_rails/pull/1133) by [justin808](https://github.com/justin808)
423
559
 
424
560
  ### [11.1.1] - 2018-08-09
561
+
425
562
  #### Fixed
563
+
426
564
  - `TRUE` was deprecated in ruby 2.4, using `true` instead. [PR 1128](https://github.com/shakacode/react_on_rails/pull/1128) by [Aguardientico](https://github.com/Aguardientico).
427
565
 
428
566
  ### [11.1.0] - 2018-08-07
567
+
429
568
  #### Added
569
+
430
570
  - Add random dom id option. This new global and react_component helper option allows configuring whether or not React on Rails will automatically add a random id to the DOM node ID. [PR 1121](https://github.com/shakacode/react_on_rails/pull/1121) by [justin808](https://github.com/justin808)
431
- * Added configuration option random_dom_id
432
- * Added method RenderOptions has_random_dom_id?
571
+ - Added configuration option random_dom_id
572
+ - Added method RenderOptions has_random_dom_id?
573
+
433
574
  #### Fixed
575
+
434
576
  - Fix invalid warn directive. [PR 1123](https://github.com/shakacode/react_on_rails/pull/1123) by [mustangostang](https://github.com/mustangostang).
435
577
 
436
578
  ### [11.0.10] - 2018-07-22
579
+
437
580
  #### Fixed
581
+
438
582
  - Much better logging of rendering errors when there are lots of props. Only the a 1,000 chars are logged, and the center is indicated to be truncated. [PR 1117](https://github.com/shakacode/react_on_rails/pull/1117) and [PR 1118](https://github.com/shakacode/react_on_rails/pull/1118) by [justin808](https://github.com/justin808).
439
583
  - Properly clearing hydrated stores when server rendering. [PR 1120](https://github.com/shakacode/react_on_rails/pull/1120) by [squadette](https://github.com/squadette).
440
584
 
441
585
  ### [11.0.9] - 2018-06-24
442
- - Handle <script async> for Webpack bundle transparently. Closes [issue #290](https://github.com/shakacode/react_on_rails/issues/290) [PR 1099](https://github.com/shakacode/react_on_rails/pull/1099) by [squadette](https://github.com/squadette). Merged in [PR 1107]( https://github.com/shakacode/react_on_rails/pull/1107).
586
+
587
+ - Handle <script async> for Webpack bundle transparently. Closes [issue #290](https://github.com/shakacode/react_on_rails/issues/290) [PR 1099](https://github.com/shakacode/react_on_rails/pull/1099) by [squadette](https://github.com/squadette). Merged in [PR 1107](https://github.com/shakacode/react_on_rails/pull/1107).
443
588
 
444
589
  ### [11.0.8] - 2018-06-15
590
+
445
591
  #### Fixed
592
+
446
593
  - HashWithIndifferent access for props threw if used for props. [PR 1100](https://github.com/shakacode/react_on_rails/pull/1100) by [justin808](https://github.com/justin808).
447
594
  - Test helper for detecting stale bundles did not properly handle the case of a server-bundle.js without a hash.[PR 1102](https://github.com/shakacode/react_on_rails/pull/1102) by [justin808](https://github.com/justin808).
448
595
  - Fix test helper determination of stale assets. [PR 1093](https://github.com/shakacode/react_on_rails/pull/1093) by [justin808](https://github.com/justin808).
449
596
 
450
597
  #### Changed
598
+
451
599
  - Document how to manually rehydrate XHR-substituted components on client side. [PR 1095](https://github.com/shakacode/react_on_rails/pull/1095) by [hchevalier](https://github.com/hchevalier).
452
600
 
453
601
  ### [11.0.7] - 2018-05-16
602
+
454
603
  #### Fixed
604
+
455
605
  - Fix npm publishing. [PR 1090](https://github.com/shakacode/react_on_rails/pull/1090) by [justin808](https://github.com/justin808).
456
606
 
457
607
  ### [11.0.6] - 2018-05-15
608
+
458
609
  #### Changed
610
+
459
611
  - Even more detailed errors for Honeybadger and Sentry when there's a JSON parse error on server rendering. [PR 1086](https://github.com/shakacode/react_on_rails/pull/1086) by [justin808](https://github.com/justin808).
460
612
 
461
613
  ### [11.0.5] - 2018-05-11
614
+
462
615
  #### Changed
616
+
463
617
  - More detailed errors for Honeybadger and Sentry. [PR 1081](https://github.com/shakacode/react_on_rails/pull/1081) by [justin808](https://github.com/justin808).
464
618
 
465
619
  ### [11.0.4] - 2018-05-3
466
620
 
467
621
  #### Changed
622
+
468
623
  - Throw if configuration.generated_assets_dir specified, and using webpacker, and if that doesn't match the public_output_path. Otherwise, warn if generated_assets_dir is specified
469
624
  - Fix the setup for tests for spec/dummy so they automatically rebuild by correctly setting the source_path in the webpacker.yml
470
625
  - Updated documentation for the testing setup.
@@ -474,48 +629,56 @@ Do not use. Unpublished. Caused by an issue with the release script.
474
629
  ### [11.0.3] - 2018-04-24
475
630
 
476
631
  #### Fixed
632
+
477
633
  - Fixed issue with component script initialization when using react_component_hash. [PR 1071](https://github.com/shakacode/react_on_rails/pull/1071) by [jblasco3](https://github.com/jblasco3).
478
634
 
479
635
  ### [11.0.2] - 2018-04-24
480
636
 
481
637
  #### Fixed
638
+
482
639
  - Server rendering error for React on Rails Pro. [PR 1069](https://github.com/shakacode/react_on_rails/pull/1069) by [justin808](https://github.com/justin808).
483
640
 
484
641
  ### [11.0.1] - 2018-04-23
485
642
 
486
643
  #### Added
644
+
487
645
  - `react_component` allows logging_on_server specified at the component level. [PR 1068](https://github.com/shakacode/react_on_rails/pull/1068) by [justin808](https://github.com/justin808).
488
646
 
489
647
  #### Fixed
648
+
490
649
  - Missing class when throwing some error messages. [PR 1068](https://github.com/shakacode/react_on_rails/pull/1068) by [justin808](https://github.com/justin808).
491
650
 
492
651
  ### [11.0.0] - 2018-04-21
493
652
 
494
653
  ## MIGRATION for v11
654
+
495
655
  - Unused `server_render_method` was removed from the configuration. If you want to use a custom renderer, contact justin@shakacode.com. We have a custom node rendering solution in production for egghead.io.
496
656
  - Removed ReactOnRails::Utils.server_bundle_file_name and ReactOnRails::Utils.bundle_file_name. These are part of the performance features of "React on Rails Pro".
497
657
  - Removed ENV["TRACE_REACT_ON_RAILS"] usage and replacing it with config.trace.
498
658
 
499
659
  #### Enhancements: Better Error Messages, Support for React on Rails Pro
660
+
500
661
  - Tracing (debugging) options are simplified with a single `config.trace` setting that defaults to true for development and false otherwise.
501
662
  - Calls to setTimeout, setInterval, clearTimeout will now always log some message if config.trace is true. Your JavaScript code should not be calling setTimout when server rendering.
502
663
  - Errors raised are of type ReactOnRailsError, so you can see they came from React on Rails for debugging.
503
664
  - Removed ReactOnRails::Utils.server_bundle_file_name and ReactOnRails::Utils.bundle_file_name.
504
665
  - No longer logging the `railsContext` when server logging.
505
666
  - Rails.env is provided in the default railsContext, as suggested in [issue #697](https://github.com/shakacode/react_on_rails/issues/697).
506
- [PR 1065](https://github.com/shakacode/react_on_rails/pull/1065) by [justin808](https://github.com/justin808).
667
+ [PR 1065](https://github.com/shakacode/react_on_rails/pull/1065) by [justin808](https://github.com/justin808).
507
668
 
508
669
  #### Fixes
670
+
509
671
  - More exact version checking. We keep the react_on_rails gem and the react-on-rails node package at
510
- the same exact versions so that we can be sure that the interaction between them is precise.
511
- This is so that if a bug is detected after some update, it's critical that
512
- both the gem and the node package get the updates. This change ensures that the package.json specification does not use a
513
- ~ or ^ as reported in [issue #1062](https://github.com/shakacode/react_on_rails/issues/1062). [PR 1063](https://github.com/shakacode/react_on_rails/pull/1063) by [justin808](https://github.com/justin808).
672
+ the same exact versions so that we can be sure that the interaction between them is precise.
673
+ This is so that if a bug is detected after some update, it's critical that
674
+ both the gem and the node package get the updates. This change ensures that the package.json specification does not use a
675
+ ~ or ^ as reported in [issue #1062](https://github.com/shakacode/react_on_rails/issues/1062). [PR 1063](https://github.com/shakacode/react_on_rails/pull/1063) by [justin808](https://github.com/justin808).
514
676
  - Sprockets: Now use the most recent manifest when creating symlinks. See [issue #1023](https://github.com/shakacode/react_on_rails/issues/1023). [PR 1064](https://github.com/shakacode/react_on_rails/pull/1064) by [justin808](https://github.com/justin808).
515
677
 
516
678
  ### [10.1.4] - 2018-04-11
517
679
 
518
680
  #### Fixed
681
+
519
682
  - Changed i18n parsing to convert ruby i18n argument syntax into FormatJS argument syntax. [PR 1046](https://github.com/shakacode/react_on_rails/pull/1046) by [sepehr500](https://github.com/sepehr500).
520
683
 
521
684
  - Fixed an issue where the spec compiler check would fail if the project path contained spaces. [PR 1045](https://github.com/shakacode/react_on_rails/pull/1045) by [andrewmarkle](https://github.com/andrewmarkle).
@@ -523,32 +686,45 @@ both the gem and the node package get the updates. This change ensures that the
523
686
  - Updated the default `build_production_command` that caused production assets to be built with development settings. [PR 1053](https://github.com/shakacode/react_on_rails/pull/1053) by [Roman Kushnir](https://github.com/RKushnir).
524
687
 
525
688
  ### [10.1.3] - 2018-02-28
689
+
526
690
  #### Fixed
691
+
527
692
  - Improved error reporting on version mismatches between Javascript and Ruby packages. [PR 1025](https://github.com/shakacode/react_on_rails/pull/1025) by [theJoeBiz](https://github.com/squadette).
528
693
 
529
694
  ### [10.1.2] - 2018-02-27
695
+
530
696
  #### Fixed
697
+
531
698
  - Use ReactDOM.hydrate() for hydrating a SSR component if available. ReactDOM.render() has been deprecated for use on SSR components in React 16 and this addresses the warning. [PR 1028](https://github.com/shakacode/react_on_rails/pull/1028) by [theJoeBiz](https://github.com/theJoeBiz).
532
699
 
533
700
  ### [10.1.1] - 2018-01-26
701
+
534
702
  #### Fixed
703
+
535
704
  - Fixed issue with server-rendering error handler: [PR 1020](https://github.com/shakacode/react_on_rails/pull/1020) by [jblasco3](https://github.com/jblasco3).
536
705
 
537
706
  ### [10.1.0] - 2018-01-23
707
+
538
708
  #### Added
709
+
539
710
  - Added 2 cache helpers: ReactOnRails::Utils.bundle_file_name(bundle_name) and ReactOnRails::Utils.server_bundle_file_name
540
- for easy access to the hashed filenames for use in cache keys. [PR 1018](https://github.com/shakacode/react_on_rails/pull/1018) by [justin808](https://github.com/justin808).
711
+ for easy access to the hashed filenames for use in cache keys. [PR 1018](https://github.com/shakacode/react_on_rails/pull/1018) by [justin808](https://github.com/justin808).
541
712
 
542
713
  #### Fixed
543
- - Use redux component in generated redux Hello World example: [PR 1006](https://github.com/shakacode/react_on_rails/pull/1006) by [lewaabahmad](https://github.com/lewaabahmad).
714
+
715
+ - Use Redux component in the generated Redux Hello World example: [PR 1006](https://github.com/shakacode/react_on_rails/pull/1006) by [lewaabahmad](https://github.com/lewaabahmad).
544
716
  - Fixed `Utils.bundle_js_file_path` generating the incorrect path for `manifest.json` in webpacker projects: [Issue #1011](https://github.com/shakacode/react_on_rails/issues/1011) by [elstgav](https://github.com/elstgav)
545
717
 
546
718
  ### [10.0.2] - 2017-11-10
719
+
547
720
  #### Fixed
721
+
548
722
  - Remove unnecessary dependencies from released NPM package: [PR 968](https://github.com/shakacode/react_on_rails/pull/968) by [tricknotes](https://github.com/tricknotes).
549
723
 
550
724
  ### [10.0.1] - 2017-10-28
725
+
551
726
  #### Fixed
727
+
552
728
  - Fixed `react_component_hash` functionality in cases of prerendering errors: [PR 960](https://github.com/shakacode/react_on_rails/pull/960) by [Judahmeek](https://github.com/Judahmeek).
553
729
  - Fix to add missing dependency to run generator spec individually: [PR 962](https://github.com/shakacode/react_on_rails/pull/962) by [tricknotes](https://github.com/tricknotes).
554
730
  - Fixes check for i18n_dir in LocalesToJs returning false when i18n_dir was set. [PR 899](https://github.com/shakacode/react_on_rails/pull/899) by [hakongit](https://github.com/hakongit).
@@ -556,58 +732,78 @@ for easy access to the hashed filenames for use in cache keys. [PR 1018](https:/
556
732
  - Fixed and improved I18n directories checks: [PR 967](https://github.com/shakacode/react_on_rails/pull/967) by [railsme](https://github.com/railsme)
557
733
 
558
734
  ### [10.0.0] - 2017-10-08
735
+
559
736
  #### Created
737
+
560
738
  - Created `react_component_hash` method for react_helmet support.
739
+
561
740
  #### Deprecated
741
+
562
742
  - Deprecated `react_component` functionality for react_helmet support.
563
- To clarify, the method itself is not deprecated, only certain functionality which has been moved to `react_component_hash`
564
- [PR 951](https://github.com/shakacode/react_on_rails/pull/951) by [Judahmeek](https://github.com/Judahmeek).
743
+ To clarify, the method itself is not deprecated, only certain functionality which has been moved to `react_component_hash`
744
+ [PR 951](https://github.com/shakacode/react_on_rails/pull/951) by [Judahmeek](https://github.com/Judahmeek).
565
745
 
566
746
  ### [9.0.3] - 2017-09-20
747
+
567
748
  #### Improved
749
+
568
750
  - Improved comments in generated Procfile.dev-server. [PR 940](https://github.com/shakacode/react_on_rails/pull/940) by [justin808](https://github.com/justin808).
569
751
 
570
752
  ### [9.0.2] - 2017-09-10
753
+
571
754
  #### Fixed
755
+
572
756
  - Improved post install doc comments for generator. [PR 933](https://github.com/shakacode/react_on_rails/pull/933) by [justin808](https://github.com/justin808).
573
757
 
574
758
  ### [9.0.1] - 2017-09-10
575
759
 
576
760
  #### Fixed
761
+
577
762
  - Fixes Rails 3.2 compatability issues. [PR 926](https://github.com/shakacode/react_on_rails/pull/926) by [morozovm](https://github.com/morozovm).
578
763
 
579
764
  ### [9.0.0] - 2017-09-06
580
- Updated React on Rails to depend on [rails/webpacker](https://github.com/rails/webpacker). [PR 908](https://github.com/shakacode/react_on_rails/pull/908) by [justin808](https://github.com/justin808).
581
765
 
766
+ Updated React on Rails to depend on [rails/webpacker](https://github.com/rails/webpacker). [PR 908](https://github.com/shakacode/react_on_rails/pull/908) by [justin808](https://github.com/justin808).
582
767
 
583
768
  #### 9.0 from 8.x. Upgrade Instructions
769
+
584
770
  Moved to [our documentation](https://www.shakacode.com/react-on-rails/docs/guides/upgrading-react-on-rails#upgrading-to-version-9).
585
771
 
586
772
  ### [8.0.7] - 2017-08-16
773
+
587
774
  #### Fixed
775
+
588
776
  - Fixes generator bug by keeping blank line at top in case existing .gitignore does not end in a newline. [#916](https://github.com/shakacode/react_on_rails/pull/916) by [justin808](https://github.com/justin808).
589
777
 
590
778
  ### [8.0.6] - 2017-07-19
779
+
591
780
  #### Fixed
781
+
592
782
  - Fixes server rendering when using a CDN. Server rendering would try to fetch a file with the "asset_host". This change updates the webpacker_lite dependency to 2.1.0 which has a new helper `pack_path`. [#901](https://github.com/shakacode/react_on_rails/pull/901) by [justin808](https://github.com/justin808). Be sure to update webpacker_lite to 2.1.0.
593
- - The package.json file created by the generator now creates minified javascript production builds by default. This was done by adding the -p flag to webpack on the build:production script. [#895](https://github.com/shakacode/react_on_rails/pull/895) by [serodriguez68 ](https://github.com/serodriguez68)
783
+ - The package.json file created by the generator now creates minified javascript production builds by default. This was done by adding the -p flag to Webpack on the build:production script. [#895](https://github.com/shakacode/react_on_rails/pull/895) by [serodriguez68 ](https://github.com/serodriguez68)
594
784
  - Fixes GitUtils.uncommitted_changes? throwing an error when called in an environment without Git, and allows install generator to be run successfully with `--ignore-warnings` [#878](https://github.com/shakacode/react_on_rails/pull/878) by [jasonblalock](https://github.com/jasonblalock).
595
785
 
596
786
  ## [8.0.5] - 2017-07-04
787
+
597
788
  #### Fixed
598
- - Corrects `devBuild` value for webpack production build from webpackConfigLoader. [#877](https://github.com/shakacode/react_on_rails/pull/877) by [chenqingspring](https://github.com/chenqingspring).
599
- - Remove contentBase deprecation warning message. [#878](https://github.com/shakacode/react_on_rails/pull/878) by [ened ](https://github.com/ened).
600
- - Removes invalid reference to _railsContext in the generated files. [#886](https://github.com/shakacode/react_on_rails/pull/886) by [justin808](https://github.com/justin808).
601
- - All tests run against Rails 5.1.2
602
789
 
603
- *Note: 8.0.4 skipped.*
790
+ - Corrects `devBuild` value for webpack production build from webpackConfigLoader. [#877](https://github.com/shakacode/react_on_rails/pull/877) by [chenqingspring](https://github.com/chenqingspring).
791
+ - Remove contentBase deprecation warning message. [#878](https://github.com/shakacode/react_on_rails/pull/878) by [ened ](https://github.com/ened).
792
+ - Removes invalid reference to \_railsContext in the generated files. [#886](https://github.com/shakacode/react_on_rails/pull/886) by [justin808](https://github.com/justin808).
793
+ - All tests run against Rails 5.1.2
794
+
795
+ _Note: 8.0.4 skipped._
604
796
 
605
797
  ## [8.0.3] - 2017-06-19
798
+
606
799
  #### Fixed
800
+
607
801
  - Ruby 2.1 issue due to `<<~` as reported in [issue #870](https://github.com/shakacode/react_on_rails/issues/870). [#867](https://github.com/shakacode/react_on_rails/pull/867) by [justin808](https://github.com/justin808)
608
802
 
609
803
  ## [8.0.2] - 2017-06-04
804
+
610
805
  #### Fixed
806
+
611
807
  - Any failure in webpack to build test files quits tests.
612
808
  - Fixed a Ruby 2.4 potential crash which could cause a crash due to pathname change in Ruby 2.4.
613
809
  - CI Improvements:
@@ -618,10 +814,13 @@ Moved to [our documentation](https://www.shakacode.com/react-on-rails/docs/guide
618
814
  - [#862](https://github.com/shakacode/react_on_rails/pull/862) by [justin808](https://github.com/justin808)
619
815
 
620
816
  ## [8.0.1] - 2017-05-30
817
+
621
818
  #### Fixed
819
+
622
820
  - Generator no longer modifies `assets.rb`. [#859](https://github.com/shakacode/react_on_rails/pull/859) by [justin808](https://github.com/justin808)
623
821
 
624
822
  ## [8.0.0] - 2017-05-29
823
+
625
824
  - Generators and full support for [webpacker_lite](https://github.com/shakacode/webpacker_lite)
626
825
  - No breaking changes to move to 8.0.0 other than the default for this setting changed to nil. If you depended on the default of this setting and are using the asset pipeline (and not webpacker_lite), then add this to your `config/initializers/react_on_rails.rb`:
627
826
  ```
@@ -631,21 +830,26 @@ Moved to [our documentation](https://www.shakacode.com/react-on-rails/docs/guide
631
830
  - For a simple example of the webpacker_lite setup, run the basic generator.
632
831
 
633
832
  ## [8.0.0-beta.3] - 2017-05-27
833
+
634
834
  #### Changed
835
+
635
836
  - Major updates for WebpackerLite 2.0.2. [#844](https://github.com/shakacode/react_on_rails/pull/845) by [justin808](https://github.com/justin808) with help from ](https://github.com/robwise)
636
837
  - Logging no longer occurs when trace is turned to false. [#845](https://github.com/shakacode/react_on_rails/pull/845) by [conturbo](https://github.com/Conturbo)
637
838
 
638
839
  ## [8.0.0-beta.2] - 2017-05-08
639
840
 
640
841
  #### Changed
842
+
641
843
  Removed unnecessary values in default paths.yml files for generators. [#834](https://github.com/shakacode/react_on_rails/pull/834) by [justin808](https://github.com/justin808).
642
844
 
643
845
  ## [8.0.0-beta.1] - 2017-05-03
644
846
 
645
847
  #### Added
848
+
646
849
  Support for WebpackerLite in the generators. [#822](https://github.com/shakacode/react_on_rails/pull/822) by [kaizencodes](https://github.com/kaizencodes) and [justin808](https://github.com/justin808).
647
850
 
648
851
  #### Changed
852
+
649
853
  Breaking change is that the default value of symlink_non_digested_assets_regex has changed from this
650
854
  old value to nil. This is a breaking change if you didn't have this value set in your
651
855
  config/initializers/react_on_rails.rb file and you need this because you're using webpack's CSS
@@ -656,90 +860,119 @@ symlink_non_digested_assets_regex: /\.(png|jpg|jpeg|gif|tiff|woff|ttf|eot|svg|ma
656
860
  ```
657
861
 
658
862
  ## [7.0.4] - 2017-04-27
863
+
659
864
  - Return empty json when nil in json_safe_and_pretty [#824](https://github.com/shakacode/react_on_rails/pull/824) by [dzirtusss](https://github.com/dzirtusss)
660
865
 
661
866
  ## [7.0.3] - 2017-04-27
867
+
662
868
  Same as 7.0.1.
663
869
 
664
870
  ## 7.0.2 - 2017-04-27
665
- *Accidental release of beta gem here*
871
+
872
+ _Accidental release of beta gem here_
666
873
 
667
874
  ## [7.0.1] - 2017-04-27
875
+
668
876
  #### Fixed
877
+
669
878
  - Fix to handle nil values in json_safe_and_pretty [#823](https://github.com/shakacode/react_on_rails/pull/823) by [dzirtusss](https://github.com/dzirtusss)
670
879
 
671
880
  ## [7.0.0] - 2017-04-25
881
+
672
882
  #### Changed
883
+
673
884
  - Any version differences in gem and node package for React on Rails throw an error [#821](https://github.com/shakacode/react_on_rails/pull/821) by [justin808](https://github.com/justin808)
674
885
 
675
886
  #### Fixed
887
+
676
888
  - Fixes serious performance regression when using String props for rendering. [#821](https://github.com/shakacode/react_on_rails/pull/821) by [justin808](https://github.com/justin808)
677
889
 
678
890
  ## [6.10.1] - 2017-04-23
891
+
679
892
  #### Fixed
893
+
680
894
  - Improve json conversion with tests and support for older Rails 3.x. [#787](https://github.com/shakacode/react_on_rails/pull/787) by [cheremukhin23](https://github.com/cheremukhin23) and [Ynote](https://github.com/Ynote).
681
895
 
682
896
  ## [6.10.0] - 2017-04-13
683
897
 
684
898
  #### Added
899
+
685
900
  - Add an ability to return multiple HTML strings in a `Hash` as a result of `react_component` method call. Allows to build `<head>` contents with [React Helmet](https://github.com/nfl/react-helmet). [#800](https://github.com/shakacode/react_on_rails/pull/800) by [udovenko](https://github.com/udovenko).
686
901
 
687
902
  #### Fixed
903
+
688
904
  - Fix PropTypes, createClass deprecation warnings for React 15.5.x. [#804](https://github.com/shakacode/react_on_rails/pull/804) by [udovenko ](https://github.com/udovenko).
689
905
 
690
906
  ## [6.9.3] - 2017-04-03
691
907
 
692
908
  #### Fixed
909
+
693
910
  - Removed call of to_json on strings when formatting props. [#791](https://github.com/shakacode/react_on_rails/pull/791) by [justin808](https://github.com/justin808).
694
911
 
695
912
  ## [6.9.2] - 2017-04-02
696
913
 
697
914
  #### Changed
915
+
698
916
  - Update version_checker.rb to `logger.error` rather than `logger.warn` for gem/npm version mismatch. [#788](https://github.com/shakacode/react_on_rails/issues/788) by [justin808](https://github.com/justin808).
699
917
 
700
918
  #### Fixed
919
+
701
920
  - Remove pretty formatting of JSON in development. [#789](https://github.com/shakacode/react_on_rails/pull/789) by [justin808](https://github.com/justin808)
702
921
  - Clear hydrated stores with each server rendered block. [#785](https://github.com/shakacode/react_on_rails/pull/785) by [udovenko](https://github.com/udovenko)
703
922
 
704
923
  ## [6.9.1] - 2017-03-30
705
924
 
706
925
  #### Fixed
926
+
707
927
  - Fixes Crash in Development for String Props. [#784](https://github.com/shakacode/react_on_rails/issues/784) by [justin808](https://github.com/justin808).
708
928
 
709
929
  ## [6.9.0] - 2017-03-29
710
930
 
711
931
  #### Fixed
932
+
712
933
  - Fixed error in the release script. [#767](https://github.com/shakacode/react_on_rails/issues/767) by [isolo](https://github.com/isolo).
713
934
 
714
935
  #### Changed
936
+
715
937
  - Use <script type="application/json"> for props and store instead of hidden div. [#775] (https://github.com/shakacode/react_on_rails/pull/775) by [cheremukhin23](https://github.com/cheremukhin23).
716
938
 
717
939
  #### Added
940
+
718
941
  - Add option to specify i18n_yml_dir in order to include only subset of locale files when generating translations.js & default.js for react-intl.
719
- [#777](https://github.com/shakacode/react_on_rails/pull/777) by [danijel](https://github.com/danijel).
942
+ [#777](https://github.com/shakacode/react_on_rails/pull/777) by [danijel](https://github.com/danijel).
720
943
 
721
944
  ## [6.8.2] - 2017-03-24
945
+
722
946
  #### Fixed
947
+
723
948
  - Change webpack output path to absolute and update webpack to version ^2.3.1. [#771](https://github.com/shakacode/react_on_rails/pull/771) by [cheremukhin23](https://github.com/cheremukhin23).
724
949
 
725
950
  ## [6.8.1] - 2017-03-21
951
+
726
952
  #### Fixed
727
- - Fixed error "The node you're attempting to unmount was rendered by another copy of React." [#706](https://github.com/shakacode/react_on_rails/issues/706) when navigating to cached page using Turbolinks [#763](https://github.com/shakacode/react_on_rails/pull/763) by [szyablitsky](https://github.com/szyablitsky).
953
+
954
+ - Fixed error "The node you're attempting to unmount was rendered by another copy of React." [#706](https://github.com/shakacode/react_on_rails/issues/706) when navigating to cached page using Turbolinks [#763](https://github.com/shakacode/react_on_rails/pull/763) by [szyablitsky](https://github.com/szyablitsky).
728
955
 
729
956
  ## [6.8.0] - 2017-03-06
957
+
730
958
  ## Added
959
+
731
960
  - Converted to Webpack v2 for generators, tests, and all example code. [#742](https://github.com/shakacode/react_on_rails/pull/742) by [justin808](https://github.com/justin808).
732
961
 
733
962
  ## [6.7.2] - 2017-03-05
963
+
734
964
  #### Improved
965
+
735
966
  - Improve i18n Integration with a better error message if the value of the i18n directory is invalid. [#748](https://github.com/shakacode/react_on_rails/pull/748) by [justin808](https://github.com/justin808).
736
967
 
737
968
  ## [6.7.1] - 2017-02-28
969
+
738
970
  No changes other than a test fix.
739
971
 
740
972
  ## [6.7.0] - 2017-02-28
741
973
 
742
974
  #### IMPORTANT
975
+
743
976
  - If you installed 6.6.0, you will need to comment out the line matching i18n_dir unless you are using this feature. 6.7.1 will give you an error like:
744
977
 
745
978
  ```
@@ -753,72 +986,99 @@ config.i18n_dir = Rails.root.join("client", "app", "libs", "i18n")
753
986
  ```
754
987
 
755
988
  #### Added
989
+
756
990
  - Allow using rake task to generate javascript locale files. The test helper automatically creates the localization files when needed. [#717](https://github.com/shakacode/react_on_rails/pull/717) by [JasonYCHuang](https://github.com/JasonYCHuang).
757
991
 
758
992
  #### Fixed
993
+
759
994
  - Upgrade Rails to 4.2.8 to fix security vulnerabilities in 4.2.5. [#735](https://github.com/shakacode/react_on_rails/pull/735) by [hrishimittal](https://github.com/hrishimittal).
760
995
  - Fix spec failing due to duplicate component. [#734](https://github.com/shakacode/react_on_rails/pull/734) by [hrishimittal](https://github.com/hrishimittal).
761
996
 
762
997
  ## [6.6.0] - 2017-02-18
998
+
763
999
  #### Added
1000
+
764
1001
  - Switched to yarn! [#715](https://github.com/shakacode/react_on_rails/pull/715) by [squadette](https://github.com/squadette).
765
1002
 
766
1003
  ## [6.5.1] - 2017-02-11
1004
+
767
1005
  #### Fixed
1006
+
768
1007
  - Allow using gem without sprockets. [#671](https://github.com/shakacode/react_on_rails/pull/671) by [fc-arny](https://github.com/fc-arny).
769
1008
  - Fixed issue [#706](https://github.com/shakacode/react_on_rails/issues/706) with "flickering" components when they are unmounted too early [#709](https://github.com/shakacode/react_on_rails/pull/709) by [szyablitsky](https://github.com/szyablitsky).
770
1009
  - Small formatting fix for errors [#703](https://github.com/shakacode/react_on_rails/pull/703) by [justin808](https://github.com/justin808).
771
1010
 
772
1011
  ## [6.5.0] - 2017-01-31
1012
+
773
1013
  #### Added
1014
+
774
1015
  - Allow generator function to return Object with property `renderedHtml` (already could return Object with props `redirectLocation, error`) rather than a React component or a function that returns a React component. One reason to use a generator function is that sometimes in server rendering, specifically with React Router v4, you need to return the result of calling ReactDOMServer.renderToString(element). [#689](https://github.com/shakacode/react_on_rails/issues/689) by [justin808](https://github.com/justin808).
775
1016
 
776
1017
  #### Fixed
1018
+
777
1019
  - Fix incorrect "this" references of Node.js SSR [#690](https://github.com/shakacode/react_on_rails/issues/689) by [nostophilia](https://github.com/nostophilia).
778
1020
 
779
1021
  ## [6.4.2] - 2017-01-17
1022
+
780
1023
  #### Fixed
1024
+
781
1025
  - Added OS detection for install generator, system call for Windows and unit-tests for it. [#666](https://github.com/shakacode/react_on_rails/pull/666) by [GeorgeGorbanev](https://github.com/GeorgeGorbanev).
782
1026
 
783
1027
  ## [6.4.1] - 2017-1-17
1028
+
784
1029
  No changes.
785
1030
 
786
1031
  ## [6.4.0] - 2017-1-12
787
1032
 
788
1033
  #### Possible Breaking Change
1034
+
789
1035
  - Since foreman is no longer a dependency of the React on Rails gem, please run `gem install foreman`. If you are using rvm, you may wish to run `rvm @global do gem install foreman` to install foreman for all your gemsets.
790
1036
 
791
1037
  #### Fixed
1038
+
792
1039
  - Removed foreman as a dependency. [#678](https://github.com/shakacode/react_on_rails/pull/678) by [x2es](https://github.com/x2es).
793
1040
 
794
1041
  #### Added
795
- - Automatically generate __i18n__ javascript files for `react-intl` when the serve starts up. [#642](https://github.com/shakacode/react_on_rails/pull/642) by [JasonYCHuang](https://github.com/JasonYCHuang).
1042
+
1043
+ - Automatically generate **i18n** javascript files for `react-intl` when the serve starts up. [#642](https://github.com/shakacode/react_on_rails/pull/642) by [JasonYCHuang](https://github.com/JasonYCHuang).
796
1044
 
797
1045
  ## [6.3.5] - 2017-1-6
1046
+
798
1047
  #### Fixed
799
- - The redux generator now creates a HelloWorld component that uses redux rather than local state. [#669](https://github.com/shakacode/react_on_rails/issues/669) by [justin808](https://github.com/justin808).
1048
+
1049
+ - The Redux generator now creates a HelloWorld component that uses redux rather than local state. [#669](https://github.com/shakacode/react_on_rails/issues/669) by [justin808](https://github.com/justin808).
800
1050
 
801
1051
  ## [6.3.4] - 2016-12-25
1052
+
802
1053
  ##### Fixed
1054
+
803
1055
  - Disable Turbolinks support when not supported. [#650](https://github.com/shakacode/react_on_rails/pull/650) by [ka2n](https://github.com/ka2n).
804
1056
 
805
1057
  ## [6.3.3] - 2016-12-25
1058
+
806
1059
  ##### Fixed
1060
+
807
1061
  - By using the hook on `turbolinks:before-visit` to unmount the components, we can ensure that components are unmounted even when Turbolinks cache is disabled. Previously, we used `turbolinks:before-cache` event hook. [#644](https://github.com/shakacode/react_on_rails/pull/644) by [volkanunsal](https://github.com/volkanunsal).
808
1062
  - Added support for Ruby 2.0 [#651](https://github.com/shakacode/react_on_rails/pull/651) by [bbonamin](https://github.com/bbonamin).
809
1063
 
810
1064
  ## [6.3.2] - 2016-12-5
1065
+
811
1066
  ##### Fixed
1067
+
812
1068
  - The `react_component` method was raising a `NameError` when `ReactOnRailsHelper` was included in a plain object. [#636](https://github.com/shakacode/react_on_rails/pull/636) by [jtibbertsma](https://github.com/jtibbertsma).
813
1069
  - "Node parse error" for node server rendering. [#641](https://github.com/shakacode/react_on_rails/pull/641) by [alleycat-at-git](https://github.com/alleycat-at-git) and [rocLv](https://github.com/rocLv)
814
1070
  - Better error handling when the react-on-rails node package entry is missing.[#602](https://github.com/shakacode/react_on_rails/pull/602) by [benjiwheeler](https://github.com/benjiwheeler).
815
1071
 
816
1072
  ## [6.3.1] - 2016-11-30
1073
+
817
1074
  ##### Changed
1075
+
818
1076
  - Improved generator post-install help messages. [#631](https://github.com/shakacode/react_on_rails/pull/631) by [justin808](https://github.com/justin808).
819
1077
 
820
1078
  ## [6.3.0] - 2016-11-30
1079
+
821
1080
  ##### Changed
1081
+
822
1082
  - Modified register API to allow registration of renderers, allowing a user to manually render their app to the DOM. This allows for code splitting and deferred loading. [#581](https://github.com/shakacode/react_on_rails/pull/581) by [jtibbertsma](https://github.com/jtibbertsma).
823
1083
 
824
1084
  - Updated Basic Generator & Linters. Examples are simpler. [#624](https://github.com/shakacode/react_on_rails/pull/624) by [Judahmeek](https://github.com/Judahmeek).
@@ -828,65 +1088,88 @@ No changes.
828
1088
  - Don't assume ActionMailer is available. [#608](https://github.com/shakacode/react_on_rails/pull/608) by [tuzz](https://github.com/tuzz).
829
1089
 
830
1090
  ## [6.2.1] - 2016-11-19
1091
+
831
1092
  - Removed unnecessary passing of context in the HelloWorld Container example and basic generator. [#612](https://github.com/shakacode/react_on_rails/pull/612) by [justin808](https://github.com/justin808)
832
1093
 
833
1094
  - Turbolinks 5 bugfix to use `before-cache`, not `before-render`. [#611](https://github.com/shakacode/react_on_rails/pull/611) by [volkanunsal](https://github.com/volkanunsal).
834
1095
 
835
1096
  ## [6.2.0] - 2016-11-19
1097
+
836
1098
  ##### Changed
837
- - Updated the generator templates to reflect current best practices, especially for the redux version. [#584](https://github.com/shakacode/react_on_rails/pull/584) by [nostophilia](https://github.com/nostophilia).
1099
+
1100
+ - Updated the generator templates to reflect current best practices, especially for the Redux version. [#584](https://github.com/shakacode/react_on_rails/pull/584) by [nostophilia](https://github.com/nostophilia).
838
1101
 
839
1102
  ## [6.1.2] - 2016-10-24
1103
+
840
1104
  ##### Fixed
1105
+
841
1106
  - Added compatibility with older manifest.yml files produced by Rails 3 Sprockets when symlinking digested assets during precompilation [#566](https://github.com/shakacode/react_on_rails/pull/566) by [etripier](https://github.com/etripier).
842
1107
 
843
1108
  ## [6.1.1] - 2016-09-09
1109
+
844
1110
  ##### Fixed
1111
+
845
1112
  - React on Rails was incorrectly failing to create symlinks when a file existed in the location for the new symlink. [#491](https://github.com/shakacode/react_on_rails/pull/541) by [robwise ](https://github.com/robwise) and [justin808](https://github.com/justin808).
846
1113
 
847
1114
  ## [6.1.0] - 2016-08-21
848
1115
 
849
1116
  ##### Added
1117
+
850
1118
  - Node option for installer added as alternative for server rendering [#469](https://github.com/shakacode/react_on_rails/pull/469) by [jbhatab](https://github.com/jbhatab).
851
1119
  - Server rendering now supports contexts outside of browser rendering, such as ActionMailer templates [#486](https://github.com/shakacode/react_on_rails/pull/486) by [eacaps](https://github.com/eacaps).
852
1120
  - Added authenticityToken() and authenticityHeaders() javascript helpers for easier use when working with CSRF protection tag generated by Rails [#517](https://github.com/shakacode/react_on_rails/pull/517) by [dzirtusss](https://github.com/dzirtusss).
853
1121
  - Updated JavaScript error handling on the client side. Errors in client rendering now pass through to the browser [#521](https://github.com/shakacode/react_on_rails/pull/521) by [dzirtusss](https://github.com/dzirtusss).
854
1122
 
855
1123
  ##### Fixed
1124
+
856
1125
  - React on Rails now correctly parses single-digit version strings from package.json [#491](https://github.com/shakacode/react_on_rails/pull/491) by [samphilipd ](https://github.com/samphilipd).
857
1126
  - Fixed assets symlinking to correctly use filenames with spaces. Beginning in [#510](https://github.com/shakacode/react_on_rails/pull/510), ending in [#513](https://github.com/shakacode/react_on_rails/pull/513) by [dzirtusss](https://github.com/dzirtusss).
858
1127
  - Check encoding of request's original URL and force it to UTF-8 [#527](https://github.com/shakacode/react_on_rails/pull/527) by [lucke84](https://github.com/lucke84)
859
1128
 
860
1129
  ## [6.0.5] - 2016-07-11
1130
+
861
1131
  ##### Added
862
- - Added better error messages to avoid issues with shared redux stores [#470](https://github.com/shakacode/react_on_rails/pull/470) by [justin808](https://github.com/justin808).
1132
+
1133
+ - Added better error messages to avoid issues with shared Redux stores [#470](https://github.com/shakacode/react_on_rails/pull/470) by [justin808](https://github.com/justin808).
863
1134
 
864
1135
  ## [6.0.4] - 2016-06-13
1136
+
865
1137
  ##### Fixed
866
- - Added polyfill for clearTimeout which is used by babel-polyfill [#451](https://github.com/shakacode/react_on_rails/pull/451) by [martyphee](https://github.com/martyphee)
1138
+
1139
+ - Added a polyfill for `clearTimeout` which is used by `babel-polyfill` [#451](https://github.com/shakacode/react_on_rails/pull/451) by [martyphee](https://github.com/martyphee)
867
1140
 
868
1141
  ## [6.0.3] - 2016-06-07
1142
+
869
1143
  ##### Fixed
1144
+
870
1145
  - Added assets symlinking support on Heroku [#446](https://github.com/shakacode/react_on_rails/pull/446) by [Alexey Karasev](https://github.com/alleycat-at-git).
871
1146
 
872
1147
  ## [6.0.2] - 2016-06-06
1148
+
873
1149
  ##### Fixed
1150
+
874
1151
  - Fix collisions in ids of DOM nodes generated by `react_component` by indexing in using a UUID rather than an auto-increment value. This means that it should be overridden using the `id` parameter of `react_component` if one wants to generate a predictable id (_e.g._ for testing purpose). See [Issue #437](https://github.com/shakacode/react_on_rails/issues/437). Fixed in [#438](https://github.com/shakacode/react_on_rails/pull/438) by [Michael Baudino](https://github.com/michaelbaudino).
875
1152
 
876
1153
  ## [6.0.1] - 2016-05-27
1154
+
877
1155
  ##### Fixed
1156
+
878
1157
  - Allow for older version of manifest.json for older versions of sprockets. See [Issue #435](https://github.com/shakacode/react_on_rails/issues/435). Fixed in [#436](https://github.com/shakacode/react_on_rails/pull/436) by [alleycat-at-git](https://github.com/alleycat-at-git).
879
1158
 
880
1159
  ## [6.0.0] - 2016-05-25
1160
+
881
1161
  ##### Breaking Changes
1162
+
882
1163
  - Added automatic compilation of assets at precompile is now done by ReactOnRails. Thus, you don't need to provide your own `assets.rake` file that does the precompilation.
883
1164
  [#398](https://github.com/shakacode/react_on_rails/pull/398) by [robwise](https://github.com/robwise), [jbhatab](https://github.com/jbhatab), and [justin808](https://github.com/justin808).
884
1165
  - **Migration to v6**
1166
+
885
1167
  - Do not run the generator again if you've already run it.
886
1168
 
887
- - See [shakacode/react-webpack-rails-tutorial/pull/287](https://github.com/shakacode/react-webpack-rails-tutorial/pull/287) for an example of upgrading from v5.
1169
+ - See [shakacode/react-webpack-rails-tutorial/pull/287](https://github.com/shakacode/react-webpack-rails-tutorial/pull/287) for an example of upgrading from v5.
888
1170
 
889
1171
  - To configure the asset compilation you can either
1172
+
890
1173
  1. Specify a `config/react_on_rails` setting for `build_production_command` to be nil to turn this feature off.
891
1174
  2. Specify the script command you want to run to build your production assets, and remove your `assets.rake` file.
892
1175
 
@@ -895,6 +1178,7 @@ No changes.
895
1178
  - See [shakacode/react-webpack-rails-tutorial #287](https://github.com/shakacode/react-webpack-rails-tutorial/pull/287/files) for an upgrade example. The PR has a few comments on the upgrade.
896
1179
 
897
1180
  Here is the addition to the generated config file:
1181
+
898
1182
  ```ruby
899
1183
  # This configures the script to run to build the production assets by webpack. Set this to nil
900
1184
  # if you don't want react_on_rails building this file for you.
@@ -907,48 +1191,61 @@ Here is the addition to the generated config file:
907
1191
  ```
908
1192
 
909
1193
  ##### Fixed
1194
+
910
1195
  - Fixed errors when server rendered props contain \u2028 or \u2029 characters [#375](https://github.com/shakacode/react_on_rails/pull/375) by [mariusandra](https://github.com/mariusandra)
911
1196
  - Fixed "too early unmount" which caused problems with Turbolinks 5 not updating the screen [#425](https://github.com/shakacode/react_on_rails/pull/425) by [szyablitsky](https://github.com/szyablitsky)
912
1197
 
913
1198
  ##### Added
1199
+
914
1200
  - Experimental ability to use node.js process for server rendering. See [#380](https://github.com/shakacode/react_on_rails/pull/380) by [alleycat-at-git](https://github.com/alleycat-at-git).
915
1201
  - Non-digested version of assets in public folder [#413](https://github.com/shakacode/react_on_rails/pull/413) by [alleycat-at-git](https://github.com/alleycat-at-git).
916
1202
  - Cache client/node_modules directory to prevent Heroku from reinstalling all modules from scratch [#324](https://github.com/shakacode/react_on_rails/pull/324) by [modosc](https://github.com/modosc).
917
1203
  - ReactOnRails.reactOnRailsPageLoaded() is exposed in case one needs to call this manually and information on async script loading added. See [#315](https://github.com/shakacode/react_on_rails/pull/315) by [SqueezedLight](https://github.com/SqueezedLight).
918
1204
 
919
1205
  ##### Changed
1206
+
920
1207
  - [#398](https://github.com/shakacode/react_on_rails/pull/398) by [robwise](https://github.com/robwise), [jbhatab](https://github.com/jbhatab), and [justin808](https://github.com/justin808) contains:
921
1208
  - Only one webpack config is generated for server and client config. Package.json files were changed to reflect this.
922
1209
  - Added npm_build_test_command to allow developers to change what npm command is automatically run from rspec.
923
1210
  - Replace URI with Addressable gem. See [#405](https://github.com/shakacode/react_on_rails/pull/405) by [lucke84](https://github.com/lucke84)
924
1211
 
925
1212
  ##### Removed
1213
+
926
1214
  - [#398](https://github.com/shakacode/react_on_rails/pull/398) by [robwise](https://github.com/robwise), [jbhatab](https://github.com/jbhatab), and [justin808](https://github.com/justin808) contains:
927
1215
  - Server rendering is no longer an option in the generator and is always accessible.
928
1216
  - Removed lodash, jquery, and loggerMiddleware from the generated code.
929
1217
  - Removed webpack watch check for test helper automatic compilation.
930
1218
 
931
1219
  ## [5.2.0] - 2016-04-08
1220
+
932
1221
  ##### Added
1222
+
933
1223
  - Support for React 15.0 to react_on_rails. See [#379](https://github.com/shakacode/react_on_rails/pull/379) by [brucek](https://github.com/brucek).
934
1224
  - Support for Node.js server side rendering. See [#380](https://github.com/shakacode/react_on_rails/pull/380) by [alleycat](https://github.com/alleycat-at-git) and [doc](https://www.shakacode.com/react-on-rails/docs/react-on-rails-pro/react-on-rails-pro#pro-integration-with-nodejs-for-server-rendering)
935
1225
 
936
1226
  ##### Removed
1227
+
937
1228
  - Generator removals to simplify installer. See [#364](https://github.com/shakacode/react_on_rails/pull/364) by [jbhatab](https://github.com/jbhatab).
938
1229
  - Removed options for heroku, boostrap, and the linters from generator.
939
1230
  - Removed install for the Webpack Dev Server, as we can now do hot reloading with Rails, so the complexity of this feature is not justified. Nevertheless, the setup of React on Rails still supports this setup, just not with the generator.
940
1231
  - Documentation added for removed installer options.
941
1232
 
942
1233
  ## [5.1.1] - 2016-04-04
1234
+
943
1235
  ##### Fixed
1236
+
944
1237
  - Security Fixes: Address failure to sanitize console messages when server rendering and displaying in the browser console. See [#366](https://github.com/shakacode/react_on_rails/pull/366) and [#370](https://github.com/shakacode/react_on_rails/pull/370) by [justin808](https://github.com/justin808)
945
1238
 
946
1239
  ##### Added
1240
+
947
1241
  - railsContext includes the port number and a boolean if the code is being run on the server or client.
948
1242
 
949
1243
  ## [5.1.0] - 2016-04-03
1244
+
950
1245
  ##### Added
1246
+
951
1247
  All 5.1.0 changes can be found in [#362](https://github.com/shakacode/react_on_rails/pull/362) by [justin808](https://github.com/justin808).
1248
+
952
1249
  - Generator enhancements
953
1250
  - Generator adds line to spec/rails_helper.rb so that running specs will ensure assets are compiled.
954
1251
  - Other small changes to the generator including adding necessary npm scripts to allow React on Rails to build assets.
@@ -964,149 +1261,192 @@ All 5.1.0 changes can be found in [#362](https://github.com/shakacode/react_on_r
964
1261
  ## [5.0.0] - 2016-04-01
965
1262
 
966
1263
  ##### Added
967
- - Added `railsContext`, an object which gets passed always as the second parameter to both react component and redux store generator functions, both for server and client rendering. This provides data like the current locale, the pathname, etc. The data values are customizable by a new configuration called `rendering_extension` where you can create a module with a method called `rendering_extension`. This allows you to add additional values to the Rails Context. Implement one static method called `custom_context(view_context)` and return a Hash. See [#345](https://github.com/shakacode/react_on_rails/pull/345) by [justin808](https://github.com/justin808)
1264
+
1265
+ - Added `railsContext`, an object which gets passed always as the second parameter to both React component and Redux store generator functions, both for server and client rendering. This provides data like the current locale, the pathname, etc. The data values are customizable by a new configuration called `rendering_extension` where you can create a module with a method called `rendering_extension`. This allows you to add additional values to the Rails Context. Implement one static method called `custom_context(view_context)` and return a Hash. See [#345](https://github.com/shakacode/react_on_rails/pull/345) by [justin808](https://github.com/justin808)
968
1266
 
969
1267
  ##### Changed
970
- - Previously, you could pass arbitrary additional html attributes to react_component. Now, you need to pass them in as a named parameter `html_options` to react_component.
1268
+
1269
+ - Previously, you could pass arbitrary additional HTML attributes to react_component. Now, you need to pass them in as a named parameter `html_options` to react_component.
971
1270
 
972
1271
  ##### Breaking Changes
1272
+
973
1273
  - You must provide named attributes, including `props` for view helper `react_component`. See [this commit](https://github.com/shakacode/react-webpack-rails-tutorial/commit/a97fa90042cbe27be7fd7fa70b5622bfcf9c3673) for an example migration used for [www.reactrails.com](http://www.reactrails.com).
974
1274
 
975
1275
  ## [4.0.3] - 2016-03-17
976
1276
 
977
1277
  ##### Fixed
1278
+
978
1279
  - `ReactOnRailsHelper#react_component`: Invalid deprecation message when called with only one parameter, the component name.
979
1280
 
980
1281
  ## [4.0.2] - 2016-03-17
981
1282
 
982
1283
  ##### Fixed
1284
+
983
1285
  - `ReactOnRails::Controller#redux_store`: 2nd parameter changed to a named parameter `props` for consistency.
984
1286
 
985
1287
  ## [4.0.1] - 2016-03-16
986
1288
 
987
1289
  ##### Fixed
1290
+
988
1291
  - Switched to `heroku buildpacks:set` syntax rather than using a `.buildpacks` file, which is deprecated. See [#319](https://github.com/shakacode/react_on_rails/pull/319) by [esauter5](https://github.com/esauter5). Includes both generator and doc updates.
989
1292
 
990
1293
  ## [4.0.0] - 2016-03-14
991
1294
 
992
1295
  ##### Added
1296
+
993
1297
  - [spec/dummy](spec/dummy) is a full sample app of React on Rails techniques **including** the hot reloading of assets from Rails!
994
1298
  - Added helpers `env_stylesheet_link_tag` and `env_javascript_include_tag` to support hot reloading Rails. See the [README.md](./README.md) for more details and see the example application in `spec/dummy`. Also see how this is used in the [tutorial: application.html.erb](https://github.com/shakacode/react-webpack-rails-tutorial/blob/master/app%2Fviews%2Flayouts%2Fapplication.html.erb#L6)
995
1299
  - Added optional parameter for ReactOnRails.getStore(name, throwIfMissing = true) so that you can check if a store is defined easily.
996
- - Added controller `module ReactOnRails::Controller`. Adds method `redux_store` to setup redux stores in the view.
1300
+ - Added controller `module ReactOnRails::Controller`. Adds method `redux_store` to set up Redux stores in the view.
997
1301
  - Added option `defer: true` for view helper `redux_store`. This allows the view helper to specify the props for store hydration, yet still render the props at the bottom of the view.
998
1302
  - Added view helper `redux_store_hydration_data` to render the props on the application's layout, near the bottom. This allows for the client hydration data to be parsed after the server rendering, which may result in a faster load time.
999
1303
  - The checker for outdated bundles before running tests will two configuration options: `generated_assets_dir` and `webpack_generated_files`.
1000
1304
  - Better support for Turbolinks 5!
1001
- - Fixed generator check of uncommitted code for foreign languages. See [#303](https://github.com/shakacode/react_on_rails/pull/303) by [nmatyukov](https://github.com/nmatyukov).
1305
+ - Fixed generator check of uncommitted code for foreign languages. See [#303](https://github.com/shakacode/react_on_rails/pull/303) by [nmatyukov](https://github.com/nmatyukov).
1002
1306
  - Added several parameters used for ensuring webpack assets are built for running tests:
1003
1307
  - `config.generated_assets_dir`: Directory where your generated webpack assets go. You can have only **one** directory for this.
1004
1308
  - `config.webpack_generated_files`: List of files that will get created in the `generated_assets_dir`. The test runner helper will ensure these generated files are newer than any of the files in the client directory.
1005
1309
 
1006
1310
  ##### Changed
1007
- - Generator default for webpack generated assets is now `app/assets/webpack` as we use this for both JavaScript and CSS generated assets.
1311
+
1312
+ - Generator default for webpack generated assets is now `app/assets/webpack` as we use this for both JavaScript and CSS generated assets.
1008
1313
 
1009
1314
  ##### Fixed
1315
+
1010
1316
  - The test runner "assets up to date checker" is greatly improved.
1011
1317
  - Lots of doc updates!
1012
1318
  - Improved the **spec/dummy** sample app so that it supports CSS modules, hot reloading, etc, and it can server as a template for a new ReactOnRails installation.
1013
1319
 
1014
1320
  ##### Breaking Changes
1015
- - Deprecated calling `redux_store(store_name, props)`. The API has changed. Use `redux_store(store_name, props: props, defer: false)` A new option called `defer` allows the rendering of store hydration at the bottom of the your layout. Place `redux_store_hydration_data` on your layout.
1321
+
1322
+ - Deprecated calling `redux_store(store_name, props)`. The API has changed. Use `redux_store(store_name, props: props, defer: false)` A new option called `defer` allows the rendering of store hydration at the bottom of the your layout. Place `redux_store_hydration_data` on your layout.
1016
1323
  - `config.server_bundle_js_file` has changed. The default value is now blank, meaning no server rendering. Addtionally, if you specify the file name, you should not include the path, as that should be specified in the `config.generated_assets_dir`.
1017
1324
  - `config.generated_assets_dirs` has been renamed to `config.generated_assets_dir` (singular) and it only takes one directory.
1018
1325
 
1019
1326
  ## [3.0.6] - 2016-03-01
1327
+
1020
1328
  ##### Fixed
1021
- - Improved errors when registered store is not found. See [#301](https://github.com/shakacode/react_on_rails/pull/301) by [justin808](https://github.com/justin808).
1329
+
1330
+ - Improved errors when registered store is not found. See [#301](https://github.com/shakacode/react_on_rails/pull/301) by [justin808](https://github.com/justin808).
1022
1331
 
1023
1332
  ## [3.0.5] - 2016-02-26
1333
+
1024
1334
  ##### Fixed
1025
- - Fixed error in linters rake file for generator. See [#299](https://github.com/shakacode/react_on_rails/pull/299) by [mpugach](https://github.com/mpugach).
1335
+
1336
+ - Fixed error in linters rake file for generator. See [#299](https://github.com/shakacode/react_on_rails/pull/299) by [mpugach](https://github.com/mpugach).
1026
1337
 
1027
1338
  ## [3.0.4] - 2016-02-25
1339
+
1028
1340
  ##### Fixed
1341
+
1029
1342
  - Updated CHANGELOG.md to include contributors for each PR.
1030
- - Fixed config.server_bundle_js file value in generator to match generator setting of server rendering. See [#295](https://github.com/shakacode/react_on_rails/pull/295) by [aaronvb](https://github.com/aaronvb).
1343
+ - Fixed config.server_bundle_js file value in generator to match generator setting of server rendering. See [#295](https://github.com/shakacode/react_on_rails/pull/295) by [aaronvb](https://github.com/aaronvb).
1031
1344
 
1032
1345
  ## [3.0.3] - 2016-02-21
1346
+
1033
1347
  ##### Fixed
1348
+
1034
1349
  - Cleaned up code in `spec/dummy` to latest React and Redux APIs. See [#282](https://github.com/shakacode/react_on_rails/pull/282).
1035
1350
  - Update generator messages with helpful information. See [#279](https://github.com/shakacode/react_on_rails/pull/279).
1036
1351
  - Other small generated comment fixes and doc fixes.
1037
1352
 
1038
1353
  ## [3.0.2] - 2016-02-15
1354
+
1039
1355
  ##### Fixed
1356
+
1040
1357
  - Fixed missing information in the helpful message after running the base install generator regarding how to run the node server with hot reloading support.
1041
1358
 
1042
1359
  ## [3.0.1] - 2016-02-15
1360
+
1043
1361
  ##### Fixed
1362
+
1044
1363
  - Fixed several jscs linter issues.
1045
1364
 
1046
1365
  ## [3.0.0] - 2016-02-15
1366
+
1047
1367
  ##### Fixed
1368
+
1048
1369
  - Fix Bootstrap Sass Append to Gemfile, missing new line. [#262](https://github.com/shakacode/react_on_rails/pull/262).
1049
1370
 
1050
1371
  ##### Added
1372
+
1051
1373
  - Added helper `redux_store` and associated JavaScript APIs that allow multiple React components to use the same store. Thus, you initialize the store, with props, separately from the components.
1052
1374
  - Added forman to gemspec in case new dev does not have it globally installed. [#248](https://github.com/shakacode/react_on_rails/pull/248).
1053
1375
  - Support for Turbolinks 5! [#270](https://github.com/shakacode/react_on_rails/pull/270).
1054
1376
  - Added better error messages for `ReactOnRails.register()`. [#273](https://github.com/shakacode/react_on_rails/pull/273).
1055
1377
 
1056
1378
  ##### Breaking Change
1379
+
1057
1380
  - Calls to `react_component` should use a named argument of props. For example, change this:
1381
+
1058
1382
  ```ruby
1059
1383
  <%= react_component("ReduxSharedStoreApp", {}, prerender: false, trace: true) %>
1060
1384
  ```
1061
1385
 
1062
1386
  to
1387
+
1063
1388
  ```ruby
1064
1389
  <%= react_component("ReduxSharedStoreApp", props: {}, prerender: false, trace: true) %>
1065
1390
  ```
1391
+
1066
1392
  You'll get a deprecation message to change this.
1067
- - Renamed `ReactOnRails.configure_rspec_to_compile_assets` to `ReactOnRails::TestHelper.configure_rspec_to_compile_assets`. The code has also been optimized to check for whether or not the compiled webpack bundles are up to date or not and will not run if not necessary. If you are using non-standard directories for your generated webpack assets (`app/assets/javascripts/generated` and `app/assets/stylesheets/generated`) or have additional directories you wish the helper to check, you need to update your ReactOnRails configuration accordingly. See [documentation](https://www.shakacode.com/react-on-rails/docs/guides/rspec_configuration) for how to do this. [#253](https://github.com/shakacode/react_on_rails/pull/253).
1068
- - You have to call `ReactOnRails.register` to register react components. This was deprecated in v2. [#273](https://github.com/shakacode/react_on_rails/pull/273).
1393
+
1394
+ - Renamed `ReactOnRails.configure_rspec_to_compile_assets` to `ReactOnRails::TestHelper.configure_rspec_to_compile_assets`. The code has also been optimized to check for whether or not the compiled webpack bundles are up to date or not and will not run if not necessary. If you are using non-standard directories for your generated webpack assets (`app/assets/javascripts/generated` and `app/assets/stylesheets/generated`) or have additional directories you wish the helper to check, you need to update your ReactOnRails configuration accordingly. See [documentation](https://www.shakacode.com/react-on-rails/docs/guides/rspec_configuration) for how to do this. [#253](https://github.com/shakacode/react_on_rails/pull/253).
1395
+ - You have to call `ReactOnRails.register` to register React components. This was deprecated in v2. [#273](https://github.com/shakacode/react_on_rails/pull/273).
1069
1396
 
1070
1397
  ##### Migration Steps v2 to v3
1398
+
1071
1399
  - See [these changes of spec/dummy/spec/rails_helper.rb](https://github.com/shakacode/react_on_rails/blob/master/spec/dummy/spec/rails_helper.rb#L36..38) for an example. Add this line to your `rails_helper.rb`:
1400
+
1072
1401
  ```ruby
1073
1402
  RSpec.configure do |config|
1074
1403
  # Ensure that if we are running js tests, we are using latest webpack assets
1075
1404
  ReactOnRails::TestHelper.configure_rspec_to_compile_assets(config)
1076
1405
  ```
1406
+
1077
1407
  - Change view helper calls to react_component to use the named param of `props`. See forum post [Using Regexp to update to ReactOnRails v3](http://forum.shakacode.com/t/using-regexp-to-update-to-reactonrails-v3/481).
1078
1408
 
1079
1409
  ## [2.3.0] - 2016-02-01
1410
+
1080
1411
  ##### Added
1412
+
1081
1413
  - Added polyfills for `setInterval` and `setTimeout` in case other libraries expect these to exist.
1082
1414
  - Added much improved debugging for errors in the server JavaScript webpack file.
1083
1415
  - See [#244](https://github.com/shakacode/react_on_rails/pull/244/) for these improvements.
1084
1416
 
1085
1417
  ## [2.2.0] - 2016-01-29
1418
+
1086
1419
  ##### Added
1420
+
1087
1421
  - New JavaScript API for debugging TurboLinks issues. Be sure to see [turbolinks docs](https://www.shakacode.com/react-on-rails/docs/rails/turbolinks). `ReactOnRails.setOptions({ traceTurbolinks: true });`. Removed the file `debug_turbolinks` added in 2.1.1. See [#243](https://github.com/shakacode/react_on_rails/pull/243).
1088
1422
 
1089
1423
  ## [2.1.1] - 2016-01-28
1090
1424
 
1091
1425
  ##### Fixed
1426
+
1092
1427
  - Fixed regression where apps that were not using Turbolinks would not render components on page load.
1093
1428
 
1094
1429
  ##### Added
1430
+
1095
1431
  - `ReactOnRails.render` returns a virtualDomElement Reference to your React component's backing instance. See [#234](https://github.com/shakacode/react_on_rails/pull/234).
1096
1432
  - `debug_turbolinks` helper for debugging turbolinks issues. See [turbolinks](https://www.shakacode.com/react-on-rails/docs/rails/turbolinks).
1097
1433
  - Enhanced regression testing for non-turbolinks apps. Runs all tests for dummy app with turbolinks both disabled and enabled.
1098
1434
 
1099
1435
  ## [2.1.0] - 2016-01-26
1436
+
1100
1437
  ##### Added
1438
+
1101
1439
  - Added EnsureAssetsCompiled feature so that you do not accidentally run tests without properly compiling the JavaScript bundles. Add a line to your `rails_helper.rb` file to check that the latest Webpack bundles have been generated prior to running tests that may depend on your client-side code. See [docs](https://www.shakacode.com/react-on-rails/docs/guides/rspec_configuration) for more detailed instructions. [#222](https://github.com/shakacode/react_on_rails/pull/222)
1102
1440
  - Added [migration guide](https://www.shakacode.com/react-on-rails/docs/additional-details/migrating-from-react-rails) for migrating from React-Rails. [#219](https://github.com/shakacode/react_on_rails/pull/219)
1103
1441
  - Added [React on Rails Doctrine](https://www.shakacode.com/react-on-rails/docs/misc/doctrine) to docs. Discusses the project's motivations, conventions, and principles. [#220](https://github.com/shakacode/react_on_rails/pull/220)
1104
1442
  - Added ability to skip `display:none` style in the generated content tag for a component. Some developers may want to disable inline styles for security reasons. See generated config [initializer file](lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb#L27) for example on setting `skip_display_none`. [#218](https://github.com/shakacode/react_on_rails/pull/218)
1105
1443
 
1106
1444
  ##### Changed
1445
+
1107
1446
  - Changed message when running the dev (a.k.a. "express" server). [#227](https://github.com/shakacode/react_on_rails/commit/543ae70254d0c7b477e2c92af86f40746e58a431)
1108
1447
 
1109
1448
  ##### Fixed
1449
+
1110
1450
  - Fixed handling of Turbolinks. Code was checking that Turbolinks was installed when it was not yet because some setups load Turbolinks after the bundles. The changes to the code will check if Turbolinks is installed after the page loaded event fires. Code was also added to allow easy debugging of Turbolinks, which should be useful when v5 of Turbolinks is released shortly. Details of how to configure Turbolinks with troubleshooting were added to `docs` directory. [#221](https://github.com/shakacode/react_on_rails/pull/221)
1111
1451
  - Fixed issue with already initialized constant warning appearing when starting a Rails server [#226](https://github.com/shakacode/react_on_rails/pull/226)
1112
1452
  - Fixed to make backwards compatible with Ruby v2.0 and updated all Ruby and Node dependencies.
@@ -1114,21 +1454,27 @@ RSpec.configure do |config|
1114
1454
  ---
1115
1455
 
1116
1456
  ## [2.0.2]
1457
+
1117
1458
  - Added better messages after generator runs. [#210](https://github.com/shakacode/react_on_rails/pull/210)
1118
1459
 
1119
1460
  ## [2.0.1]
1461
+
1120
1462
  - Fixed bug with version matching between gem and npm package.
1121
1463
 
1122
1464
  ## [2.0.0]
1465
+
1123
1466
  - Move JavaScript part of react_on_rails to npm package 'react-on-rails'.
1124
1467
  - Converted JavaScript code to ES6! with tests!
1125
1468
  - No global namespace pollution. ReactOnRails is the only global added.
1126
1469
  - New API. Instead of placing React components on the global namespace, you instead call ReactOnRails.register, passing an object where keys are the names of your components:
1470
+
1127
1471
  ```
1128
1472
  import ReactOnRails from 'react-on-rails';
1129
1473
  ReactOnRails.register({name: component});
1130
1474
  ```
1475
+
1131
1476
  Best done with Object destructing:
1477
+
1132
1478
  ```
1133
1479
  import ReactOnRails from 'react-on-rails';
1134
1480
  ReactOnRails.register(
@@ -1138,26 +1484,35 @@ Best done with Object destructing:
1138
1484
  }
1139
1485
  );
1140
1486
  ```
1141
- Previously, you used
1142
- ```
1143
- window.Component1 = Component1;
1144
- window.Component2 = Component2;
1145
- ```
1146
- This would pollute the global namespace. See details in the README.md for more information.
1487
+
1488
+ Previously, you used
1489
+
1490
+ ```
1491
+ window.Component1 = Component1;
1492
+ window.Component2 = Component2;
1493
+ ```
1494
+
1495
+ This would pollute the global namespace. See details in the README.md for more information.
1496
+
1147
1497
  - Your jade template for the WebpackDevServer setup should use the new API:
1498
+
1148
1499
  ```
1149
1500
  ReactOnRails.render(componentName, props, domNodeId);
1150
1501
  ```
1151
- such as:
1502
+
1503
+ such as:
1504
+
1152
1505
  ```
1153
1506
  ReactOnRails.render("HelloWorldApp", {name: "Stranger"}, 'app');
1154
1507
  ```
1508
+
1155
1509
  - All npm dependency libraries updated. Most notable is going to Babel 6.
1156
- - Dropped support for react 0.13.
1510
+ - Dropped support for React 0.13.
1157
1511
  - JS Linter uses ShakaCode JavaScript style: https://github.com/shakacode/style-guide-javascript
1158
- - Generators account these differences.
1512
+ - Generators account for these differences.
1159
1513
 
1160
1514
  ##### Migration Steps v1 to v2
1515
+
1161
1516
  [Example of upgrading](https://github.com/shakacode/react-webpack-rails-tutorial/commit/5b1b8698e8daf0f0b94e987740bc85ee237ef608)
1162
1517
 
1163
1518
  1. Update the `react_on_rails` gem.
@@ -1173,7 +1528,9 @@ Best done with Object destructing:
1173
1528
  ---
1174
1529
 
1175
1530
  ## [1.2.2]
1531
+
1176
1532
  ##### Fixed
1533
+
1177
1534
  - Missing Lodash from generated package.json [#175](https://github.com/shakacode/react_on_rails/pull/175)
1178
1535
  - Rails 3.2 could not run generators [#182](https://github.com/shakacode/react_on_rails/pull/182)
1179
1536
  - Better placement of jquery_ujs dependency [#171](https://github.com/shakacode/react_on_rails/pull/171)
@@ -1181,31 +1538,39 @@ Best done with Object destructing:
1181
1538
  - Lots of better docs.
1182
1539
 
1183
1540
  ## [1.2.0]
1541
+
1184
1542
  ##### Added
1543
+
1185
1544
  - Support `--skip-bootstrap` or `-b` option for generator.
1186
1545
  - Create examples tasks to test generated example apps.
1187
1546
 
1188
1547
  ##### Fixed
1548
+
1189
1549
  - Fix non-server rendering configuration issues.
1190
1550
  - Fix application.js incorrect overwritten issue.
1191
1551
  - Fix Gemfile dependencies.
1192
1552
  - Fix several generator issues.
1193
1553
 
1194
1554
  ##### Removed
1555
+
1195
1556
  - Removed templates/client folder.
1196
1557
 
1197
1558
  ---
1198
1559
 
1199
1560
  ## [1.1.1] - 2015-11-28
1561
+
1200
1562
  ##### Added
1563
+
1201
1564
  - Support for React Router.
1202
1565
  - Error and redirect handling.
1203
1566
  - Turbolinks support.
1204
1567
 
1205
1568
  ##### Fixed
1569
+
1206
1570
  - Fix several generator-related issues.
1207
1571
 
1208
- [Unreleased]: https://github.com/shakacode/react_on_rails/compare/14.2.0...master
1572
+ [Unreleased]: https://github.com/shakacode/react_on_rails/compare/15.0.0-alpha.2...master
1573
+ [15.0.0-alpha.2]: https://github.com/shakacode/react_on_rails/compare/14.2.0...15.0.0-alpha.2
1209
1574
  [14.2.0]: https://github.com/shakacode/react_on_rails/compare/14.1.1...14.2.0
1210
1575
  [14.1.1]: https://github.com/shakacode/react_on_rails/compare/14.1.0...14.1.1
1211
1576
  [14.1.0]: https://github.com/shakacode/react_on_rails/compare/14.0.5...14.1.0