Jenny Shen - An upgrade handbook to Rails 8 - Rails World 2024

Learn essential steps, tools, and best practices for upgrading your Rails application to version 8 with Jenny Shen's comprehensive guide to the latest framework changes.

Key takeaways
  • Rails 8 upgrade requires minimum Ruby 3.1 and involves moving through patch/minor versions systematically before major upgrades

  • Key upgrade steps include:

    • Running tests to catch potential issues
    • Updating gem dependencies
    • Running rails app:update
    • Fixing deprecated features
    • Configuring new framework defaults
    • Addressing test failures
  • Notable Rails 7.2/8 changes:

    • Browser support configuration added
    • Encrypted secrets configuration deprecated
    • Active Job queue adapter changes
    • IRB console extension improvements
    • Default Puma threads reduced from 5 to 3
    • Wijit (Ruby’s JIT compiler) enabled by default
  • Best practices for maintaining Rails apps:

    • Regular minor version updates are easier than large version jumps
    • Keep apps on supported versions to receive security updates
    • Use automated tools like upgrade gems to assist migration
    • Plan upgrades on a regular schedule
    • Address deprecation warnings promptly
  • Tools to help with upgrades:

    • Rails upgrade gems automate common upgrade steps
    • Solid Track helps monitor Rails versions across multiple apps
    • Automated PR creation for upgrade changes
    • Test suites to validate changes
    • Framework defaults file to manage configuration changes