ReactOnRails v13.1.0 Release Notes

Release Date: 2022-08-20 // 5 months ago
  • ๐Ÿ‘Œ Improved

    Using mini_racer makes most sense when deploying or building in environments that do not have Javascript runtime present. Since react_on_rails requires Node.js, there's no reason to override ExecJS runtime with mini_racer.

    To migrate this change, remove mini_racer gem from your Gemfile and test your app for correct behaviour. You can continue using mini_racer and it will be still picked as the default ExecJS runtime, if present in your app Gemfile.

    • Upgraded the example test app in spec/dummy to React 18. PR 1463 by alexeyr.

    • Added file-system-based automatic bundle generation feature. PR 1455 by pulkitkkr.

    ๐Ÿ›  Fixed

    • Correctly unmount roots under React 18. PR 1466 by alexeyr.

    • Fixed the You are importing hydrateRoot from "react-dom" [...] You should instead import it from "react-dom/client" warning under React 18 (#1441). PR 1460 by alexeyr.

    In exchange, you may see a warning like this when building a Webpack bundle under React 16:

      WARNING in ./node_modules/react-on-rails/node_package/lib/reactHydrateOrRender.js19:25-52
      Module not found: Error: Can't resolve 'react-dom/client' in '/home/runner/work/react_on_rails/react_on_rails/spec/dummy/node_modules/react-on-rails/node_package/lib'
       @ ./node_modules/react-on-rails/node_package/lib/ReactOnRails.js 34:45-78
       @ ./client/app/packs/client-bundle.js 5:0-42 32:0-23 35:0-21 59:0-26
    

    It can be safely suppressed in your Webpack configuration.


Previous changes from v13.0.2

  • ๐Ÿ›  Fixed

    • React 16 doesn't support version property, causing problems loading React on Rails. PR 1435 by justin808.