When upgrading an old Rails app, I want to know what will block the upgrade before I start changing versions.
I built rails-preflight to find those blockers by reading the app's files, without booting it.
Before releasing it, I ran it against real Rails upgrades in Mastodon, Discourse and Forem. All 28 gems it flagged as blockers were upgraded, replaced or dropped in the release that moved Rails.
rails-preflight reads a Rails app and tells you what stands between it and the Rails version you want: gems that won't install, APIs your code still calls that Rails removed, the Ruby each step needs, and what it couldn't check.
gem install rails_preflight rails-preflight 7.2 /path/to/your/app
Enter fullscreen mode
Exit fullscreen mode
It writes an HTML report into the app's directory without running the app or its tests, or modifying existing application files.
Mastodon v3.3.0, checked for Rails 7.0.…