Ruby on Rails 7.1

7.1 released 5 October 2023, latest 7.1.6.

Ruby on Rails 7.1 reached end of life on 1 October 2025.

What changed

Compared with Rails 7.0, Rails 7.1 expanded Active Record with composite primary-key support, attribute normalization through the normalizes API, enum validation options, and asynchronous aggregate calculations such as async_count. It added a built-in authentication generator for a conventional password-based login flow. New applications gained container-oriented generated files, and application configuration gained conveniences such as config.autoload_lib for loading code from lib while explicitly excluding selected subdirectories. Rails 7.1 also introduced a new set of framework defaults, so applications upgraded from an earlier line can retain older behavior initially and enable changed defaults deliberately.

What staying costs

Rails 7.1 has reached end of life, so applications remaining on it should not expect upstream maintenance or security fixes for newly discovered issues. This does not make every Rails 7.1 deployment immediately unsafe, but it leaves the team responsible for assessing, patching, or mitigating framework-level vulnerabilities and incompatibilities. The practical burden tends to grow as supported Ruby versions, database adapters, background-job libraries, and other dependencies move forward. Delaying the upgrade can also increase the size of the eventual change by combining Rails changes with accumulated dependency, Ruby, configuration, and deployment changes.

What to do

Choose a currently supported Rails target and verify its Ruby, database, adapter, JavaScript, and deployment prerequisites before changing production. First update the application to the latest available Rails 7.1 patch release, remove or resolve deprecation warnings, and ensure the test suite exercises authentication, jobs, mail, caching, file storage, and important database queries. Upgrade through Rails minor versions in sequence rather than skipping directly across several lines. At each step, use bin/rails app:update to review generated configuration changes, keep the new framework defaults opt-in until their effects are tested, and compare environment configuration rather than replacing it wholesale. Test the upgraded application in a production-like environment, including schema migrations, background-job processing, asset builds, and rollback behavior, then deploy with monitoring for errors, performance regressions, and dependency-specific failures.

Release history

7.x

We can tell you what moving off Ruby on Rails 7.1 involves.

What it takes to move off Ruby on Rails 7.1 depends on what you built on it — the version you are on, how much depends on it, and how much of the work is mechanical. Leave your email with this version and we can tell you what that looks like for you.

Not sure yet? Get my plan