All Versions
Latest Version
Avg Release Cycle
50 days
Latest Release
36 days ago

Changelog History
Page 1

  • v12.4.0 Changes

    September 22, 2021

    ➕ Added

    • ScoutAPM tracing support for server rendering PR 1379 by justin808.

    • Ability to stop React on Rails from modifying or creating the assets:precompile task. PR 1371 by justin808. Thanks to elstgav for the suggestion!

    • 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 by judahmeek

  • v12.3.0 Changes

    July 26, 2021

    ➕ Added

    To configure turbo the following option can be set: ReactOnRails.setOptions({ turbo: true })

  • v12.2.0 Changes

    March 25, 2021

    ➕ Added

    • 🔧 Ability to configure server react rendering to throw rather than just logging the error. Useful for React on Rails Pro Node rendering PR 1365 by justin808.
  • v12.1.0 Changes

    March 23, 2021

    ➕ Added

    🛠 Fixed

  • v12.0.4 Changes

    November 14, 2020
  • v12.0.3 Changes

    September 02, 2020

    🛠 Fixed

  • v12.0.2 Changes

    July 09, 2020

    🛠 Fixed

  • v12.0.1 Changes

    July 09, 2020

    🛠 Fixed

    • 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 by By justin808.
  • v12.0.0 Changes

    July 08, 2020

    ⬆️ For upgrade instructions, see docs/guides/

    Major Improvements

    👍 1. React Hooks Support for top level components

    1. Typescript bindings 🚅 3. rails/webpacker "just works" with React on Rails by default. 👍 4. i18n support for generating a JSON file rather than a JS file.


    In order to solve the issues regarding React Hooks compatibility, the number of parameters for functions is used to determine if you have a generator function that will get invoked to return a React component, or you are registering a functional React component. Alternately, you can set JavaScript property renderFunction on the function for which you want to return to be invoked to return the React component. In that case, you won't need to pass any unused params. PR 1268 by justin808

    ⬆️ See docs/guides/upgrading-react-on-rails for details.

    ⚡️ Other Updates

    • 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.
    • 🔄 Changed the precompile task to use the rails/webpacker one by default
    • ⚡️ Updated generators to use React hooks
    • 🚅 Requires the use of rails/webpacker view helpers
    • 0️⃣ If the webpacker webpack config files exist, then React on Rails will not override the default assets:precompile setup by rails/webpacker. If you are not using the rails/webpacker setup for webpack, then be sure to remove the JS files inside of config/webpack, like config/webpack/production.js.
    • Removed env_javascript_include_tag and env_stylesheet_link_tag as these are replaced by view helpers from rails/webpacker
    • 🚅 Removal of support for old Rubies and Rails.
    • Removal of config.symlink_non_digested_assets_regex as it's no longer needed with rails/webpacker. If any business needs this, we can move the code to a separate gem.
    • Added configuration option same_bundle_for_client_and_server with default false because
    1. Production applications would typically have a server bundle that differs from the client bundle
    2. This change only affects trying to use HMR with react_on_rails with rails/webpacker.

    The previous behavior was to always go to the webpack-dev-server for the server bundle if the webpack-dev-server was running and the server bundle was found in the manifest.json.

    If you are using the same bundle for client and server rendering, then set this configuration option to true. By justin808.

    • Added support to export locales in JSON format. New option added i18n_output_format which allows to specify locales format either JSON or JS. JSON format is now the default.

    Use this config setting to get the old behavior: config.i18n_output_format = 'js'

    PR 1271 by ashgaliyev.

    • Added Typescript definitions to the Node package. By justin808 and judahmeek in PR 1287.
    • 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.
  • v12.0.0-beta.1

    June 14, 2020