Skip to content

Instantly share code, notes, and snippets.

@bigsnarfdude
Last active April 21, 2025 04:05
Show Gist options
  • Save bigsnarfdude/b41a8d5de7541c03b9dcfb8b72baaa46 to your computer and use it in GitHub Desktop.
Save bigsnarfdude/b41a8d5de7541c03b9dcfb8b72baaa46 to your computer and use it in GitHub Desktop.
workshops.md

Ruby Upgrade Recommendations

Currently on Ruby 3.0:

  1. Ruby 3.1: Less dramatic changes than 3.0, but introduces pattern matching refinements and a new debugger.

  2. Ruby 3.2: Offers significant performance improvements with YJIT, better error messages, and syntax improvements.

Moving to 3.2 would be a good target as it has performance benefits without being too cutting edge.

Rails Upgrade Recommendations

Currently on Rails 6.1.7:

1 Rails 7.0: Major upgrade with improvements to JavaScript handling (Hotwire, Turbo, Stimulus), improved ActiveRecord querying, and encrypted attributes.

  1. Rails 7.1: Introduces Solid Queue (can replace Que), Active Record Async Query, and simplified mailer previews.

I'd recommend moving to Rails 7.0 as your next major step. The upgrade path would be:

  1. First, update to the latest Rails 7.0
  2. Fix all deprecation warnings
  3. Update Webpacker to 6.0 or prepare to transition to jsbundling-rails/cssbundling-rails
  4. Then make the jump to Rails 7.1

Important Considerations

  1. Background Jobs: Your app uses Que - Rails 7.1 has built-in Solid Queue which could simplify your stack.

  2. Asset Pipeline: You're using Webpacker 5.4 - Rails 7 has moved away from Webpacker to jsbundling/cssbundling.

  3. Authentication: Check if your Devise version is compatible with newer Rails versions before upgrading.

  4. Testing: Ensure thorough test coverage before each upgrade step to catch regressions.

  5. Docker: Your Docker setup includes custom patches for Rails 6.1/Ruby 3.0 compatibility - these may be unnecessary with newer versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment