Ruby on Rails: Query Internals Rework and a Markdown Security Patch

Matthew Draper landed two large Active Record changes reworking how query predicates and result delivery work internally, while Action Text got two follow-up patches closing a markdown injection gap first flagged in PR #58543.

Duration: PT2M37S

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-25T13:15:54Z
  • Audio duration: PT2M37S

Transcript excerpt

This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.

You're listening to the Ruby on Rails briefing for August 25th, 2026.

The signal today is Active Record's query internals getting a real architectural pass, alongside a security cleanup in Action Text that took two tries to close properly.

Start with Active Record. Matthew Draper merged two connected changes: PR 58479 gives Active Record types a way to define their own query predicate expressions, replacing an earlier attempt and cleaning up how comparisons work across ordering, associations, and enums, without leaking Active Record-specific logic…

That query theme continues with PR 58548, which proposes an opt-in setting to reverse unordered select results, following a string of earlier fixes for code that quietly depended on database row order. The reminder here: a select without an explicit order has no guaranteed order, and Rails is giving developers a…

Second theme: Action Text's markdown safety. Mike Dalessio merged PR 58543, which stops a crafted "action-text-markdown" tag in user content from bypassing sanitization and slipping through as raw markdown. Hours later, PR 58553 closed a related gap — attachment captions were emitted unescaped when an attachable…

Smaller items…

Nearby episodes from Ruby on Rails

  1. Documentation Cleanup and Quiet Correctness Fixes
  2. Weekly Recap - Ractor Safety and Data Correctness
  3. Trimming the Fat in Reflection Code
  4. Lazy Loading and Doc Corrections
  5. Getting Rails Ready for Ractors
  6. Ractor-Ready and Batching Up
  7. Consistency Fixes and Ractor Readiness
  8. Association Integrity Fixes Take Center Stage