This Week in Rails

Your weekly inside scoop of interesting commits, pull requests and more from Rails.
May 8, 2026

This Week in Rails: May 8, 2026

Hi, it's zzak. This week was full of changes, so grab a seat, there's a lot to cover. New Accessibility Guide open for review The Rails Foundation is working on a new Rails-flavored Accessibility Guide, covering semantic HTML, ARIA, page structure, forms, Turbo interactions, CSS, and testing. Please take a look and share feedback on th...
Read more
May 1, 2026

This Week in Rails: May 1, 2026

Hi, it’s Greg, bringing you the latest updates about Rails. Updated guides await community input The Asset Pipeline, Layouts & Rendering, Caching, and Active Job Basics Guides have all recently been updated and are open for community input. If you have time and would like to help review, please check the list of pull requests. Apply fo...
Read more
April 24, 2026

Active Record gets better every week

Hi, it’s Claudio Baccigalupo. Let’s explore what happened this week in Ruby on Rails. Apply as a speaker for Rails World Don’t miss out on the opportunity to join 1,200+ Rails developers this year at the Palmer Center, Austin, TX. Corporate Support tickets are on sale now. General admission tickets will be released on May 12. How do yo...
Read more
April 17, 2026

Query command for database queries and more

Hi, Wojtek here. Let’s see what’s new in the Rails on this finally sunny day (at least in my corner of the world ;-). Query command for read-only database queries Adds rails query — a read-only database query command with structured JSON output. rails query "Account.where(plan: 'premium').limit(2)" { "columns": ["id", "name", "plan", "...
Read more
April 10, 2026

Explicit query: and body: kwargs for integration tests and more!

Hi, I’m Emmanuel Hayford. Here’s what caught my eye in Rails this week. Fix GET+JSON+params in integration tests for API-only apps params: in integration test helpers was ambiguous for GET requests with as: :json — it wasn’t clear whether params should go in the query string or request body. The original workaround converted GET to POS...
Read more
April 5, 2026

Speedup ActiveRecord::LogSubscriber#sql_color and more!

Hi, it’s Vipul. Let’s explore this week’s changes in the Rails codebase. Remove fast_string_to_time workaround in ActiveModel::Type::Helpers::TimeValue Ruby 3.2.0 had a bug where Time.new(..., in: "UTC") could return an invalid Time object. With the minimum supported Ruby now at 3.3.1, the runtime probe and workaround are dead code and...
Read more
March 27, 2026

This Week in Rails: March 27, 2026

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase. New Rails releases this week Rails 7.2.3.1, 8.0.4.1, and 8.1.2.1 shipped as security releases, followed by 8.0.5 and 8.1.3 bugfix releases the next day. Combine per-validator and top-level :if/:unless/:on in validates Active Record's validates now combines top-leve...
Read more
March 20, 2026

This Week in Rails: March 20, 2026

Hi, it’s gregmolnar. Let’s explore this week’s changes in the Rails codebase. Batch SQL statements when creating tables This change batches the SQL statements during loading a database schema to improve the performance of the process. Deprecate require_dependency require_dependency is deprecated without replacement and will be removed ...
Read more
March 13, 2026

Validate URI scheme in Action Text and more

Hi, Wojtek here. Let’s quickly look at a few of this week’s fixes. Validate URI scheme in Action Text markdown link conversion Add a Rails::HTML::Sanitizer.allowed_uri? check to markdown_link. When the URI scheme is disallowed, return the escaped title wrapped in escaped brackets (\[title\]) instead of emitting a link. Example: <action...
Read more
March 7, 2026

This Week in Rails: March 6, 2026

Hi, it’s Claudio Baccigalupo. Let’s explore this week’s changes in the Rails codebase. Set read-only permissions for GitHub Actions workflow generated by rails new The workflow will run with the minimum required permissions, regardless of the GitHub Organization settings. Don’t guard action_dispatch_request and action_cable load hooks ...
Read more
February 28, 2026

Action Text gets Markdown conversion, editor links in devcontainers, and more!

Hey there, it's Emmanuel Hayford. A fresh batch of Rails changes just dropped, let's get into it. Action Text `to_markdown` generates markdown links for blobs When a rendering context is available, blob attachments now produce real markdown links (`![title](url)` for images, `[title](url)` for others) instead of plain-text placeholders...
Read more
February 20, 2026

New date time helpers, improved hash methods and more!

Hi, it’s Vipul. Let’s explore this week’s changes in the Rails codebase! Don’t filter StructuredEventSubscriber payloads Previously, StructuredEventSubscriber was filtering out certain keys from event payloads. This PR removes that filtering, so subscribers receive the full, unmodified payload giving developers access to the complete e...
Read more
February 13, 2026

This Week in Rails: February 13, 2026

Hi, it's zzak. Let's explore this week's changes in the Rails codebase. Add extension point to customize transaction for persistence methods Extracts the implicit transaction creation in persistence methods into an overridable private method, giving models full control over transaction behavior for save and destroy operations. Load hoo...
Read more
February 6, 2026

This Week in Rails: February 6, 2026

Happy Friday! This is Greg, bringing you the latest changes in the Rails codebase. It was a quiet week, but there are still noteworthy changes, let’s explore them. Read from ENV[‘REVISION’] if present Rails.app.revision now checks ENV["REVISION"] before falling back to the REVISION file or git. Improve error page to make nested stack t...
Read more
January 30, 2026

Disabled query cache in console and bugfixes

Hi, Wojtek here. Let’s see what changed in the Rails codebase. Disable the Active Record query cache in the console by default Pass –query-cache to enable it for the session. Fix inflections to better handle overlapping acronyms ActiveSupport::Inflector.inflections(:en) do |inflect| inflect.acronym "USD" inflect.acronym "USDC" end "USD...
Read more
January 24, 2026

Squish as fast as you can

Hi, it’s Claudio Baccigalupo. Let’s explore this week’s changes in the Rails codebase. Optimize String#squish A RegExp improvement in the Rails codebase makes squishing a string twice as fast. Render stream errors are reported to Rails.error Now that Rails has a dedicated API to report errors we can call it also when an error is raised...
Read more
January 17, 2026

Error-aware retry_on, PostgreSQL type mappings, and more!

Hi, it’s Emmanuel Hayford. Here’s a look at the highlights from this week’s updates to the Rails codebase. Allow retry_on wait procs to accept error as a second argument This PR adds support for retry_on wait procs to optionally receive the error as a second argument, enabling dynamic retry strategies based on error properties. class R...
Read more
January 2, 2026

This Week in Rails: January 2, 2026

Hi, it’s zzak. Hope everyone had a great holiday season and a happy new year! 🎊 Let’s explore this week’s changes in the Rails codebase. Add Rails.app.revision Add Rails.app.revision to provide a version identifier for error reporting, monitoring, cache keys, etc. Add ActionDispatch::Request#bearer_token Add ActionDispatch::Request#bea...
Read more
December 26, 2025

This Year in Rails

Happy Holidays, this is Claudio, Emmanuel, Greg, Vipul, Wojciech, and Zzak, bringing you the summary of what happened with Rails in the past year. It was a busy year with close to 2700 commits from 430 contributors and 14 releases, including Rails 8.1! The Rails Foundation also released a wrap up of 2025, and here are the most notewort...
Read more
December 19, 2025

Rails Luminary, modern approach to CSRF and more

Hi, Wojtek here. The Rails Community is not slowing down giving us another week of great news and features. Marco Roth as 2025 Rails Luminary If you attended any Ruby/Rails conference this year, there are high chances you met Marco in person sharing his passion and if you didn’t try his excellent herb gem yet, then install it and run i...
Read more
December 13, 2025

'Tis the season for contributing to Rails

Hi, it’s Claudio Baccigalupo. So many improvements to the Rails codebase this week! If you are also looking to contribute, there are several documentation PRs open for community review. Oh and we also have some Rails World 2026 updates! And now, let’s get to the PR-esents 🎁 ActiveStorage immediate variants Attachment variants gain the ...
Read more
December 5, 2025

Schema-Enforced JSON Access, Postgres Type Decoding, and more!

Hey! Emmanuel Hayford here. Here’s a look at the highlights from this week’s updates to the Rails codebase. Add schematized json for has_json Provides a schema-enforced access object for a JSON attribute. This allows you to assign values directly from the UI as strings, and still have them set with the correct JSON type in the database...
Read more
November 28, 2025

Active Support Instrumentation Documentation, QueryIntent#execute! and more!

Hi, it’s Vipul. Let’s explore this week’s changes in the Rails codebase. Active Support Instrumentation Documentation This Pull Request updates the Active Support Instrumentation documentation to receive various additions, improvements and more. It is now open for review and feedback from the community! Ensure TimeWithZone#as_json alwa...
Read more
November 21, 2025

This Week In Rails: November 21, 2025

Hi, it's zzak. Let's explore this week's changes in the Rails codebase. Add support for per-adapter migration strategy You can now set migration_strategy on individual adapter classes, overriding the global ActiveRecord.migration_strategy. This allows individual databases to customize migration execution logic: class CustomPostgresStra...
Read more
November 14, 2025

Rails Luminary 2025, dynamic rate-limiting options, performance optimizations and more!

Happy Friday! This is Greg, bringing you the latest changes from the Rails codebase. The 2025 Rails Luminary nominations are open. If you know of someone who has consistently gone above and beyond to contribute to the framework, triaging bugs, improving performance, adding helpful features or documentation, creating or maintaining gems...
Read more
November 7, 2025

Keep your passwords secure, one way or the other

Hi, it’s Claudio Baccigalupo. Let’s explore this week’s changes in the Rails codebase. Add :algorithm option to has_secure_password Active Model’s has_secure_password now supports different password hashing algorithms. Add built-in Argon2 support for has_secure_password Building on top of the previous PR, you can now add gem "argon2" a...
Read more
October 31, 2025

Summary report on CI run and more

Hi, Wojtek here. 🎃 Let’s see if there are any spooky changes in Rails. 🎃 New Rails Releases and End of Support Announcement Versions 7.0.10, 7.1.6, 7.2.3, 8.0.4, and 8.1.1 have been released. Rails 8.0 has received extended support. Add a summary report at the end of Continous Integration run The @results ivar is changed to hold the st...
Read more
October 24, 2025

Rails 8.1 released!

Hi, Emmanuel Hayford here. This one will be quick! Two days ago, Rails 8.1 was released! Rails 8.1 comes with a lot of rad features. Among them are Active Job Continuations, Structured Event Reporting, Local CI, Markdown Rendering, and a ton more! You can read details about this release or check the release notes. If you want to see th...
Read more
October 20, 2025

Bound SQL literals in CTEs, new tutorial and more!

Hi, it’s Vipul!. Let’s explore this week’s changes in the Rails codebase. Rails 8.1.0.rc1 was released! Rails 8.1.0 is right around the corner! Try out the latest release candidate and report any bugs you find! The newest add-on tutorial is now live on the Rails tutorials page! In this guide, you learn how to add Wishlist functionality...
Read more
October 10, 2025

RemoteIp trusts link-local IP ranges, and has_secure_token expiration gets config

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase. New documentation PR is up for community review The Rails Initialization Guide covers how Rails boots up, including the internal method calls, file load order, and how to hook into the initialization process. If you want to help by reviewing, find the PR here: http...
Read more

See more posts »