This Week in Rails

Your weekly inside scoop of interesting commits, pull requests and more from Rails.
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
February 7, 2025

Support joins in update_all for PG and SQLite and more

Hi, Wojtek here presenting you this week’s changes in the Rails codebase. Clio joins the Rails Foundation We’re excited to welcome Clio as the newest Contributing Member of the Rails Foundation. Support joins in update_all for Postgresql and SQlite Previously when generating update queries with one or more JOIN clauses, Active Record w...
Read more
January 31, 2025

Minimal apps, reply_to address, rotate secrets, podman support

Hi, it’s Claudio Baccigalupo. Let’s explore this week’s changes in the Rails codebase. Extend –minimal option rails new --minimal allows to create a basic Rails app, but recent additions to Rails were still included. Moving forward, this option will also skip Brakeman, CI, Docker, Kamal, Rubocop, Solid trifecta, and Thruster. Add reply...
Read more
January 24, 2025

Devcontainers without VSCode, a deprecation and more!

Hi, it’s Greg. Let’s explore this week’s changes in the Rails codebase. Eliminate queries loading dumped model schema on Postgres This pull request improves resiliency by avoiding the need to open a database connection to load the type map, while defining attribute methods at boot, when a schema cache file is configured on PostgreSQL d...
Read more
January 17, 2025

Fresh Rails apps Dependabot updates reduced to weekly, and Auth generator gets a safer logout

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase. Reduce the frequency of Dependabot updates in new projects. This changes frequency of Dependabot updates from daily to weekly for freshly generated Rails apps. Authentication generator’s SessionsController clears browser cache at logout On logout the SessionsContro...
Read more
January 10, 2025

Sorted Columns in Schema Dumper, Deprecations, and lots of fixes!

Hey everyone, Happy Friday! Vipul here with the latest updates for This Week in Rails. Before we start, a small update - I am happy to share that my team at Saeloun is joining the Rails Foundation as a contributing member. Read more about the reasons why we decided to join here, and why you should too! Colorize console prompt on non st...
Read more
January 3, 2025

Schema dumper versions formatter and more

Hi, Wojtek here. Let’s explore the first changes of the new year in the Rails codebase. Introduce versions formatter for the schema dumper It is now possible to override how schema dumper formats versions information inside the structure.sql file. Currently, the versions are simply sorted in the decreasing order. Within large teams, th...
Read more
December 28, 2024

This year in Rails

This is 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 4000 commits from 555 contributors and 50 releases, including Rails 8! For this year end issue, as a team we each hand-picked some of our favorite pull requests from the year. 2024 Wrap Up fro...
Read more
December 21, 2024

Revert Active Model's Normalization and Cache Store gets session ID uniqueness flag

Hi, it's zzak. Let's explore this week's changes in the Rails codebase. Fix "#to_query" to not include setter for nil values To keep the behavior consistent with Rack::Utils.parse_nested_query. # Before nil.to_query("key") #=> key= # After nil.to_query("key") #=> key Raise "ActiveRecordError" when "#increment!" called on new records Si...
Read more
December 14, 2024

New Rails Tutorial and Unpacked Videos, Releases, ActiveModel::Attributes::Normalization and more!

Hey everyone, Happy Saturday! Vipul here with the latest updates for This Week in Rails. Let’s dive in! This week, the Rails Foundation released a series of updated resources to help you learn the new Rails 8 defaults, including a brand new Getting Started Tutorial, a 9-part video series on YouTube, and updated Rails Guides. Read the a...
Read more
December 6, 2024

SQLite3 extensions loading and more

Hi, Wojtek here. Let’s explore this week’s news in the Rails. 🎅 Getting started tutorial New pull request up for a community review: the new Getting Started tutorial shows you how to build an e-commerce app using all of Rails 8’s features out of the box - straight through to deployment. This will be the flagship tutorial to guide new R...
Read more
November 29, 2024

Rails World 2025 dates announced and more!

Hi, it’s Greg. Let’s explore this week’s changes in the Rails codebase. Rails World 2025 - Save the date Rails World 2025 will take place September 4 and 5, 2025, again in Amsterdam. The same venue, the same city, and good news - more tickets. The CFP is expected to open in early spring 2025, and tickets to be released shortly thereaft...
Read more
November 22, 2024

Active Support's NotificationAssertions and `sql.active_record` gets `affected_rows`

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase. Add Active Support Notifications test helper module This PR has been created because it’s currently cumbersome to test that a certain code block/action triggers an ActiveSupport::Notifications::Event to be emitted. It would be ideal to have some helpers to assert a...
Read more
November 15, 2024

Rails 8 demo, Rails World re-edited videos, NotificationAssertions and more!

Hey everyone, Happy Friday! Vipul here with the latest updates for This Week in Rails. Let’s dive in! Rails 8: The Demo In case you missed it, Rails 8 was released last week. A new demo from DHH is now up Rails 8: The Demo showcasing its usage. The video covers getting started with Rails 8 by building a basic blog, adding a WYSIWYG edi...
Read more
November 8, 2024

Rails 8.0 and more

Hi, Wojtek here. Let’s explore this week’s Rails news. Rails 8 has been released Along with the announcement, you can read the release changelog. Action Controller guide improvements review Along with the improvements, there will be the new guide “Action Controller Advanced Topics”. It’s awaiting community feedback. Support disabling t...
Read more
November 1, 2024

Default Regexp.timeout and more!

Hi, it’s Greg. Let’s explore this week’s changes in the Rails codebase. Cast query_cache value when using URL configuration for Active Record When configuring the Active Record connection with DATABASE_URL, due to not casting the value to an integer, the query cache was not set to the given value. This pull request fixes this issue. De...
Read more
October 25, 2024

Active Job config `enqueue_after_transaction_commit` has been deprecated

Hi, it's zzak. Let's explore this week's changes in the Rails codebase. Deprecate setting the behavior of deferring job queueing until after commit The active_job.enqueue_after_transaction_commit setting has been deprecated. This behavior is not intended to be changed globally, but on a per-job basis. Add support for using Kamal inside...
Read more
October 18, 2024

New Maintenance policy, CVE releases, Rails World talks and more!

Hey everyone, Happy Friday! Vipul here with the latest updates for This Week in Rails. Let’s dive in! Rails World talks are out! Check out the recap of these talks in this blog post, or head over to Rails’ YouTube for the full playlist. New Rails maintenance policy and end of maintenance announcements These changes are designed to prov...
Read more
October 11, 2024

Lazy i18n watcher on boot and more

Hi, Wojtek here still feeling the good vibe of the Rails World. Cheers to all the attendees and see you in Amsterdam! Fireside Chat with DHH, Matz and Tobi The video from the Rails World is now ready to watch, followed by the Eileen keynote. All the videos will be available soon! Don’t execute i18n watcher on boot It shouldn’t catch an...
Read more
October 4, 2024

Make Float distinguish between float4 and float8 in PostgreSQL and more

Hi, it’s Greg, bringing to you the latest changes from Rails, while recovering from an amazing Rails World experience. Make ActionController::AllowBrowser::BrowserBlocker private To reduce the API surface area of the allow_browser feature, this commit marks the class as private API. Change ActiveSupport::HashWithIndifferentAccess#strin...
Read more
September 27, 2024

Rails 8 beta, DHH keynote, fresh error pages, and more!

Hi, it's zzak. Let's jump into This Week in Rails! Rails 8.0 beta 1 has been released! The first beta of Rails 8 is out! While the release notes are getting ready, have a look at the changes and give it a go. DHH keynote from Rails World The first talk recording from Rails World is up, and David goes over everything that went into Rail...
Read more
September 20, 2024

Kamal 2, Bye-bye Sprockets, and so much more!

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase. Rails World 2024 is next week Safe travels to everyone heading to Toronto! All sessions will be recorded and published on the Rails YouTube channel, so subscribe to get notified. [RF Guides] Active Record Validations The Foundation is still hard at work on updating...
Read more
September 13, 2024

Solid Cable as default, 2 new Guides PRs, and much more!

Hey everyone, Happy Friday the 13 🎃 Vipul here with the latest updates for This Week in Rails, from the very awesome EuRuKo this week! Let’s dive in. New Guides Pull Request for review Two new Guides Pull Requests are up for community review this week. If you are well versed in Action Mailer, or Error Reporting, please review and submi...
Read more

See more posts »