RepoJournal
Rails

@rails

Ruby on Rails - Shopify, Basecamp, GitHub all run on it

Keep up with Rails in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

One email a day. Unsubscribe in one click.

Pick a date

Topics: Ruby Full archive →

The Wire · Showcase

RAILS HARDENS FILE STORAGE, UNIFIES FOREIGN KEY HANDLING ACROSS 22 COMMITS

By RepoJournal · Filed · About Rails

Rails killed a filesystem vulnerability while Propshaft eliminates globbing from production asset lookups in coordinated pushes toward Ractor compatibility.

The null character, invalid in most filesystems, now joins Rails' sanitization list [1], closing a hole where untrusted filenames could slip through. Simultaneously, the framework unified single and composite foreign key handling through `ActiveRecord::Key` [2], reducing branching logic and improving maintainability. Rails also made MIME types ractor-shareable by freezing the registry on eager load [3], with registration deprecated post-freeze. Propshaft followed suit by replacing filesystem globbing with resolver-based lookups [4], removing a production bottleneck where it previously had to walk every asset path. The asset layer now uses precompiled manifests in production while falling back to dynamic resolution in development [5] [6], and Propshaft's manifest schema expanded to include an "app" key for Static resolution [7]. Proc layouts moved toward shareability [8], and attribute type access inside ractors was fixed [9]. The effort is clear: Rails and Propshaft are systematically removing production filesystem dependencies and freezing mutable state to unlock Ractor support.

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] Add NUL (\0) to the list of unsafe characters for storage rails/rails
  2. [2] Use `ActiveRecord::Key` to unify single / composite FK handling in `BelongsToAssociation` ↗ rails/rails
  3. [3] Make Mime types ractor-shareable ↗ rails/rails
  4. [4] Look up :app stylesheets through the resolver ↗ rails/propshaft
  5. [5] Look up :all stylesheets through the resolver ↗ rails/propshaft
  6. [6] Look up :app stylesheets through the resolver rails/propshaft
  7. [7] Add "app" key to maninfest for Static resolution rails/propshaft
  8. [8] Make Proc layouts shareable ↗ rails/rails
  9. [9] Merge pull request #58352 from Shopify/ec-attribute-type-fix rails/rails

Quick answers

What shipped in Rails on August 5, 2026?
Rails killed a filesystem vulnerability while Propshaft eliminates globbing from production asset lookups in coordinated pushes toward Ractor compatibility. In total, 22 commits and 13 pull requests landed.
Who contributed to Rails on August 5, 2026?
6 developers shipped this update, including Rosa Gutierrez, kamipo, etiennebarrie, Gannon McGibbon, hmcguire-shopify, and Hartley McGuire.
What were the notable Rails updates?
Add NUL (\0) to the list of unsafe characters for storage, Use `ActiveRecord::Key` to unify single / composite FK handling in `BelongsToAssociation`, and Make Mime types ractor-shareable.

More from @rails

Daily updates, in your inbox

Follow Rails

Keep up with Rails in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

One email a day. Unsubscribe in one click. Read a past issue →

Elsewhere on the wire

Want every project, not just this one?