This Week in Rails

Your weekly inside scoop of interesting commits, pull requests and more from Rails.
September 26, 2025

Redirect source location logging, filterable engine routes, and more!

Happy Friday! After three weeks of conferencing, this is Greg, bringing you the news about the latest changes in your favorite framework. It was a busy week with a lot of changes, let’s dive in. Rails Version 8.0.3 has been released! A new version of Rails has been released. Reaad the CHANGELOG for the list of changes. Deprecate usage ...
Read more
September 19, 2025

Improvements to routing, Active Storage configs, time tracking, and more

Hey, Emmanuel Hayford here with the latest from the Rails codebase. Let's get to it! Oh! In case you missed it, all the talks from #RailsWorld 2025 are now available online here. Fix SCRIPT_NAME handling for engines mounted at root When an engine is mounted at / and SCRIPT_NAME is in use, URL helpers were incorrectly dropping the scrip...
Read more
September 12, 2025

ActiveJob serialize array improvements, rails/info/routes additions and more!

Hi everyone, it’s Vipul. Let’s explore this week’s changes in the Rails codebase! Do not add seed step to config/ci if active record is skipped This PR ensures that in CI configuration templates, Rails does not add a db:seed step when Active Record is skipped. This prevents CI failures or unnecessary steps for applications that are dat...
Read more
September 5, 2025

Rendering Markdown is real, plus new database connection pool options

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase. Rails 8.1 Beta 1 lands The first beta release was cut for Rails 8.1, see the post for full details. Rails World 2025 Opening Keynote Part of the newsletter team is enjoying Rails World in Amsterdam, say hi to them if you attend. If you (like me) couldn’t go, the fi...
Read more
August 29, 2025

Dark mode on welcome page and more

Hi, Wojtek here. Part of our newsletter team - Claudio, Greg, Vipul, and me will be at the Rails World next week. Greg and Claudio will also be MCing the Lightning Track. Come say hi and grab some stickers with newsletter logo! Now let’s take a look at this week’s changes. Dark mode support in the app welcome page Made by the first tim...
Read more
August 23, 2025

Updated Plugins Guide, current_page? with any HTTP method and more!

Hi, it’s Greg. Let’s explore this week’s changes in the Rails codebase. Rails Plugin documentation update As part of improving the documentation of the framework, The Rails Plugins Guide has been updated. Fix consistency of generated structure.sql for latest PostgreSQL versions which include \restrict This pull request fixes the remova...
Read more
August 15, 2025

Structured Event Reporting lands in Rails!

Hi! Emmanuel Hayford here with some Rails codebase updates for you! Add #assert_events_reported test helper Rails added a new test helper that lets you assert multiple events were reported within a block—order-agnostic, with support for payload and tag matching, and it ignores extra events. Handy for workflows that emit several instrum...
Read more
August 9, 2025

Support for rack.response_finished callbacks in executor

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase. Add support for “rack.response_finished” callbacks in Action Dispatch’s Executor The executor middleware now supports deferring completion callbacks to later in the request lifecycle by utilizing Rack’s rack.response_finished mechanism, when available. This enables...
Read more
August 1, 2025

relative_time_in_words, current transaction's isolation level and more!

Hi, it’s Greg. Let’s explore this week’s changes in the Rails codebase. New written & video tutorials for beginners The Rails Foundation has launched a few more learning resources for beginners, in partnership with Chris Oliver and the team behind Typecraft - Chris Power and Robert Beene. Log when rescue_from handles an exception This ...
Read more
July 26, 2025

PostgreSQL 18 warnings, secure password improvements and more!

Hi, it’s Vipul. Let’s explore this week’s changes in the Rails codebase. Avoid dynamic encryption in generated fixtures Fixtures for passwords now generate a static hash. Previously, fixtures with password digest attributes regenerated the hash on each test run. Don’t add bundler platforms for JRuby Fixes Rails Apps on JRuby by not add...
Read more
July 18, 2025

A new touch option, accessing the editor from the error page and better migration logs

Hi, it’s Claudio Baccigalupo. So many great changes to the Rails codebase this week. Let’s check them out. Add touch option to update_column(s) Particularly useful for ETL processes that rely on the updated_at timestamps instead of copying the whole table. Previously, to keep timestamps current, the touch method had to be called after ...
Read more
July 11, 2025

Added rename_schema and more

Hi, Wojtek here. Let’s explore this week’s changes in the Rails codebase. Farewell RailsConf! 800 devs gathered in Philadelphia to share memories and say goodbye at the final RailsConf. Huge thanks to Ruby Central and all the speakers and attendees who made it such a memorable event over the past 19 years. Add rename_schema method for ...
Read more
July 4, 2025

Deprecating Associations, Cleaner Backtraces, and Smarter Defaults

Hi! Emmanuel Hayford here with some cool updates for you. 😎 Deprecated associations You can now mark associations as deprecated using: `has_many :posts, deprecated: true` Active Record will report any usage of the deprecated association. Three reporting modes are supported: `:warn (default)`, `:raise`, and `:notify`. You can also enabl...
Read more
June 27, 2025

BacktraceCleaner gets first_clean_frame and first_clean_location

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase. The Rails Foundation launched a new podcast: ‘On Rails’ with host Robby Russell In each episode, Robby talks with Rails devs and explores the real-world decisions that go into building, maintaining, and scaling Ruby on Rails applications. Episode one is already up ...
Read more
June 14, 2025

New Rails Foundation Guides PR, fix affected_rows for SQLite adapter and more!

Hi, it’s Vipul. Happy Friday 🎃! Let’s explore this week’s changes in the Rails codebase. New Guides Pull Request for review A new guides Pull Request is up, which updates the Active Record Encryption Guide. If you are well-versed in these areas, please review and submit your feedback on the PR! We also have 2 other Guides PRs open wher...
Read more
June 6, 2025

Improving Rails 8 week after week

Hi, it’s Claudio Baccigalupo. Let’s explore this week’s changes in the Rails codebase. Move PostgreSQL Guide into the API guides A new documentation PR is up for community review: information from the PostgreSQL guide has been migrated into the API docs, and the Active Record guide has been updated to be more database agnostic. Follow ...
Read more
May 30, 2025

Active Job Continuations and more

Hi, Wojtek here. Let’s see this week’s news about Rails. Final RailsConf The last RailsConf (July 8 - 10, Philadelphia) will include a fireside chat with DHH, and talks or panel discussions with Rails team members Eileen Uchitelle (Core), Gannon McGibbon (Committers), Hartley McGuire (Issues), and Matheus Richard (Triage), as well as m...
Read more
May 23, 2025

Rails World 2025 speaker lineup, deprecations, doc updates and more!

Hello! Emmanuel Hayford here. The third edition of Rails World is a couple of months away! In case you missed it, The Rails Foundation has already announced an exciting lineup that you should check out. Document `through` with `polymorphic` A new addition to the Rails documentation clarifies that polymorphic associations are not suppor...
Read more
May 17, 2025

RFC-9111 style Cache-Control directives hit or miss

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase. Message from the Rails Foundation While Rails World sold out quickly this year, a friendly reminder that the sessions will be recorded and published on YouTube quickly- the Opening and Closing Keynotes immediately, with all other sessions published shortly thereaft...
Read more
May 9, 2025

New Guides PR, Rails World Updates and more!

Hi, it’s Vipul!. Let’s explore this week’s changes in the Rails codebase. New Guides Pull Request for review A new guides Pull Request is up, which updates the Rails Application Template Guide and also merges it with Rails Generators Guide. If you are well-versed in these areas, please review and submit your feedback on the PR! Rails W...
Read more
May 2, 2025

Parallel testing improvements and more

Hi, Wojtek here. Let’s see what’s new in the Rails. Rails World tickets coming soon We’ve been informed that General Admission tickets will be available May 13. More information is coming soon, but you can already mark your calendar! Implement ability to skip creating parallel testing databases With parallel testing, Rails will create ...
Read more
April 25, 2025

Continuously improving the framework

Hi, it’s Claudio Baccigalupo. Let’s explore this week’s changes in the Rails codebase. Add –reset option to bin/setup Makes it easier to zero out a database and load seeds during development. Add assert_in_body/assert_not_in_body Lets test checking a response body for a piece of text without going through DOM manipulation. Add a load h...
Read more
April 18, 2025

Improved leap year counting performance and more!

Hi, it’s Greg. Let’s explore this week’s changes in the Rails codebase. Action Cable: Allow setting nil as subscription connection identifier for Redis If you use Google Cloud Memorystore or another platform that blocks the command CLIENT SETNAME in Redis, previously you needed to overwrite the Redis connection factory. With this chang...
Read more
April 11, 2025

Refactoring Active Record Signed ID verifiers

Hi, it’s zzak. Hopefully everyone got their Rails World CFPs in on time! Let’s explore this week’s changes in the Rails codebase. Allow allocated Active Records to lookup associations Previously, the association cache isn’t setup on allocated record objects, so association lookups will crash. Test frameworks like mocha use allocate to ...
Read more
April 4, 2025

must-understand, with_default_isolation_level, Rails World CFP and more!

Hi, it’s Vipul. Let’s explore this week’s changes in the Rails codebase. Last Week for Rails World 2025 Call for Papers This is the last week for The CFP for Rails World 2025! Submit your talk until April 10th. Add must-understand directive according to RFC 9111 The must-understand directive indicates that a cache must understand the s...
Read more
March 28, 2025

Capturing error reports in tests and more

Hi, Wojtek here. Let’s explore last 2 week’s changes in the Rails codebase. Add capture_error_reports Captures all reported errors from within the block that match the given error class. reports = capture_error_reports(IOError) do Rails.error.report(IOError.new("What a Terrible Failure")) Rails.error.report(StandardError.new) end asser...
Read more
March 14, 2025

Continuous integration at your fingertips

Hi, it’s Claudio Baccigalupo. Let’s explore this week’s changes in the Rails codebase. Structured CI with bin/ci Introduce bin/ci to standardize CI workflows based on a new DSL for declaring workflow steps in config/ci.rb. bin/ci runs your all tests, linters, and security scanners. And it optionally signs off on your work by giving you...
Read more
March 7, 2025

Rails World CFP, YJIT configuration and more!

Hi, it’s Greg. Let’s explore this week’s changes in the Rails codebase. Rails World 2025 Call for Papers The CFP for Rails World 2025 is now live! Submit your talk until April 10th: https://rubyonrails.org/2025/3/7/apply-to-speak-at-rails-world-2025. Add a default bin/bundle-audit configuration This pull request adds bin/bundler-audit ...
Read more
February 28, 2025

Ignoring indexes in MySQL has never been so easy...

Hey, zzak here. Last week was a short one, so we took the week off, let’s catch up. Heads up: the Rails World CFP will open on March 11th. The 2025 landing page is currently being built, but if you are going to submit a talk, keep an eye on: rubyonrails.org/world/ Add Podman instructions for devcontainers This is not necessarily a chan...
Read more
February 14, 2025

Routes Lookup Optimizations, PostgreSQL Alter Table improvements and more!

Hey everyone, Happy Friday! Vipul here with the latest updates for This Week in Rails. This week, several improvements were made to Routes lookup. Below are a few notable changes- Speed up GTG Simulator by reducing slices/matches This change improves routing performance by 10-20% in simple cases by removing duplication and preventing e...
Read more

See more posts »