Ruby on Rails: Composite Keys and Concurrency Fixes Converge
Active Record's handling of composite and aliased foreign keys got a coordinated overhaul across three PRs from kamipo and contributor 55728, while a separate cluster of fixes hardened Ractor and thread-safety edge cases in Action View and Active Support.
Duration: PT2M43S
Episode overview
This episode is a short developer briefing from Ruby on Rails.
It explains recent repository work in plain language.
- Show: Ruby on Rails
- Published: 2026-08-04T13:15:11Z
- Audio duration: PT2M43S
Transcript excerpt
This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.
Good morning. It's August 4th, 2026, and today's Rails activity centers on two clusters: foreign key correctness in Active Record, and thread and Ractor safety across the framework.
The bigger story is foreign keys. PR 58354 found that aliasing a belongs_to foreign key with alias_attribute broke change tracking — because tracking was keyed to the real column name, not the alias. That silently broke counter caches, touch propagation, and required-association validation. Kamipo followed up fast…
The second theme is safety under concurrency. PR 58366 fixes a lock-order deadlock in Active Support's Notifications Fanout, where instrumentation and subscription changes could grab two locks in opposite order. PR 58361 fixes TimeWithZone raising an isolation error inside a Ractor, traced to an unfrozen string. PR…
Elsewhere, PR 58367 proposes requiring Rack 3.1 as the new minimum, and PR 58370 adds ZJIT as an alternative to YJIT, anticipating Ruby 4.1.
What to remember: if you're on composite primary keys or foreign key aliases, review the three kamipo and 55728 PRs together, not in isolation. And if you're experimenting with Ractors, several long-standing rough edges just got smoothed out.
Tha…
Nearby episodes from Ruby on Rails
- Attribute Aliases and Ractor Safety Come Home to Roost
- Weekly Recap - Ractor Readiness and Database Layer Cleanup
- Schema Building and Ractor Safety Cleanup
- Anonymous Classes Break Things
- Cleaning Up Active Record's Bind Parameter Plumbing
- Ractor Safety and the Great Insert Refactor
- Ractor Safety and the Great Insert Cleanup
- Correctness Cleanup Across the Stack