react-on-rails 12.5.2 → 12.6.0

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 (3) hide show
  1. package/CHANGELOG.md +1124 -0
  2. package/README.md +5 -4
  3. package/package.json +1 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,1124 @@
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 next version. NOTE: major versions of the npm module and the gem must be kept in sync.
3
+
4
+ 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
+ ## Need Help Migrating?
7
+ If you would like help in migrating between React on Rails versions or help with implementing server rendering, please contact [justin@shakacode.com](mailto:justin@shakacode.com) for information about our [React on Rails Pro Support Options](https://www.shakacode.com/react-on-rails-pro).
8
+
9
+ We specialize in helping companies to quickly and efficiently move from versions before 9 to current. The older versions use the Rails asset pipeline to package client assets. The current and recommended way is to use Webpack 4 for asset preparation. You may also need help migrating from the `rails/webpacker`'s Webpack configuration to a better setup ready for Server Side Rendering.
10
+
11
+ ## Contributors
12
+ 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.
13
+
14
+ ## Versions
15
+ ### [Unreleased]
16
+ Changes since last non-beta release.
17
+
18
+ *Please add entries here for your pull requests that are not yet released.*
19
+
20
+ ### [12.6.0] - 2022-01-22
21
+
22
+ ### Added
23
+ - 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).
24
+
25
+ ### [12.5.2] - 2021-12-29
26
+ ### Fixed
27
+ - 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).
28
+
29
+ ### [12.5.1] - 2021-12-27
30
+
31
+ ### Fixed
32
+ - 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).
33
+
34
+ ### [12.5.0] - 2021-12-26
35
+
36
+ #### Added
37
+ - 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).
38
+ - 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).
39
+ - Supports Rails 7.
40
+
41
+ #### Changed
42
+ - 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).
43
+ - Minimimum required Ruby is 2.7 to match lastest rails/webpacker.
44
+
45
+ ### [12.4.0] - 2021-09-22
46
+ #### Added
47
+ - ScoutAPM tracing support for server rendering [PR 1379](https://github.com/shakacode/react_on_rails/pull/1379) by [justin808](https://github.com/justin808).
48
+
49
+ - 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)!
50
+
51
+ - Ability to stop stubbing of setTimeout, setInterval, & clearTimeout conditional by setting `ReactOnRailsPro.config.include_execjs_polyfills = false` in the React on Rails Pro configuration file. Also, 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)
52
+
53
+ ### [12.3.0] - 2021-07-26
54
+ #### Added
55
+ - 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).
56
+
57
+ To configure turbo the following option can be set:
58
+ `ReactOnRails.setOptions({ turbo: true })`
59
+
60
+ ### [12.2.0] - 2021-03-25
61
+ #### Added
62
+ - Ability to configure server react rendering to throw rather than just logging the error. Useful for
63
+ React on Rails Pro Node rendering [PR 1365](https://github.com/shakacode/react_on_rails/pull/1365) by [justin808](https://github.com/justin808).
64
+
65
+ ### [12.1.0] - 2021-03-23
66
+ #### Added
67
+ - 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).
68
+
69
+ #### Fixed
70
+ - Stop setting NODE_ENV value during precompile, as it interferred 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).
71
+
72
+ ### [12.0.4] - 2020-11-14
73
+ #### Fixed
74
+ - 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).
75
+
76
+ ### [12.0.3] - 2020-09-20
77
+ #### Fixed
78
+ - Async script loading optimizes page load speed. With this fix, a bundle
79
+ can be loaded "async" and a handler function can determine when to hydrate.
80
+ 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).
81
+ [PR 1327](https://github.com/shakacode/react_on_rails/pull/1327) by [justin808](https://github.com/justin808).
82
+ Loadable-Components is supported by [React on Rails Pro](https://www.shakacode.com/react-on-rails-pro).
83
+
84
+ ### [12.0.2] - 2020-07-09
85
+ #### Fixed
86
+ - Remove dependency upon Redux for Typescript types. [PR 1323](https://github.com/shakacode/react_on_rails/pull/1323) by [justin808](https://github.com/justin808).
87
+
88
+ ### [12.0.1] - 2020-07-09
89
+ #### Fixed
90
+ - Changed invocation of webpacker:clean to use a very large number of versions so it does not acidentally delete the server-bundle.js. [PR 1306](https://github.com/shakacode/react_on_rails/pull/1306) by By [justin808](https://github.com/justin808).
91
+
92
+ ### [12.0.0] - 2020-07-08
93
+ For upgrade instructions, see [docs/guides/upgrading-react-on-rails.md](https://www.shakacode.com/react-on-rails/docs/guides/upgrading-react-on-rails).
94
+
95
+ #### Major Improvements
96
+ 1. **React Hooks Support** for top level components
97
+ 2. **Typescript bindings**
98
+ 3. **rails/webpacker** "just works" with React on Rails by default.
99
+ 4. i18n support for generating a JSON file rather than a JS file.
100
+
101
+ #### BREAKING CHANGE
102
+ In order to solve the issues regarding React Hooks compatibility, the number of parameters
103
+ for functions is used to determine if you have a generator function that will get invoked to
104
+ return a React component, or you are registering a functional React component. Alternately, you can
105
+ set JavaScript property `renderFunction` on the function for which you want to return to be
106
+ invoked to return the React component. In that case, you won't need to pass any unused params.
107
+ [PR 1268](https://github.com/shakacode/react_on_rails/pull/1268) by [justin808](https://github.com/justin808)
108
+
109
+ See [docs/guides/upgrading-react-on-rails](https://www.shakacode.com/react-on-rails/docs/guides/upgrading-react-on-rails#upgrading-to-v12)
110
+ for details.
111
+
112
+ #### Other Updates
113
+ * `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.
114
+ * Changed the precompile task to use the rails/webpacker one by default
115
+ * Updated generators to use React hooks
116
+ * Requires the use of rails/webpacker view helpers
117
+ * If the webpacker webpack config files exist, then React on Rails will not override the default
118
+ assets:precompile setup by rails/webpacker. If you are not using the rails/webpacker setup for webpack,
119
+ then be sure to remove the JS files inside of config/webpack, like `config/webpack/production.js.`
120
+ * Removed **env_javascript_include_tag** and **env_stylesheet_link_tag** as these are replaced by view helpers
121
+ from rails/webpacker
122
+ * Removal of support for old Rubies and Rails.
123
+ * Removal of config.symlink_non_digested_assets_regex as it's no longer needed with rails/webpacker.
124
+ If any business needs this, we can move the code to a separate gem.
125
+ * Added configuration option `same_bundle_for_client_and_server` with default `false` because
126
+
127
+ 1. Production applications would typically have a server bundle that differs from the client bundle
128
+ 2. This change only affects trying to use HMR with react_on_rails with rails/webpacker.
129
+
130
+ The previous behavior was to always go to the webpack-dev-server for the server bundle if the
131
+ webpack-dev-server was running _and_ the server bundle was found in the `manifest.json`.
132
+
133
+ If you are using the **same bundle for client and server rendering**, then set this configuration option
134
+ to `true`. By [justin808](https://github.com/shakacode/react_on_rails/pull/1240).
135
+
136
+ * Added support to export locales in JSON format. New option added `i18n_output_format` which allows to
137
+ specify locales format either `JSON` or `JS`. **`JSON` format is now the default.**
138
+
139
+ **Use this config setting to get the old behavior: config.i18n_output_format = 'js'**
140
+
141
+ [PR 1271](https://github.com/shakacode/react_on_rails/pull/1271) by [ashgaliyev](https://github.com/ashgaliyev).
142
+
143
+ - 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).
144
+ - 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).
145
+
146
+ ### [11.3.0] - 2019-05-24
147
+ #### Added
148
+ - Added method for retrieving any option from `render_options` [PR 1213](https://github.com/shakacode/react_on_rails/pull/1213)
149
+ by [ashgaliyev](https://github.com/ashgaliyev).
150
+
151
+ - html_options has an option for 'tag' to set the html tag name like this: `html_options: { tag: "span" }`.
152
+ [PR 1208](https://github.com/shakacode/react_on_rails/pull/1208) by [tahsin352](https://github.com/tahsin352).
153
+
154
+ ### [11.2.2] - 2018-12-24
155
+ #### Improved
156
+ - rails_context can more easily be called from controller methods. The mandatory param of server_side has been made optional.
157
+
158
+ ### [11.2.1] - 2018-12-06
159
+ ## MIGRATION for v11.2
160
+ - If using **React on Rails Pro**, upgrade react_on_rails_pro to a version >= 1.3.
161
+
162
+ #### Improved
163
+ - 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).
164
+
165
+ - 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).
166
+
167
+ #### Changed
168
+ - Changed the default for:
169
+ ```rb
170
+ config.raise_on_prerender_error = Rails.env.development?
171
+ ```
172
+
173
+ Thus, developers will need to fix server rendering errors before continuing.
174
+ [PR 1145](https://github.com/shakacode/react_on_rails/pull/1145) by [justin808](https://github.com/justin808).
175
+
176
+ ### 11.2.0 - 2018-12-06
177
+ Do not use. Unpublished. Caused by an issue with the release script.
178
+
179
+ ### [11.1.8] - 2018-10-14
180
+
181
+ #### Improved
182
+ - 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).
183
+
184
+ ### [11.1.7] - 2018-10-10
185
+ #### Fixed
186
+ - Fixed bug where intl parsing would fail when trying to parse integers or blank entries. by [sepehr500](https://github.com/sepehr500)
187
+
188
+ ### [11.1.6] - 2018-10-05
189
+ #### Fixed
190
+ - 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).
191
+
192
+ ### [11.1.5] - 2018-10-03
193
+ #### Fixed
194
+ - 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).
195
+
196
+ ### [11.1.4] - 2018-09-12
197
+
198
+ #### Fixed
199
+ - Ignore Arrays in Rails i18n yml files. [PR 1129](https://github.com/shakacode/react_on_rails/pull/1129) by [vcarel](https://github.com/vcarel).
200
+ - 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).
201
+ - Upgrade Babel version to 7 [PR 1141](https://github.com/shakacode/react_on_rails/pull/1141) by [Ryunosuke Sato](https://github.com/tricknotes).
202
+
203
+ ### [11.1.3] - 2018-08-26
204
+
205
+ #### Fixed
206
+ - 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).
207
+ - Add support for webpacker 4 prereleases. [PR 1134](https://github.com/shakacode/react_on_rails/pull/1134) by [Judahmeek](https://github.com/Judahmeek))
208
+
209
+ ### [11.1.2] - 2018-08-18
210
+
211
+ #### Fixed
212
+ - Tests now properly exit if the config.build_test_command fails!
213
+ - Source path for project using Webpacker would default to "app/javascript" even if when the node_modules
214
+ directory was set to "client". Fix now makes the configuration of this crystal clear.
215
+ - renamed method RenderOptions.has_random_dom_id? to RenderOptions.random_dom_id? for rubocop rule.
216
+ [PR 1133](https://github.com/shakacode/react_on_rails/pull/1133) by [justin808](https://github.com/justin808)
217
+
218
+ ### [11.1.1] - 2018-08-09
219
+ #### Fixed
220
+ - `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).
221
+
222
+ ### [11.1.0] - 2018-08-07
223
+ #### Added
224
+ - 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)
225
+ * Added configuration option random_dom_id
226
+ * Added method RenderOptions has_random_dom_id?
227
+ #### Fixed
228
+ - Fix invalid warn directive. [PR 1123](https://github.com/shakacode/react_on_rails/pull/1123) by [mustangostang](https://github.com/mustangostang).
229
+
230
+ ### [11.0.10] - 2018-07-22
231
+ #### Fixed
232
+ - 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).
233
+ - Properly clearing hydrated stores when server rendering. [PR 1120](https://github.com/shakacode/react_on_rails/pull/1120) by [squadette](https://github.com/squadette).
234
+
235
+ ### [11.0.9] - 2018-06-24
236
+ - 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).
237
+
238
+ ### [11.0.8] - 2018-06-15
239
+ #### Fixed
240
+ - 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).
241
+ - 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).
242
+ - Fix test helper determination of stale assets. [PR 1093](https://github.com/shakacode/react_on_rails/pull/1093) by [justin808](https://github.com/justin808).
243
+
244
+ #### Changed
245
+ - 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).
246
+
247
+ ### [11.0.7] - 2018-05-16
248
+ #### Fixed
249
+ - Fix npm publshing. [PR 1090](https://github.com/shakacode/react_on_rails/pull/1090) by [justin808](https://github.com/justin808).
250
+
251
+ ### [11.0.6] - 2018-05-15
252
+ #### Changed
253
+ - 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).
254
+
255
+ ### [11.0.5] - 2018-05-11
256
+ #### Changed
257
+ - More detailed errors for Honeybadger and Sentry. [PR 1081](https://github.com/shakacode/react_on_rails/pull/1081) by [justin808](https://github.com/justin808).
258
+
259
+ ### [11.0.4] - 2018-05-3
260
+
261
+ #### Changed
262
+ - 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
263
+ - Fix the setup for tests for spec/dummy so they automatically rebuild by correctly setting the source_path in the webpacker.yml
264
+ - Updated documentation for the testing setup.
265
+ - Above in [PR 1072](https://github.com/shakacode/react_on_rails/pull/1072) by [justin808](https://github.com/justin808).
266
+ - `react_component_hash` has implicit `prerender: true` because it makes no sense to have react_component_hash not use prerrender. Improved docs on `react_component_hash`. Also, fixed issue where checking gem existence. [PR 1077](https://github.com/shakacode/react_on_rails/pull/1077) by [justin808](https://github.com/justin808).
267
+
268
+ ### [11.0.3] - 2018-04-24
269
+
270
+ #### Fixed
271
+ - 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).
272
+
273
+ ### [11.0.2] - 2018-04-24
274
+
275
+ #### Fixed
276
+ - 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).
277
+
278
+ ### [11.0.1] - 2018-04-23
279
+
280
+ #### Added
281
+ - `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).
282
+
283
+ #### Fixed
284
+ - Missing class when throwing some error messages. [PR 1068](https://github.com/shakacode/react_on_rails/pull/1068) by [justin808](https://github.com/justin808).
285
+
286
+ ### [11.0.0] - 2018-04-21
287
+
288
+ ## MIGRATION for v11
289
+ - 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.
290
+ - 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".
291
+ - Removed ENV["TRACE_REACT_ON_RAILS"] usage and replacing it with config.trace.
292
+
293
+ #### Enhancements: Better Error Messages, Support for React on Rails Pro
294
+ - Tracing (debugging) options are simplified with a single `config.trace` setting that defaults to true for development and false otherwise.
295
+ - 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.
296
+ - Errors raised are of type ReactOnRailsError, so you can see they came from React on Rails for debugging.
297
+ - Removed ReactOnRails::Utils.server_bundle_file_name and ReactOnRails::Utils.bundle_file_name.
298
+ - No longer logging the `railsContext` when server logging.
299
+ - Rails.env is provided in the default railsContext, as suggested in [issue #697](https://github.com/shakacode/react_on_rails/issues/697).
300
+ [PR 1065](https://github.com/shakacode/react_on_rails/pull/1065) by [justin808](https://github.com/justin808).
301
+
302
+ #### Fixes
303
+ - More exact version checking. We keep the react_on_rails gem and the react-on-rails node package at
304
+ the same exact versions so that we can be sure that the interaction between them is precise.
305
+ This is so that if a bug is detected after some update, it's critical that
306
+ both the gem and the node package get the updates. This change ensures that the package.json specification does not use a
307
+ ~ 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).
308
+ - 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).
309
+
310
+ ### [10.1.4] - 2018-04-11
311
+
312
+ #### Fixed
313
+ - 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).
314
+
315
+ - 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).
316
+
317
+ - 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).
318
+
319
+ ### [10.1.3] - 2018-02-28
320
+ #### Fixed
321
+ - 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).
322
+
323
+ ### [10.1.2] - 2018-02-27
324
+ #### Fixed
325
+ - 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).
326
+
327
+ ### [10.1.1] - 2018-01-26
328
+ #### Fixed
329
+ - Fixed issue with server-rendering error handler: [PR 1020](https://github.com/shakacode/react_on_rails/pull/1020) by [jblasco3](https://github.com/jblasco3).
330
+
331
+ ### [10.1.0] - 2018-01-23
332
+ #### Added
333
+ - Added 2 cache helpers: ReactOnRails::Utils.bundle_file_name(bundle_name) and ReactOnRails::Utils.server_bundle_file_name
334
+ 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).
335
+
336
+ #### Fixed
337
+ - 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).
338
+ - 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)
339
+
340
+ ### [10.0.2] - 2017-11-10
341
+ #### Fixed
342
+ - Remove unnecessary dependencies from released NPM package: [PR 968](https://github.com/shakacode/react_on_rails/pull/968) by [tricknotes](https://github.com/tricknotes).
343
+
344
+ ### [10.0.1] - 2017-10-28
345
+ #### Fixed
346
+ - 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).
347
+ - 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).
348
+ - 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).
349
+ - Fixed mistake in rubocop comments that led to errors when handling exceptions in ReactOnRails::ServerRendering::Exec [PR 963](https://github.com/shakacode/react_on_rails/pull/963) by [railsme](https://github.com/railsme).
350
+ - Fixed and improved I18n directories checks: [PR 967](https://github.com/shakacode/react_on_rails/pull/967) by [railsme](https://github.com/railsme)
351
+
352
+ ### [10.0.0] - 2017-10-08
353
+ #### Created
354
+ - Created `react_component_hash` method for react_helmet support.
355
+ #### Deprecated
356
+ - Deprecated `react_component` functionality for react_helmet support.
357
+ To clarify, the method itself is not deprecated, only certain functionality which has been moved to `react_component_hash`
358
+ [PR 951](https://github.com/shakacode/react_on_rails/pull/951) by [Judahmeek](https://github.com/Judahmeek).
359
+
360
+ ### [9.0.3] - 2017-09-20
361
+ #### Improved
362
+ - Improved comments in generated Procfile.dev-server. [PR 940](https://github.com/shakacode/react_on_rails/pull/940) by [justin808](https://github.com/justin808).
363
+
364
+ ### [9.0.2] - 2017-09-10
365
+ #### Fixed
366
+ - Improved post install doc comments for generator. [PR 933](https://github.com/shakacode/react_on_rails/pull/933) by [justin808](https://github.com/justin808).
367
+
368
+ ### [9.0.1] - 2017-09-10
369
+
370
+ #### Fixed
371
+ - Fixes Rails 3.2 compatability issues. [PR 926](https://github.com/shakacode/react_on_rails/pull/926) by [morozovm](https://github.com/morozovm).
372
+
373
+ ### [9.0.0] - 2017-09-06
374
+ 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).
375
+
376
+
377
+ #### 9.0 from 8.x. Upgrade Instructions
378
+ Moved to [our documentation](https://www.shakacode.com/react-on-rails/docs/guides/upgrading-react-on-rails#upgrading-to-version-9).
379
+
380
+ ### [8.0.7] - 2017-08-16
381
+ #### Fixed
382
+ - 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).
383
+
384
+ ### [8.0.6] - 2017-07-19
385
+ #### Fixed
386
+ - 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.
387
+ - 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)
388
+ - 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).
389
+
390
+ ## [8.0.5] - 2017-07-04
391
+ ### fixed
392
+ - 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).
393
+ - Remove contentBase deprecation warning message. [#878](https://github.com/shakacode/react_on_rails/pull/878) by [ened ](https://github.com/ened).
394
+ - 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).
395
+ - All tests run against Rails 5.1.2
396
+
397
+ *Note: 8.0.4 skipped.*
398
+
399
+ ## [8.0.3] - 2017-06-19
400
+ ### Fixed
401
+ - 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)
402
+
403
+ ## [8.0.2] - 2017-06-04
404
+ ### Fixed
405
+ - Any failure in webpack to build test files quits tests.
406
+ - Fixed a Ruby 2.4 potential crash which could cause a crash due to pathname change in Ruby 2.4.
407
+ - CI Improvements:
408
+ - Switched to yarn link and removed relative path install of react-on-rails
409
+ - Removed testing of Turbolinks 2
410
+ - All tests run against Rails 5.1.1
411
+ - Fixed test failures against Ruby 2.4
412
+ - [#862](https://github.com/shakacode/react_on_rails/pull/862) by [justin808](https://github.com/justin808)
413
+
414
+ ## [8.0.1] - 2017-05-30
415
+ ### Fixed
416
+ - Generator no longer modifies `assets.rb`. [#859](https://github.com/shakacode/react_on_rails/pull/859) by [justin808](https://github.com/justin808)
417
+
418
+ ## [8.0.0] - 2017-05-29
419
+ - Generators and full support for [webpacker_lite](https://github.com/shakacode/webpacker_lite)
420
+ - 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`:
421
+ ```
422
+ symlink_non_digested_assets_regex: /\.(png|jpg|jpeg|gif|tiff|woff|ttf|eot|svg|map)/,
423
+ ```
424
+ - For an example of migration, see: [react-webpack-rails-tutorial PR #395](https://github.com/shakacode/react-webpack-rails-tutorial/pull/395)
425
+ - For a simple example of the webpacker_lite setup, run the basic generator.
426
+
427
+ ## [8.0.0-beta.3] - 2017-05-27
428
+ ### Changed
429
+ - 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)
430
+ - 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)
431
+
432
+ ## [8.0.0-beta.2] - 2017-05-08
433
+
434
+ ### Changed
435
+ 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).
436
+
437
+ ## [8.0.0-beta.1] - 2017-05-03
438
+
439
+ ### Added
440
+ 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).
441
+
442
+ ### Changed
443
+ Breaking change is that the default value of symlink_non_digested_assets_regex has changed from this
444
+ old value to nil. This is a breaking change if you didn't have this value set in your
445
+ config/initializers/react_on_rails.rb file and you need this because you're using webpack's CSS
446
+ features and you have not switched to webpacker lite.
447
+
448
+ ```
449
+ symlink_non_digested_assets_regex: /\.(png|jpg|jpeg|gif|tiff|woff|ttf|eot|svg|map)/,
450
+ ```
451
+
452
+ ## [7.0.4] - 2017-04-27
453
+ - 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)
454
+
455
+ ## [7.0.3] - 2017-04-27
456
+ Same as 7.0.1.
457
+
458
+ ## 7.0.2 - 2017-04-27
459
+ *Accidental release of beta gem here*
460
+
461
+ ## [7.0.1] - 2017-04-27
462
+ ### Fixed
463
+ - 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)
464
+
465
+ ## [7.0.0] - 2017-04-25
466
+ ### Changed
467
+ - 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)
468
+
469
+ ### Fixed
470
+ - 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)
471
+
472
+ ## [6.10.1] - 2017-04-23
473
+ ### Fixed
474
+ - 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).
475
+
476
+ ## [6.10.0] - 2017-04-13
477
+
478
+ ### Added
479
+ - 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).
480
+
481
+ ### Fixed
482
+ - 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).
483
+
484
+ ## [6.9.3] - 2017-04-03
485
+
486
+ ### Fixed
487
+ - 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).
488
+
489
+ ## [6.9.2] - 2017-04-02
490
+
491
+ ### Changed
492
+ - 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).
493
+
494
+ ### Fixed
495
+ - Remove pretty formatting of JSON in development. [#789](https://github.com/shakacode/react_on_rails/pull/789) by [justin808](https://github.com/justin808)
496
+ - Clear hydrated stores with each server rendered block. [#785](https://github.com/shakacode/react_on_rails/pull/785) by [udovenko](https://github.com/udovenko)
497
+
498
+ ## [6.9.1] - 2017-03-30
499
+
500
+ ### Fixed
501
+ - Fixes Crash in Development for String Props. [#784](https://github.com/shakacode/react_on_rails/issues/784) by [justin808](https://github.com/justin808).
502
+
503
+ ## [6.9.0] - 2017-03-29
504
+
505
+ ### Fixed
506
+ - Fixed error in the release script. [#767](https://github.com/shakacode/react_on_rails/issues/767) by [isolo](https://github.com/isolo).
507
+
508
+ ### Changed
509
+ - 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).
510
+
511
+ ### Added
512
+ - 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.
513
+ [#777](https://github.com/shakacode/react_on_rails/pull/777) by [danijel](https://github.com/danijel).
514
+
515
+ ## [6.8.2] - 2017-03-24
516
+ ### Fixed
517
+ - 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).
518
+
519
+ ## [6.8.1] - 2017-03-21
520
+ ### Fixed
521
+ - 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).
522
+
523
+ ## [6.8.0] - 2017-03-06
524
+ ## Added
525
+ - 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).
526
+
527
+ ## [6.7.2] - 2017-03-05
528
+ ### Improved
529
+ - 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).
530
+
531
+ ## [6.7.1] - 2017-02-28
532
+ No changes other than a test fix.
533
+
534
+ ## [6.7.0] - 2017-02-28
535
+
536
+ ### IMPORTANT
537
+ - 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:
538
+
539
+ ```
540
+ Errno::ENOENT: No such file or directory @ rb_sysopen - /tmp/build_1444a5bb9dd16ddb2561c7aff40f0fc7/my-app-816d31e9896edd90cecf1402acd002c724269333/client/app/libs/i18n/translations.js
541
+ ```
542
+
543
+ Commenting out this line addresses the issue:
544
+
545
+ ```
546
+ config.i18n_dir = Rails.root.join("client", "app", "libs", "i18n")
547
+ ```
548
+
549
+ ### Added
550
+ - 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).
551
+
552
+ ### Fixed
553
+ - 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).
554
+ - Fix spec failing due to duplicate component. [#734](https://github.com/shakacode/react_on_rails/pull/734) by [hrishimittal](https://github.com/hrishimittal).
555
+
556
+ ## [6.6.0] - 2017-02-18
557
+ ### Added
558
+ - Switched to yarn! [#715](https://github.com/shakacode/react_on_rails/pull/715) by [squadette](https://github.com/squadette).
559
+
560
+ ## [6.5.1] - 2017-02-11
561
+ ### Fixed
562
+ - Allow using gem without sprockets. [#671](https://github.com/shakacode/react_on_rails/pull/671) by [fc-arny](https://github.com/fc-arny).
563
+ - 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).
564
+ - Small formatting fix for errors [#703](https://github.com/shakacode/react_on_rails/pull/703) by [justin808](https://github.com/justin808).
565
+
566
+ ## [6.5.0] - 2017-01-31
567
+ ### Added
568
+ - 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).
569
+
570
+ ### Fixed
571
+ - Fix incorrect "this" references of Node.js SSR [#690](https://github.com/shakacode/react_on_rails/issues/689) by [nostophilia](https://github.com/nostophilia).
572
+
573
+ ## [6.4.2] - 2017-01-17
574
+ ### Fixed
575
+ - 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).
576
+
577
+ ## [6.4.1] - 2017-1-17
578
+ No changes.
579
+
580
+ ## [6.4.0] - 2017-1-12
581
+
582
+ ### Possible Breaking Change
583
+ - 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.
584
+
585
+ ### Fixed
586
+ - Removed foreman as a dependency. [#678](https://github.com/shakacode/react_on_rails/pull/678) by [x2es](https://github.com/x2es).
587
+
588
+ ### Added
589
+ - 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).
590
+
591
+ ## [6.3.5] - 2017-1-6
592
+ ### Fixed
593
+ - 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).
594
+
595
+ ## [6.3.4] - 2016-12-25
596
+ ##### Fixed
597
+ - Disable Turbolinks support when not supported. [#650](https://github.com/shakacode/react_on_rails/pull/650) by [ka2n](https://github.com/ka2n).
598
+
599
+ ## [6.3.3] - 2016-12-25
600
+ ##### Fixed
601
+ - 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).
602
+ - Added support for Ruby 2.0 [#651](https://github.com/shakacode/react_on_rails/pull/651) by [bbonamin](https://github.com/bbonamin).
603
+
604
+ ## [6.3.2] - 2016-12-5
605
+ ##### Fixed
606
+ - 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).
607
+ - "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)
608
+ - 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).
609
+
610
+ ## [6.3.1] - 2016-11-30
611
+ ##### Changed
612
+ - Improved generator post-install help messages. [#631](https://github.com/shakacode/react_on_rails/pull/631) by [justin808](https://github.com/justin808).
613
+
614
+ ## [6.3.0] - 2016-11-30
615
+ ##### Changed
616
+ - 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).
617
+
618
+ - Updated Basic Generator & Linters. Examples are simpler. [#624](https://github.com/shakacode/react_on_rails/pull/624) by [Judahmeek](https://github.com/Judahmeek).
619
+
620
+ - Slight improvement to the 'no hydrated stores' error. [#605](https://github.com/shakacode/react_on_rails/pull/605) by [cookiefission](https://github.com/cookiefission).
621
+
622
+ - Don't assume ActionMailer is available. [#608](https://github.com/shakacode/react_on_rails/pull/608) by [tuzz](https://github.com/tuzz).
623
+
624
+ ## [6.2.1] - 2016-11-19
625
+ - Removed unnecesary 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)
626
+
627
+ - 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).
628
+
629
+ ## [6.2.0] - 2016-11-19
630
+ ##### Changed
631
+ - 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).
632
+
633
+ ## [6.1.2] - 2016-10-24
634
+ ##### Fixed
635
+ - 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).
636
+
637
+ ## [6.1.1] - 2016-09-09
638
+ ##### Fixed
639
+ - 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).
640
+
641
+ ## [6.1.0] - 2016-08-21
642
+
643
+ ##### Added
644
+ - 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).
645
+ - 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).
646
+ - 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).
647
+ - 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).
648
+
649
+ ##### Fixed
650
+ - 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).
651
+ - Fixed assets symlinking to correctly use filenames with spaces. Begining 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).
652
+ - 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)
653
+
654
+ ## [6.0.5] - 2016-07-11
655
+ ##### Added
656
+ - Added better error messages to avoid issues with shared redux stores [#470](https://github.com/shakacode/react_on_rails/pull/470) by by [justin808](https://github.com/justin808).
657
+
658
+ ## [6.0.4] - 2016-06-13
659
+ ##### Fixed
660
+ - 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)
661
+
662
+ ## [6.0.3] - 2016-06-07
663
+ ##### Fixed
664
+ - 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).
665
+
666
+ ## [6.0.2] - 2016-06-06
667
+ ##### Fixed
668
+ - Fix colisions in ids of DOM nodes generated by `react_component` by indexing in using an UUID rather than an auto-increment value. This means that it should be overriden 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).
669
+
670
+ ## [6.0.1] - 2016-05-27
671
+ ##### Fixed
672
+ - 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).
673
+
674
+ ## [6.0.0] - 2016-05-25
675
+ ##### Breaking Changes
676
+ - 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.
677
+ [#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).
678
+ - **Migration to v6**
679
+ - Do not run the generator again if you've already run it.
680
+
681
+ - 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.
682
+
683
+ - To configure the asset compliation you can either
684
+ 1. Specify a `config/react_on_rails` setting for `build_production_command` to be nil to turn this feature off.
685
+ 2. Specify the script command you want to run to build your production assets, and remove your assets.rake file.
686
+
687
+ - If you are using the ReactOnRails test helper, then you will need to add the 'config.npm_build_test_command' to your config to tell react_on_rails what command to run when you run rspec.
688
+
689
+ - 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.
690
+
691
+ Here is the addition to the generated config file:
692
+ ```ruby
693
+ # This configures the script to run to build the production assets by webpack. Set this to nil
694
+ # if you don't want react_on_rails building this file for you.
695
+ config.build_production_command = "npm run build:production"
696
+
697
+ # If you are using the ReactOnRails::TestHelper.configure_rspec_to_compile_assets(config)
698
+ # with rspec then this controls what npm command is run
699
+ # to automatically refresh your webpack assets on every test run.
700
+ config.npm_build_test_command = "npm run build:test"
701
+ ```
702
+
703
+ ##### Fixed
704
+ - 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)
705
+ - 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)
706
+
707
+ ##### Added
708
+ - 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).
709
+ - 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).
710
+ - 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).
711
+ - 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).
712
+
713
+ ##### Changed
714
+ - [#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:
715
+ - Only one webpack config is generated for server and client config. Package.json files were changed to reflect this.
716
+ - Added npm_build_test_command to allow developers to change what npm command is automatically run from rspec.
717
+ - Replace URI with Addressable gem. See [#405](https://github.com/shakacode/react_on_rails/pull/405) by [lucke84](https://github.com/lucke84)
718
+
719
+ ##### Removed
720
+ - [#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:
721
+ - Server rendering is no longer an option in the generator and is always accessible.
722
+ - Removed lodash, jquery, and loggerMiddleware from the generated code.
723
+ - Removed webpack watch check for test helper automatic compilation.
724
+
725
+ ## [5.2.0] - 2016-04-08
726
+ ##### Added
727
+ - 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).
728
+ - 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)
729
+
730
+ ##### Removed
731
+ - Generator removals to simplify installer. See [#364](https://github.com/shakacode/react_on_rails/pull/364) by [jbhatab](https://github.com/jbhatab).
732
+ - Removed options for heroku, boostrap, and the linters from generator.
733
+ - 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.
734
+ - Documentation added for removed installer options.
735
+
736
+ ## [5.1.1] - 2016-04-04
737
+ ##### Fixed
738
+ - 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)
739
+
740
+ ##### Added
741
+ - railsContext includes the port number and a boolean if the code is being run on the server or client.
742
+
743
+ ## [5.1.0] - 2016-04-03
744
+ ##### Added
745
+ 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).
746
+ - Generator enhancements
747
+ - Generator adds line to spec/rails_helper.rb so that running specs will ensure assets are compiled.
748
+ - Other small changes to the generator including adding necessary npm scripts to allow React on Rails to build assets.
749
+ - Npm modules updated for generator.
750
+ - Added babel-runtime in to the client/package.json created.
751
+ - Server rendering
752
+ - Added more diagnostics for server rendering.
753
+ - Calls to setTimeout and setInterval are not logged for server rendering unless env TRACE_REACT_ON_RAILS is set to YES.
754
+ - Updated all project npm dependencies to latest.
755
+ - Update to node 5.10.0 for CI.
756
+ - Added babel-runtime as a peer dependency for the npm module.
757
+
758
+ ## [5.0.0] - 2016-04-01
759
+
760
+ ##### Added
761
+ - 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)
762
+
763
+ ##### Changed
764
+ - 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.
765
+
766
+ ##### Breaking Changes
767
+ - 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).
768
+
769
+ ## [4.0.3] - 2016-03-17
770
+
771
+ ##### Fixed
772
+ - `ReactOnRailsHelper#react_component`: Invalid deprecation message when called with only one paramter, the component name.
773
+
774
+ ## [4.0.2] - 2016-03-17
775
+
776
+ ##### Fixed
777
+ - `ReactOnRails::Controller#redux_store`: 2nd parameter changed to a named parameter `props` for consistency.
778
+
779
+ ## [4.0.1] - 2016-03-16
780
+
781
+ ##### Fixed
782
+ - 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.
783
+
784
+ ## [4.0.0] - 2016-03-14
785
+
786
+ ##### Added
787
+ - [spec/dummy](spec/dummy) is a full sample app of React on Rails techniques **including** the hot reloading of assets from Rails!
788
+ - 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)
789
+ - Added optional parameter for ReactOnRails.getStore(name, throwIfMissing = true) so that you can check if a store is defined easily.
790
+ - Added controller `module ReactOnRails::Controller`. Adds method `redux_store` to setup redux stores in the view.
791
+ - 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.
792
+ - 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.
793
+ - The checker for outdated bundles before running tests will two configuration options: `generated_assets_dir` and `webpack_generated_files`.
794
+ - Better support for Turbolinks 5!
795
+ - 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).
796
+ - Added several parameters used for ensuring webpack assets are built for running tests:
797
+ - `config.generated_assets_dir`: Directory where your generated webpack assets go. You can have only **one** directory for this.
798
+ - `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.
799
+
800
+ ##### Changed
801
+ - Generator default for webpack generated assets is now `app/assets/webpack` as we use this for both JavaScript and CSS generated assets.
802
+
803
+ ##### Fixed
804
+ - The test runner "assets up to date checker" is greatly improved.
805
+ - Lots of doc updates!
806
+ - 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.
807
+
808
+ ##### Breaking Changes
809
+ - 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.
810
+ - `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`.
811
+ - `config.generated_assets_dirs` has been renamed to `config.generated_assets_dir` (singular) and it only takes one directory.
812
+
813
+ ## [3.0.6] - 2016-03-01
814
+ ##### Fixed
815
+ - 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).
816
+
817
+ ## [3.0.5] - 2016-02-26
818
+ ##### Fixed
819
+ - 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).
820
+
821
+ ## [3.0.4] - 2016-02-25
822
+ ##### Fixed
823
+ - Updated CHANGELOG.md to include contributors for each PR.
824
+ - 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).
825
+
826
+ ## [3.0.3] - 2016-02-21
827
+ ##### Fixed
828
+ - Cleaned up code in `spec/dummy` to latest React and Redux APIs. See [#282](https://github.com/shakacode/react_on_rails/pull/282).
829
+ - Update generator messages with helpful information. See [#279](https://github.com/shakacode/react_on_rails/pull/279).
830
+ - Other small generated comment fixes and doc fixes.
831
+
832
+ ## [3.0.2] - 2016-02-15
833
+ ##### Fixed
834
+ - Fixed missing information in the helpful message after running the base install generator regarding how to run the node server with hot reloading support.
835
+
836
+ ## [3.0.1] - 2016-02-15
837
+ ##### Fixed
838
+ - Fixed several jscs linter issues.
839
+
840
+ ## [3.0.0] - 2016-02-15
841
+ ##### Fixed
842
+ - Fix Bootstrap Sass Append to Gemfile, missing new line. [#262](https://github.com/shakacode/react_on_rails/pull/262).
843
+
844
+ ##### Added
845
+ - 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.
846
+ - Added forman to gemspec in case new dev does not have it globally installed. [#248](https://github.com/shakacode/react_on_rails/pull/248).
847
+ - Support for Turbolinks 5! [#270](https://github.com/shakacode/react_on_rails/pull/270).
848
+ - Added better error messages for `ReactOnRails.register()`. [#273](https://github.com/shakacode/react_on_rails/pull/273).
849
+
850
+ ##### Breaking Change
851
+ - Calls to `react_component` should use a named argument of props. For example, change this:
852
+ ```ruby
853
+ <%= react_component("ReduxSharedStoreApp", {}, prerender: false, trace: true) %>
854
+ ```
855
+
856
+ to
857
+ ```ruby
858
+ <%= react_component("ReduxSharedStoreApp", props: {}, prerender: false, trace: true) %>
859
+ ```
860
+ You'll get a deprecation message to change this.
861
+ - 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).
862
+ - 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).
863
+
864
+ ##### Migration Steps v2 to v3
865
+ - 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`:
866
+ ```ruby
867
+ RSpec.configure do |config|
868
+ # Ensure that if we are running js tests, we are using latest webpack assets
869
+ ReactOnRails::TestHelper.configure_rspec_to_compile_assets(config)
870
+ ```
871
+ - 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).
872
+
873
+ ## [2.3.0] - 2016-02-01
874
+ ##### Added
875
+ - Added polyfills for `setInterval` and `setTimeout` in case other libraries expect these to exist.
876
+ - Added much improved debugging for errors in the server JavaScript webpack file.
877
+ - See [#244](https://github.com/shakacode/react_on_rails/pull/244/) for these improvements.
878
+
879
+ ## [2.2.0] - 2016-01-29
880
+ ##### Added
881
+ - 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).
882
+
883
+ ## [2.1.1] - 2016-01-28
884
+
885
+ ##### Fixed
886
+ - Fixed regression where apps that were not using Turbolinks would not render components on page load.
887
+
888
+ ##### Added
889
+ - `ReactOnRails.render` returns a virtualDomElement Reference to your React component's backing instance. See [#234](https://github.com/shakacode/react_on_rails/pull/234).
890
+ - `debug_turbolinks` helper for debugging turbolinks issues. See [turbolinks](https://www.shakacode.com/react-on-rails/docs/rails/turbolinks).
891
+ - Enhanced regression testing for non-turbolinks apps. Runs all tests for dummy app with turbolinks both disabled and enabled.
892
+
893
+ ## [2.1.0] - 2016-01-26
894
+ ##### Added
895
+ - 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)
896
+ - 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)
897
+ - 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)
898
+ - 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)
899
+
900
+ ##### Changed
901
+ - Changed message when running the dev (a.k.a. "express" server). [#227](https://github.com/shakacode/react_on_rails/commit/543ae70254d0c7b477e2c92af86f40746e58a431)
902
+
903
+ ##### Fixed
904
+ - 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)
905
+ - Fixed issue with already initialized constant warning appearing when starting a Rails server [#226](https://github.com/shakacode/react_on_rails/pull/226)
906
+ - Fixed to make backwards compatible with Ruby v2.0 and updated all Ruby and Node dependencies.
907
+
908
+ ---
909
+
910
+ ## [2.0.2]
911
+ - Added better messages after generator runs. [#210](https://github.com/shakacode/react_on_rails/pull/210)
912
+
913
+ ## [2.0.1]
914
+ - Fixed bug with version matching between gem and npm package.
915
+
916
+ ## [2.0.0]
917
+ - Move JavaScript part of react_on_rails to npm package 'react-on-rails'.
918
+ - Converted JavaScript code to ES6! with tests!
919
+ - No global namespace pollution. ReactOnRails is the only global added.
920
+ - 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:
921
+ ```
922
+ import ReactOnRails from 'react-on-rails';
923
+ ReactOnRails.register({name: component});
924
+ ```
925
+ Best done with Object destructing:
926
+ ```
927
+ import ReactOnRails from 'react-on-rails';
928
+ ReactOnRails.register(
929
+ {
930
+ Component1,
931
+ Component2
932
+ }
933
+ );
934
+ ```
935
+ Previously, you used
936
+ ```
937
+ window.Component1 = Component1;
938
+ window.Component2 = Component2;
939
+ ```
940
+ This would pollute the global namespace. See details in the README.md for more information.
941
+ - Your jade template for the WebpackDevServer setup should use the new API:
942
+ ```
943
+ ReactOnRails.render(componentName, props, domNodeId);
944
+ ```
945
+ such as:
946
+ ```
947
+ ReactOnRails.render("HelloWorldApp", {name: "Stranger"}, 'app');
948
+ ```
949
+ - All npm dependency libraries updated. Most notable is going to Babel 6.
950
+ - Dropped support for react 0.13.
951
+ - JS Linter uses ShakaCode JavaScript style: https://github.com/shakacode/style-guide-javascript
952
+ - Generators account these differences.
953
+
954
+ ##### Migration Steps v1 to v2
955
+ [Example of upgrading](https://github.com/shakacode/react-webpack-rails-tutorial/commit/5b1b8698e8daf0f0b94e987740bc85ee237ef608)
956
+
957
+ 1. Update the `react_on_rails` gem.
958
+ 2. Remove `//= require react_on_rails` from any files such as `app/assets/javascripts/application.js`. This file comes from npm now.
959
+ 3. Search you app for 'generator_function' and remove lines in layouts and rb files that contain it. Determination of a generator function is handled automatically.
960
+ 4. Find your files where you registered client and server globals, and use the new ReactOnRails.register syntax. Optionally rename the files `clientRegistration.jsx` and `serverRegistration.jsx` rather than `Globals`.
961
+ 5. Update your index.jade to use the new API `ReactOnRails.render("MyApp", !{props}, 'app');`
962
+ 6. Update your webpack files per the example commit. Remove globally exposing React and ReactDom, as well as their inclusion in the `entry` section. These are automatically included now.
963
+ 7. Run `cd client && npm i --save react-on-rails` to get react-on-rails into your `client/package.json`.
964
+ 8. You should also update any other dependencies if possible to match up with the [react-webpack-rails-tutorial](https://github.com/shakacode/react-webpack-rails-tutorial/). This includes updating to Babel 6.
965
+ 9. If you want to stick with Babel 5 for a bit, see [Issue #238](https://github.com/shakacode/react_on_rails/issues/238).
966
+
967
+ ---
968
+
969
+ ## [1.2.2]
970
+ ##### Fixed
971
+ - Missing Lodash from generated package.json [#175](https://github.com/shakacode/react_on_rails/pull/175)
972
+ - Rails 3.2 could not run generators [#182](https://github.com/shakacode/react_on_rails/pull/182)
973
+ - Better placement of jquery_ujs dependency [#171](https://github.com/shakacode/react_on_rails/pull/171)
974
+ - Add more detailed description when adding --help option to generator [#161](https://github.com/shakacode/react_on_rails/pull/161)
975
+ - Lots of better docs.
976
+
977
+ ## [1.2.0]
978
+ ##### Added
979
+ - Support `--skip-bootstrap` or `-b` option for generator.
980
+ - Create examples tasks to test generated example apps.
981
+
982
+ ##### Fixed
983
+ - Fix non-server rendering configuration issues.
984
+ - Fix application.js incorrect overwritten issue.
985
+ - Fix Gemfile dependencies.
986
+ - Fix several generator issues.
987
+
988
+ ##### Removed
989
+ - Removed templates/client folder.
990
+
991
+ ---
992
+
993
+ ## [1.1.1] - 2015-11-28
994
+ ##### Added
995
+ - Support for React Router.
996
+ - Error and redirect handling.
997
+ - Turbolinks support.
998
+
999
+ ##### Fixed
1000
+ - Fix several generator related issues.
1001
+
1002
+ [Unreleased]: https://github.com/shakacode/react_on_rails/compare/12.6.0...master
1003
+ [12.6.0]: https://github.com/shakacode/react_on_rails/compare/12.5.2...12.6.0
1004
+ [12.5.2]: https://github.com/shakacode/react_on_rails/compare/12.5.1...12.5.2
1005
+ [12.5.1]: https://github.com/shakacode/react_on_rails/compare/12.5.0...12.5.1
1006
+ [12.5.0]: https://github.com/shakacode/react_on_rails/compare/12.4.0...12.5.0
1007
+ [12.4.0]: https://github.com/shakacode/react_on_rails/compare/12.3.0...12.4.0
1008
+ [12.3.0]: https://github.com/shakacode/react_on_rails/compare/12.2.0...12.3.0
1009
+ [12.2.0]: https://github.com/shakacode/react_on_rails/compare/12.1.0...12.2.0
1010
+ [12.1.0]: https://github.com/shakacode/react_on_rails/compare/12.0.4...12.1.0
1011
+ [12.0.4]: https://github.com/shakacode/react_on_rails/compare/12.0.3...12.0.4
1012
+ [12.0.3]: https://github.com/shakacode/react_on_rails/compare/12.0.2...12.0.3
1013
+ [12.0.2]: https://github.com/shakacode/react_on_rails/compare/12.0.1...12.0.2
1014
+ [12.0.1]: https://github.com/shakacode/react_on_rails/compare/12.0.0...12.0.1
1015
+ [12.0.0]: https://github.com/shakacode/react_on_rails/compare/11.3.0...12.0.0
1016
+ [11.3.0]: https://github.com/shakacode/react_on_rails/compare/11.2.2...11.3.0
1017
+ [11.2.2]: https://github.com/shakacode/react_on_rails/compare/11.2.1...11.2.2
1018
+ [11.2.1]: https://github.com/shakacode/react_on_rails/compare/11.1.8...11.2.1
1019
+ [11.1.8]: https://github.com/shakacode/react_on_rails/compare/11.1.7...11.1.8
1020
+ [11.1.7]: https://github.com/shakacode/react_on_rails/compare/11.1.6...11.1.7
1021
+ [11.1.6]: https://github.com/shakacode/react_on_rails/compare/11.1.5...11.1.6
1022
+ [11.1.5]: https://github.com/shakacode/react_on_rails/compare/11.1.4...11.1.5
1023
+ [11.1.4]: https://github.com/shakacode/react_on_rails/compare/11.1.3...11.1.4
1024
+ [11.1.3]: https://github.com/shakacode/react_on_rails/compare/11.1.2...11.1.3
1025
+ [11.1.2]: https://github.com/shakacode/react_on_rails/compare/11.1.1...11.1.2
1026
+ [11.1.1]: https://github.com/shakacode/react_on_rails/compare/11.1.0...11.1.1
1027
+ [11.1.0]: https://github.com/shakacode/react_on_rails/compare/11.0.10...11.1.0
1028
+ [11.0.10]: https://github.com/shakacode/react_on_rails/compare/11.0.9...11.0.10
1029
+ [11.0.9]: https://github.com/shakacode/react_on_rails/compare/11.0.8...11.0.9
1030
+ [11.0.8]: https://github.com/shakacode/react_on_rails/compare/11.0.7...11.0.8
1031
+ [11.0.7]: https://github.com/shakacode/react_on_rails/compare/11.0.6...11.0.7
1032
+ [11.0.6]: https://github.com/shakacode/react_on_rails/compare/11.0.5...11.0.6
1033
+ [11.0.5]: https://github.com/shakacode/react_on_rails/compare/11.0.4...11.0.5
1034
+ [11.0.4]: https://github.com/shakacode/react_on_rails/compare/11.0.3...11.0.4
1035
+ [11.0.3]: https://github.com/shakacode/react_on_rails/compare/11.0.2...11.0.3
1036
+ [11.0.2]: https://github.com/shakacode/react_on_rails/compare/11.0.1...11.0.2
1037
+ [11.0.1]: https://github.com/shakacode/react_on_rails/compare/11.0.0...11.0.1
1038
+ [11.0.0]: https://github.com/shakacode/react_on_rails/compare/10.1.4...11.0.0
1039
+ [10.1.4]: https://github.com/shakacode/react_on_rails/compare/10.1.3...10.1.4
1040
+ [10.1.3]: https://github.com/shakacode/react_on_rails/compare/10.1.2...10.1.3
1041
+ [10.1.2]: https://github.com/shakacode/react_on_rails/compare/10.1.1...10.1.2
1042
+ [10.1.1]: https://github.com/shakacode/react_on_rails/compare/10.1.0...10.1.1
1043
+ [10.1.0]: https://github.com/shakacode/react_on_rails/compare/10.0.2...10.1.0
1044
+ [10.0.2]: https://github.com/shakacode/react_on_rails/compare/10.0.1...10.0.2
1045
+ [10.0.1]: https://github.com/shakacode/react_on_rails/compare/10.0.0...10.0.1
1046
+ [10.0.0]: https://github.com/shakacode/react_on_rails/compare/9.0.3...10.0.0
1047
+ [9.0.3]: https://github.com/shakacode/react_on_rails/compare/9.0.2...9.0.3
1048
+ [9.0.2]: https://github.com/shakacode/react_on_rails/compare/9.0.1...9.0.2
1049
+ [9.0.1]: https://github.com/shakacode/react_on_rails/compare/9.0.0...9.0.1
1050
+ [9.0.0]: https://github.com/shakacode/react_on_rails/compare/8.0.7...9.0.0
1051
+ [8.0.7]: https://github.com/shakacode/react_on_rails/compare/8.0.6...8.0.7
1052
+ [8.0.6]: https://github.com/shakacode/react_on_rails/compare/8.0.5...8.0.6
1053
+ [8.0.5]: https://github.com/shakacode/react_on_rails/compare/8.0.3...8.0.5
1054
+ [8.0.3]: https://github.com/shakacode/react_on_rails/compare/8.0.2...8.0.3
1055
+ [8.0.2]: https://github.com/shakacode/react_on_rails/compare/8.0.1...8.0.2
1056
+ [8.0.1]: https://github.com/shakacode/react_on_rails/compare/8.0.0...8.0.1
1057
+ [8.0.0]: https://github.com/shakacode/react_on_rails/compare/7.0.4...8.0.0
1058
+ [8.0.0-beta.3]: https://github.com/shakacode/react_on_rails/compare/8.0.0-beta.2...8.0.0-beta.3
1059
+ [8.0.0-beta.2]: https://github.com/shakacode/react_on_rails/compare/8.0.0-beta.1...8.0.0-beta.2
1060
+ [8.0.0-beta.1]: https://github.com/shakacode/react_on_rails/compare/7.0.4...8.0.0-beta.1
1061
+ [7.0.4]: https://github.com/shakacode/react_on_rails/compare/7.0.3...7.0.4
1062
+ [7.0.3]: https://github.com/shakacode/react_on_rails/compare/7.0.1...7.0.3
1063
+ [7.0.1]: https://github.com/shakacode/react_on_rails/compare/7.0.0...7.0.1
1064
+ [7.0.0]: https://github.com/shakacode/react_on_rails/compare/6.10.1...7.0.0
1065
+ [6.10.1]: https://github.com/shakacode/react_on_rails/compare/6.10.0...6.10.1
1066
+ [6.10.0]: https://github.com/shakacode/react_on_rails/compare/6.9.3...6.10.0
1067
+ [6.9.3]: https://github.com/shakacode/react_on_rails/compare/6.9.1...6.9.3
1068
+ [6.9.2]: https://github.com/shakacode/react_on_rails/compare/6.9.1...6.9.2
1069
+ [6.9.1]: https://github.com/shakacode/react_on_rails/compare/6.8.2...6.9.1
1070
+ [6.9.0]: https://github.com/shakacode/react_on_rails/compare/6.8.2...6.9.0
1071
+ [6.8.2]: https://github.com/shakacode/react_on_rails/compare/6.8.1...6.8.2
1072
+ [6.8.1]: https://github.com/shakacode/react_on_rails/compare/6.8.0...6.8.1
1073
+ [6.8.0]: https://github.com/shakacode/react_on_rails/compare/6.7.2...6.8.0
1074
+ [6.7.2]: https://github.com/shakacode/react_on_rails/compare/6.7.1...6.7.2
1075
+ [6.7.1]: https://github.com/shakacode/react_on_rails/compare/6.7.0...6.7.1
1076
+ [6.7.0]: https://github.com/shakacode/react_on_rails/compare/6.6.0...6.7.0
1077
+ [6.6.0]: https://github.com/shakacode/react_on_rails/compare/6.5.1...6.6.0
1078
+ [6.5.1]: https://github.com/shakacode/react_on_rails/compare/6.5.0...6.5.1
1079
+ [6.5.0]: https://github.com/shakacode/react_on_rails/compare/6.4.2...6.5.0
1080
+ [6.4.2]: https://github.com/shakacode/react_on_rails/compare/6.4.1...6.4.2
1081
+ [6.4.1]: https://github.com/shakacode/react_on_rails/compare/6.4.0...6.4.1
1082
+ [6.4.0]: https://github.com/shakacode/react_on_rails/compare/6.3.5...6.4.0
1083
+ [6.3.5]: https://github.com/shakacode/react_on_rails/compare/6.3.4...6.3.5
1084
+ [6.3.4]: https://github.com/shakacode/react_on_rails/compare/6.3.3...6.3.4
1085
+ [6.3.3]: https://github.com/shakacode/react_on_rails/compare/6.3.2...6.3.3
1086
+ [6.3.2]: https://github.com/shakacode/react_on_rails/compare/6.3.1...6.3.2
1087
+ [6.3.1]: https://github.com/shakacode/react_on_rails/compare/6.3.0...6.3.1
1088
+ [6.3.0]: https://github.com/shakacode/react_on_rails/compare/6.2.1...6.3.0
1089
+ [6.2.1]: https://github.com/shakacode/react_on_rails/compare/6.2.0...6.2.1
1090
+ [6.2.0]: https://github.com/shakacode/react_on_rails/compare/6.1.2...6.2.0
1091
+ [6.1.2]: https://github.com/shakacode/react_on_rails/compare/6.1.1...6.1.2
1092
+ [6.1.1]: https://github.com/shakacode/react_on_rails/compare/6.1.0...6.1.1
1093
+ [6.1.0]: https://github.com/shakacode/react_on_rails/compare/6.0.5...6.1.0
1094
+ [6.0.5]: https://github.com/shakacode/react_on_rails/compare/6.0.4...6.0.5
1095
+ [6.0.4]: https://github.com/shakacode/react_on_rails/compare/6.0.3...6.0.4
1096
+ [6.0.3]: https://github.com/shakacode/react_on_rails/compare/6.0.2...6.0.3
1097
+ [6.0.2]: https://github.com/shakacode/react_on_rails/compare/6.0.1...6.0.2
1098
+ [6.0.1]: https://github.com/shakacode/react_on_rails/compare/6.0.0...6.0.1
1099
+ [6.0.0]: https://github.com/shakacode/react_on_rails/compare/5.2.0...6.0.0
1100
+ [5.2.0]: https://github.com/shakacode/react_on_rails/compare/5.1.1...5.2.0
1101
+ [5.1.1]: https://github.com/shakacode/react_on_rails/compare/5.1.0...5.1.1
1102
+ [5.1.0]: https://github.com/shakacode/react_on_rails/compare/5.0.0...5.1.0
1103
+ [5.0.0]: https://github.com/shakacode/react_on_rails/compare/4.0.3...5.0.0
1104
+ [4.0.3]: https://github.com/shakacode/react_on_rails/compare/4.0.2...4.0.3
1105
+ [4.0.2]: https://github.com/shakacode/react_on_rails/compare/4.0.1...4.0.2
1106
+ [4.0.1]: https://github.com/shakacode/react_on_rails/compare/4.0.0...4.0.1
1107
+ [4.0.0]: https://github.com/shakacode/react_on_rails/compare/3.0.6...4.0.0
1108
+ [3.0.6]: https://github.com/shakacode/react_on_rails/compare/3.0.5...3.0.6
1109
+ [3.0.5]: https://github.com/shakacode/react_on_rails/compare/3.0.4...3.0.5
1110
+ [3.0.4]: https://github.com/shakacode/react_on_rails/compare/3.0.3...3.0.4
1111
+ [3.0.3]: https://github.com/shakacode/react_on_rails/compare/3.0.2...3.0.3
1112
+ [3.0.2]: https://github.com/shakacode/react_on_rails/compare/3.0.1...3.0.2
1113
+ [3.0.1]: https://github.com/shakacode/react_on_rails/compare/3.0.0...3.0.1
1114
+ [3.0.0]: https://github.com/shakacode/react_on_rails/compare/2.3.0...3.0.0
1115
+ [2.3.0]: https://github.com/shakacode/react_on_rails/compare/2.2.0...2.3.0
1116
+ [2.2.0]: https://github.com/shakacode/react_on_rails/compare/2.1.1...2.2.0
1117
+ [2.1.1]: https://github.com/shakacode/react_on_rails/compare/v2.1.0...2.1.1
1118
+ [2.1.0]: https://github.com/shakacode/react_on_rails/compare/v2.0.2...v2.1.0
1119
+ [2.0.2]: https://github.com/shakacode/react_on_rails/compare/v2.0.1...v2.0.2
1120
+ [2.0.1]: https://github.com/shakacode/react_on_rails/compare/v2.0.0...v2.0.1
1121
+ [2.0.0]: https://github.com/shakacode/react_on_rails/compare/v1.2.2...v2.0.0
1122
+ [1.2.2]: https://github.com/shakacode/react_on_rails/compare/v1.2.0...v1.2.2
1123
+ [1.2.0]: https://github.com/shakacode/react_on_rails/compare/v1.1.0...v1.2.0
1124
+ [1.1.1]: https://github.com/shakacode/react_on_rails/compare/v1.1.1...v1.0.0
package/README.md CHANGED
@@ -12,6 +12,7 @@
12
12
  [![License](https://img.shields.io/badge/license-mit-green.svg)](LICENSE.md) [![Build Status](https://travis-ci.org/shakacode/react_on_rails.svg?branch=master)](https://travis-ci.org/shakacode/react_on_rails) [![Gem Version](https://badge.fury.io/rb/react_on_rails.svg)](https://badge.fury.io/rb/react_on_rails) [![npm version](https://badge.fury.io/js/react-on-rails.svg)](https://badge.fury.io/js/react-on-rails) [![Code Climate](https://codeclimate.com/github/shakacode/react_on_rails/badges/gpa.svg)](https://codeclimate.com/github/shakacode/react_on_rails) [![Coverage Status](https://coveralls.io/repos/shakacode/react_on_rails/badge.svg?branch=master&service=github)](https://coveralls.io/github/shakacode/react_on_rails?branch=master) [![](https://ruby-gem-downloads-badge.herokuapp.com/react_on_rails?type=total)](https://rubygems.org/gems/react_on_rails)
13
13
 
14
14
  # News
15
+ * ShakaCode now maintains the official successor to `rails/webpacker`, [`shakapacker`](https://github.com/shakacode/shakapacker).
15
16
  * Project is updated to support Rails 7!
16
17
  * **React and Webpack with Ruby on Rails**: The current version of https://github.com/rails/webpacker will soon ship. While it won't be the default for Rails 7, it is not "deprecated." The core webpack configuration has become slimmer, allowing easier extension. If you want to get started today, use the master branch of [shakacode/react_on_rails_tutorial_with_ssr_and_hmr_fast_refresh](https://github.com/shakacode/react_on_rails_tutorial_with_ssr_and_hmr_fast_refresh) with `gem "webpacker", "6.0.0.rc.6"` Any updates to get to v6 from this point forward should be simple.
17
18
 
@@ -29,9 +30,9 @@ This project is maintained by the software consulting firm [ShakaCode](https://w
29
30
  Are you interested in optimizing your webpack setup for React on Rails including code
30
31
  splitting with [react-router](https://github.com/ReactTraining/react-router#readme) and
31
32
  [loadable-components](https://loadable-components.com/) with server-side rendering for SEO and hot-reloading for developers?
32
- We did this for Popmenu, [lowering Heroku costs 20-25% while getting a 73% decrease in average response times](https://www.shakacode.com/recent-work/popmenu/). Check out [React on Rails Pro](https://www.shakacode.com/react-on-rails-pro/).
33
+ We did this for Popmenu, [lowering Heroku costs 20-25% while getting a 73% decrease in average response times](https://www.shakacode.com/recent-work/popmenu/). Several years later, Popmenu is serving millions of SSR requests per day React on Rails.
33
34
 
34
- For more information, feel free to contact Justin Gordon, [justin@shakacode.com](mailto:justin@shakacode.com), maintainer of React on Rails.
35
+ Check out [React on Rails Pro](https://www.shakacode.com/react-on-rails-pro/). For more information, feel free to contact Justin Gordon, [justin@shakacode.com](mailto:justin@shakacode.com), maintainer of React on Rails.
35
36
 
36
37
  # Documentation
37
38
 
@@ -73,11 +74,11 @@ Ruby on Rails >=5, rails/webpacker >= 4.2, Ruby >= 2.7
73
74
 
74
75
  * [Click to join **React + Rails Slack**](https://reactrails.slack.com/join/shared_invite/enQtNjY3NTczMjczNzYxLTlmYjdiZmY3MTVlMzU2YWE0OWM0MzNiZDI0MzdkZGFiZTFkYTFkOGVjODBmOWEyYWQ3MzA2NGE1YWJjNmVlMGE).
75
76
  - [**Subscribe**](https://app.mailerlite.com/webforms/landing/l1d9x5) for announcements of new releases of React on Rails and of our latest [blog articles](https://blog.shakacode.com) and tutorials.
76
- - **[forum.shakacode.com](https://forum.shakacode.com)**: Post your questions
77
+ - [Discussions](https://github.com/shakacode/react_on_rails/discussions): Post your questions regarding React on Rails
78
+ - **[forum.shakacode.com](https://forum.shakacode.com)**: Other discussions
77
79
  - **[@railsonmaui on Twitter](https://twitter.com/railsonmaui)**
78
80
  - *See [NEWS.md](https://github.com/shakacode/react_on_rails/tree/master/NEWS.md) for more notes over time.*
79
81
  - See [Projects](https://github.com/shakacode/react_on_rails/tree/master/PROJECTS.md) using and [KUDOS](https://github.com/shakacode/react_on_rails/tree/master/KUDOS.md) for React on Rails. Please submit yours! Please edit either page or [email us](mailto:contact@shakacode.com) and we'll add your info. We also **love stars** as it helps us attract new users and contributors.
80
- - *See [NEWS.md](https://github.com/shakacode/react_on_rails/tree/master/NEWS.md) for more notes over time.*
81
82
 
82
83
  ## Contributing
83
84
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-on-rails",
3
- "version": "12.5.2",
3
+ "version": "12.6.0",
4
4
  "description": "react-on-rails JavaScript for react_on_rails Ruby gem",
5
5
  "main": "node_package/lib/ReactOnRails.js",
6
6
  "directories": {