Ruby on Rails: When Data Gets Serialized Twice
Today's activity centers on a recurring bug pattern—data getting mishandled across serialization boundaries—showing up in PostgreSQL binary columns, encrypted JSON fixtures, and a JSON coder regression, alongside new configuration options for Active Storage and expanded documentation.
Duration: PT2M39S
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-31T13:14:19Z
- Audio duration: PT2M39S
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 31st, and here's your Rails briefing.
The clearest signal today: serialization keeps tripping up Rails in subtle ways, and three separate fixes trace back to that same root problem.
Start with PR 58614. PostgreSQL's Bytea type deserializes binary strings using an instance variable to track whether the data's already been decoded. But that marker doesn't survive a cache round-trip through Paquito or YAML, so a record rebuilt from cache can crash or silently corrupt binary data. Drymar's fix…
Then there's PR 58606, merged overnight and folded into commit 5-d-e-2-5-e-6. Encrypted fixtures on JSON columns were getting serialized twice — once by the encryption layer, once again by the JSON column type — which meant reading them back raised a decryption error instead of your data. If you're using encrypted…
And PR 58612, merged as commit 0-6-e-d-a-c-5, fixes a plain old naming bug: a prior rename of an initializer argument to "encode options" left one internal reference still pointing at the old name, so passing encode options to the JSON coder raised a name error. Small fix, but it shipped broken until now.
Taken together: whenever Rails moves data between…
Nearby episodes from Ruby on Rails
- Weekly Recap - Concurrency Safety and Cache Store Cleanup
- Quiet Data, Loud Fixes
- Keeping Pace With Upstream Dependencies
- Fiber Isolation Takes Center Stage
- Chasing Down Regressions
- Ractor Safety, Redis Fixes, and Dead Code Cleanup
- Query Internals Rework and a Markdown Security Patch
- Documentation Cleanup and Quiet Correctness Fixes