Ruby on Rails has always moved at a steady, thoughtful pace: each new version brings not only features and performance improvements but also important security hardening. But with every release cycle, older versions reach the end of their lifespan. When a version is officially End-of-Life (EOL), it no longer receives bug fixes or security patches — leaving applications increasingly vulnerable as new threats emerge.
Read moreArticles on Rails
Rails 7.1 has been a dependable workhorse since its release in 2023. But on October 1, 2025, Rails 7.1.x will lose official security support. That means no more patches for new vulnerabilities, no more backports, and no safety net if a zero-day exploit lands in your stack.
If you’re running Rails 7.1, your risk level depends heavily on which Ruby version you pair it with. Some Rails and Ruby combinations will be doubly unsupported after October 1st, creating “dangerous pairings” that should be upgraded immediately.
In this post, we’ll break down:
- Which Ruby on Rails setups will lose support after October 1, 2025.
- Why those combinations are risky.
- How to quickly check your environment using our table below.
- What to do if you are using a vulnerable pair.
The Roadmap to Upgrade Rails is FastRuby.io’s discovery product that helps teams plan and execute their Rails upgrade projects.
We’re happy to introduce an Automated Version of the Roadmap, powered by an AI agent, available completely for free!
Check it out on the Automated Roadmap to Upgrade Rails page and keep reading to learn more about how it works.
Read moreAt FastRuby.io, we spend our days deep in Rails codebases, upgrading, refactoring, and occasionally wondering, “Wait… is this method from Ruby or Rails?”.
Now, we’re turning that moment of confusion into a game. We’re excited to introduce Is It Ruby or Rails?, a brand new Discord bot that delivers daily puzzles to challenge your Ruby knowledge and fuel a little friendly competition.
You can install it using the Discord install link and start playing right away!
Read moreWhether you’re debugging a dependency issue, checking for an optional gem, or just curious about what’s loaded in your Ruby app, there’s a handy command that can help:
puts Gem.loaded_specs.keys.grep(/your_pattern_here/)
In this article, we will discuss what this command does, what exactly it’s checking for, and its limitations.
Read moreAt FastRuby.io, we offer specialized Rails upgrade, maintenance, and technical debt services.
Before doing an upgrade, we strongly recommend doing the Roadmap to Upgrade Rails, a static analysis of your codebase that outlines the action plan to do the upgrade and provides time and investment estimates.
The first step in every Rails upgrade we do is addressing deprecation warnings in the current version. So recently, we set out to extract all deprecation warnings from all versions of Rails starting at Rails 2.3 to help in our static analysis of Rails applications.
Read moreHaving reproducible development environments is one of the best ways to guarantee ease of application setup and code sharing in teams. Dev containers are a way to achieve this.
In this article we’ll try to give you a small introduction to what dev containers are at their core and provide a minimal example on how to set up a Rails application to use dev containers.
Read moreRails Engines are an architectural pattern that can be used to modularize a Rails application. They are self-contained applications that can be mounted within a larger Rails application. In this post, we will dive into the world of Rails Engines and explore what they are, how to create them, how to use them, when to use them, and why they are important.
Read moreYou might have extended classes or instances in Rails, but do you know you can also extend Rails associations?
Read moreclass Account < ActiveRecord::Base has_many :people, -> { extending FindOrCreateByNameExtension } end
In this article I’ll discuss a strategy for different readability: a simple way to split your routes file on a Ruby on Rails project.
Read moreLet’s begin with a simple question:
Have you seen
config.load_defaults 6
in any application?
6 is an argument and could vary, I’m just giving an example.
Read more