rails-upgrade-7-to-8
Rails 7 → 8 Upgrade
Upgrade a Rails 7.x app to Rails 8.0. The hop is smaller than 6→7 but has real choices: Solid Queue vs your existing job backend, Propshaft vs Sprockets, the new authentication generator vs Devise. This skill walks the hop with the dual-boot pattern.
Why this matters
Rails 8 doesn't break much code. But the new defaults (Solid Queue, Solid Cache, Propshaft, Kamal 2) are adoptable — and "adopt all at once" is the wrong move. Stage the adoption.
The opinion
Dual-boot with
next_rails. Hop 7.x → 7.1 → 7.2 → 8.0 (one minor at a time). Adopt Solid Queue / Cache / Cable only after the version is green — these aren't required by Rails 8, just the default forrails new. Keep Sprockets if you have a complex asset pipeline; migrate to Propshaft as a separate project. Skip the built-inbin/rails generate authenticationif you have Devise.
Counter-position: a small app on Rails 7.x can do the upgrade in one PR. Dual-boot is for non-trivial apps where breaking master for a week is unacceptable.
The hop sequence
7.0 → 7.1 → 7.2 → 8.0