Skip to main content

React on Rails 16.5.0 Release Notes

Upgrading from 16.4.0 to 16.5.0

Update your gem and npm package versions:

# Gemfile
gem "react_on_rails", "16.5.0"
// package.json
{
"dependencies": {
"react-on-rails": "16.5.0"
}
}

Pro users: Use react-on-rails-pro instead of react-on-rails in package.json, and react_on_rails_pro instead of react_on_rails in your Gemfile. See the Pro upgrade guide for details.

Then run bundle install and your package manager's install command.

Highlights

Breaking Changes

  • [Pro] RENDERER_PASSWORD now required in production-like environments: Existing staging/production deployments using NodeRenderer without a password will fail to start after upgrading. Set RENDERER_PASSWORD in the environment and configure config.renderer_password = ENV.fetch("RENDERER_PASSWORD") in your Rails initializer before upgrading. PR 2829 by justin808.
  • [Pro] Minimum async gem version bumped to 2.29: The streaming helper now requires async >= 2.29 (previously >= 2.6) due to the migration from Async::Variable to Async::Promise. If your Gemfile pins the async gem below 2.29, you will need to update it before upgrading. Run bundle update async to pick up the new minimum. PR 2832 by justin808.

New Features

  • create-react-on-rails-app --pro support: Added explicit --pro mode to the CLI, including react_on_rails_pro gem installation and generator wiring for Pro-only setup (without requiring --rsc). PR 2818 by justin808.
  • Global prerender env override: REACT_ON_RAILS_PRERENDER_OVERRIDE=true|false forces prerender behavior globally (env > component option > initializer default), useful for CI/test environments without an SSR server. PR 2816 by justin808.
  • react_on_rails:sync_versions rake task: Aligns npm package versions (react-on-rails, react-on-rails-pro, react-on-rails-pro-node-renderer) with loaded gem versions. Runs in dry-run mode by default; use WRITE=true to apply changes. PR 2797 by justin808.
  • Pro/RSC setup checks in react_on_rails:doctor: Extended doctor diagnostics with Pro Setup (initializer, renderer mode, base-package import scanning) and RSC checks (renderer mode, payload route, bundler config, React version, Procfile RSC watcher). Sections are skipped for OSS-only installs. PR 2674 by ihabadham.

Changes

  • [Pro] Canonical env var for worker count is now RENDERER_WORKERS_COUNT: The previous NODE_RENDERER_CONCURRENCY is still supported as a fallback. Worker count validation now accepts explicit 0 for single-process mode and warns on invalid values. PR 2611 by justin808.
  • [Pro] Migrated from Async::Variable to Async::Promise: The streaming helper internals now use Async::Promise for async v2.29+ compatibility while preserving pre-first-chunk error propagation behavior. PR 2832 by justin808.

Bug Fixes

  • Fixed env var preservation across Bundler.with_unbundled_env (PR 2836)
  • Fixed doctor prerender check and ExecJS display for Pro/RSC apps (PR 2773)
  • Fixed doctor false positives for custom layouts (PR 2612)
  • Smoother create-react-on-rails-app and install generator flows (PR 2650)

See the CHANGELOG for the full list of changes.