Upgrading Your App to Rails 6

Upgrading Your App to Rails 6

You may know Ruby on Rails 6 was released recently, but what does that mean for your Rails app?  Is it time for an upgrade?

Rails 6 was released in August 2019 and brings a lot of upgrades out of the box that offer improved performance, security, and additional feature options.

  • -- Parallel testing support reduces the time of running an entire test suite
  • -- Action Text utilizes Trix editor to bring WYSIWYG rich text content and editing to Rail
  • -- Support of multiple databases out of the box
  • -- Action Mailbox handles inbound email routing
  • -- Zeitwerk code loader 
  • In security, Host Authorization guards against DNS attacks by allowing only permitted hosts to access your application  
What is Ruby on Rails

While Rails 6 allows your application to take advantage of these new features, it’s also important to understand when an upgrade is essential to ensure performance and uptime of your app.  Rails 4 or earlier is no longer supported, no longer receiving vital security patches.  Rails 5.0 is still receiving critical patches for now, but will be the next version to age out of support.  Releases Rails 5.2 and higher are still receiving regular security updates.

When undertaking any Rails upgrade, you’ll start by determining your current version of Ruby and Ruby on Rails - Rails 6 requires Ruby 2.5 or later (current stable is 2.7.1).  You’ll need to collect data about application code, test suite, gems, and dependencies. Planning an upgrade without interrupting performance of an app that’s currently in production is delicate, especially if app development will continue in parallel with an upgrade. 

Notch8 has built a business on Rails expertise for thirteen years, and we know even planning the roadmap to an upgrade is daunting. We offer Rails upgrade audits for $600, which provides an upgrade plan and highlights vulnerabilities. Our audit examines your code and dependent services, following a thorough process that:

  • -- Identifies any performance and scalability problems (load, memory leaks)
  • -- Identifies potential security risks
  • -- Evaluates database schema identifying any problems or deviations from the Rails conventions
  • -- Identifies problems migrating from earlier frameworks
  • -- Evaluates test coverage
  • -- Inspects dependent services, including databases and search services, and offers advice on upgrading those as needed
  • -- Provides feedback on coding style as it relates to "Rails Way" best practices
  • -- Checks the Github page for all gems to find out their compatibility with Rails 6.0

When the time comes, we’re also able to provide assistance in upgrading your app. If you decide to move forward with the upgrade, we will discount the price of the audit from the upgrade itself. Notch8 uses Docker to manage dependencies, and can also offer assistance in Dockerizing your application. Have questions or want to get started? We’ll be happy to set up a call!
Kevin Kochanski
Kevin Kochanski