Wolfpack Digital made it to the Finals at the Irish Digital Media Awards 2025

Cristina Strîmbu
Marketing Specialist
Reading time: 5 min
Oct 16, 2025
Victor
Head of Web Development
5 min
Jul 15, 2022
We recently needed to upgrade a project’s Ruby version from 2.6.6 to 3.x and the Rails version from 6.0.4.8 to 7.x, as part of our development process. The task's scope proved to be much more demanding than expected, as we encountered plenty of challenges, some better documented than others. So if you are going through a similar process, this article will include all the main changes that we had to deal with. 🗒️
Short disclaimer: this does not include the changes behind the hood that Ruby and Rails have done with their upgrades. These are widely covered, and we highly recommend these resources: upgrading Ruby, upgrading Rails. The mentioned guides also include some implementation changes that need to be done. This is the main goal of the article as well, but we’ll also cover some unexpected situations that are not included there. If you want to see what the latest Ruby supported versions and updates on the new releases are, check this resource.
We started with the Ruby upgrade, and we strongly recommend everyone does the same. First of all, Rails 7 requires Ruby 2.7.0 or a newer version, and we only had 2.6.6. Then, many of the gem updates will depend on their compatibility with Ruby 3, and overall, most of the work had to be done with this version upgrade.
Let’s get started! 🚀
We are using rbenv, so updating the version on the computer was pretty easy. After installing Ruby 3.1.2 (in this case) and updating it in the project Gemfile, try to run “bundle install” and then run the tests. Unfortunately, gem incompatibilities pop up immediately.
This is the first takeaway we want to talk about. Having some gems versions locked for more than one year probably means that those versions are incompatible with Ruby 3. You will probably know which dependencies need an update, but we’ll cover three specific examples:
There may be many other incompatible gems from your Gemfile that you might not use or that might have a different version. These are the ones that required the most work on our side and are also the most widely used.
After advancing from the gems’ incompatibilities, we had to ensure that the new Ruby 3 updates were also applied on the project. One of the main changes we had to deal with was a change when using positional or keyword arguments (more details here).
For example, we had: let(:params) { key1: ‘value1’, key2: ‘value2’ } & service_base_child.call(params). This had to be changed to service_base_child.call(**params).
Finally, we could move to the easy task: updating Docker & CircleCI images.
Our version for Rails (and its dependencies) was 6.0.4.8. Because of security vulnerabilities and small changes, this has been updated a few times since the start of the project. Still, like with the Ruby version, the updates were incremental and very small. Fortunately, the Rails version upgrade does not produce so many incompatibilities, and most of the changes were syntax, config, or implementation changes rather than gem updates.
Fortunately for us, the Ruby on Rails site has a great guide on how to upgrade to the current Rails version. We won’t cover what’s already there, but some smaller things aren’t as smooth as expected. ⚠️
So the first step, also covered in the guide, is updating the Gemfile and the gems, and then running rails app:update. This will trigger a set of changes in many of the files already present in the project. We suggest allowing inserts/updates for all of the files and manually going through each git diff to see whether the changes make sense. Many changes are just updating single quotes to double quotes, but also expect some critical changes. Also, be careful if the update removes any specific settings, like action mailer config.
From the Rails upgrade, we only had five main takeaways/updates to take care of. Of course, there were some smaller changes, like some other gem upgrades, but they are easy to catch and handle.
For us, working on the upgrade brought to light three main key takeaways, and these are the reasons we decided to write about this topic:
We want to thank you for your interest and hope this guide will help you with your own upgrades. We prepare articles like these whenever our community or we run into unexpected difficulties and no helpful resources. So, if there’s a technical problem you’re battling, don’t hesitate to shoot us a message, and we’ll do our best to help! 👐
With over 140 projects successfully delivered to our partners, we are a web and mobile app development company. Our mission is to bring performance and beauty to the world through technology.
We develop projects start-to-end and have extensive expertise in beauty app design and development, fintech app development, healthcare IT solutions, custom website development, cross-platform app development services, and many more.
Do you have a project in mind? Get in touch with us, and let's talk more!
Have you ever wondered how to develop mobile apps with Ruby on Rails? We have prepared an article on this topic, so make sure to read it!
Wolfpack Digital made it to the Finals at the Irish Digital Media Awards 2025
Cristina Strîmbu
Marketing Specialist
Reading time: 5 min
Oct 16, 2025
Q3/2025 Wrap-Up: Packed bags but shipped features
Cristina Strîmbu
Marketing Specialist
Reading time: 8 min
Oct 14, 2025
Between sunny escapes and energized landings, our pack kept its focus sharp and the energy high. 🐺 Summer gave us room to recharge, reconnect, and still maintain momentum, one launch, one getaway, and one win at a time. Ready to see what we were up to this summer at Wolfpack Digital?
Vibe Coding as an Experienced Developer - Lessons and Case Study
Victor
Head of Web Development
Reading time: 8 min
Sep 26, 2025
Vibe coding has gotten lots of attention lately, but it has been quite polarising. One camp of people is claiming to make anyone a millionaire by helping them build their first SaaS, while the other is saying that it’s ruining the ecosystem, creating buggy, messy, and unusable code. And because some time has passed and we have more information on the actual results of this trend, I can safely say neither of them is right. But neither are they wrong.
Brief us and let’s work together