How to Approach a Ruby on Rails Upgrade

January 4, 2023
Ryan Findley, Principal
Philadelphia, PA

How to Approach a Ruby on Rails Upgrade

The wait is over! The new Ruby version is officially here.

A software release is exciting! New features, improved workflows, and maybe the loss of some bugs and nuance. Before you decide to upgrade rails versions, pause.  A major software update is not to be taken lightly. Here are some things to consider

When should you upgrade to a new Rails version?

If you want to avoid bugs that can be associated with a new release, we recommend waiting until the three-to-six months mark before upgrading. If you are interested in giving back to the Ruby on Rails community, you can be an early adopter and report bugs as you find them. Only you can judge what margin of error your team can withstand.

If your team doesn’t have the bandwidth or has someone junior completing the upgrade, we recommend waiting at least three months from the release before proceeding.

What are the risks of upgrading?

When you upgrade, you may discover parts of your application that don’t work with the new code and haven’t been solved by the community yet. The best way to minimize risk is to

  • Wait for the kinks to be worked out.
  • Have a good test suite.
  • Have team members that are most familiar with the app help with QA (this may be your operations or customer service team!)

Can I upgrade Ruby on Rails versions on my own?

Certainly. The latest version of Rails usually has an upgrade guide. You can view the most recent one here.  Railsdiff.org showcases the differences between a default install of any two Rails versions. This can help you estimate the amount of time your upgrade will require. We strongly advise that you estimate that before beginning your project.

What happens if I don’t upgrade?

When you don’t upgrade versions, security vulnerabilities accumulate. Your app - and any data it stores - are at risk. As your software version becomes outdated, it can become harder for developers to contribute to your app. For example, they can’t set it up on a new Macbook. We’ve all had that warning. You can expect to see a loss of functionality around the two-year mark.

*Note that this same philosophy applies to personal devices.  Waiting too long to upgrade a computer can result in the inverse problem. How disappointing it is to wait for MONTHS for the new Pages release only to find out that it’s not compatible with El Capitan, or worse finding out your Mac can’t run the latest version of MacOS.

I don’t have a developer currently maintaining my Ruby on Rails. Where does that leave me?

Developer typing laptop

Your app will likely keep running for a while. Still, without regular maintenance, an outage could be long and costly. Someone may have to do many upgrades before it’s possible to get the app running properly again.

You may also want to ask the following questions:

  • Is anyone testing your backup and restore plan?
  • Could sensitive data leak?
  • How long do you want to let your wishlist sit unfinished?
  • Do you want to spend less time fighting your tools?
  • Bots are testing vulnerabilities of your site all the time

These are the reasons to never go too long in between developers. The cost can range from minor inconveniences to large-scale outages.

Upgrades are a vital (and exciting) part of software maintenance. When your application is a vital part of your.business, having long-term, as-needed developer support provides the peace of mind, agility , and security needed to keep your Ruby on Rails app, and clients, as happy as possible! If you're concerned your application may be due for an upgrade, contact us! We'd be happy to perform a complimentary audit to see what your application needs.

TL;DR

  1. Budget your time before beginning the upgrade
  2. Plan to upgrade around the six-to-eighteen-month mark (unless you’re a senior developer and an open-source hero).
  3. Upgrades protect you from security vulnerabilities and loss of functionality.

Still unclear about Ruby, Rails, Ruby on Rails? Check out our guide to understanding Ruby on Rails. Learn how it all fits together and why some people (like us) think it's so great.

About Neomind Labs

Focusing on long-term maintenance and operational support.

Neomind Labs is a software development firm that improves and maintains software applications using Ruby on Rails. We implement and support applications while taking responsibility for the codebase.

Our stewardship services are for proactively managing upgrades, patches, transitions, and improvement. We act as an internal development resource for clients who don’t have a full-time development team, or who need to augment existing staff.

Questions?

Recent Blog Posts

May 18, 2023
The Scammer's Playbook: AI, Voice Cloning, and the Timeless Art of Deception
As AI continues to evolve, so too does the concern that we'll be effortlessly swindled out of our personal and financial information by cyber tricksters armed with voice cloning technology.
April 30, 2023
Sustainability In Tech: The Next Frontier
Sustainability is a concept that has been around for centuries. In modern times, the word sustainability has become synonymous with environmental causes. While that association is valid and important, there are other forms of sustainability that need conscious consideration.
March 21, 2023
The Robots Are Going To Take Your Jobs… And Make Them Better: Don’t Believe The Hype, AI Will Increase Jobs
Conspiracy theorists crow that AI is going to take away all of our jobs and make the human worker obsolete, eventually leading to war and the decline of civilization as we know it. The robots will rule with a heavy mechanized hand, and the average person will be out on the street selling pencils from a cup for scraps of bread. A scary prospect indeed.
February 28, 2023
Understanding Ruby on Rails
An easy breakdown of understanding Ruby on Rails.