The Wire · Showcase
BOOTSNAP FIXES FROZEN STRING LITERALS AND COVERAGE CONFLICTS ON RUBY 4.0.4
By RepoJournal · Filed · About Rails
Bootsnap now plays nice with coverage tools and properly tracks ISeq compile option mutations, unblocking Ruby 4.0.4+ deployments.
The real story lives in Bootsnap [1][2][3], where a trio of fixes landed overnight to handle edge cases that break on newer Ruby versions. When `RubyVM::ISeq.compile_option` mutates at runtime, Bootsnap's custom compilers weren't updating — that's fixed [1]. More critical: `Bootsnap.enable_frozen_string_literal` now works even when coverage is enabled [2], but only on Ruby 4.0.4+, because coverage suspension (not full stop) breaks ISeq dumping [3]. This matters because until now, the coverage check during ISeq dumping was effectively a no-op on older Rubies.
Meanwhile, Rails itself is doing housekeeping. The QueAdapter reference was finally removed from ActiveJob [4][5], cleaning up stale code after the adapter was dropped. Docs across rails/rails and rails-dom-testing got formatting fixes [6][7][8][9][10] — proper indentation and <tt> tags so RDoc renders correctly. These are small wins but they matter for anyone reading the API docs on a fresh install.
Action items
- → Update Bootsnap if you're running Ruby 4.0.4+ with coverage enabled or frozen string literals rails/bootsnap [plan]
- → No action required for Rails core — docs-only fixes and stale code cleanup rails/rails [monitor]
References
- [1] Better support `RubyVM::ISeq.compile_option` being mutated ↗ rails/bootsnap
- [2] Make `Bootsnap.enable_frozen_string_literal` work even with coverage on ↗ rails/bootsnap
- [3] Handle Coverage being suspended ↗ rails/bootsnap
- [4] Merge pull request #57357 from p8/activejob/remove-reference-to-que rails/rails
- [5] Remove reference to removed Que adapter rails/rails
- [6] Fix docs formatting for `ActionController::Live` [ci skip] ↗ rails/rails
- [7] Merge pull request #57359 from p8/activestorage/fix-formatting-of-controller-docs rails/rails
- [8] Fix formatting in Active Storage controller docs rails/rails
- [9] Merge pull request #127 from drjayvee/fix-assert_dom-docs rails/rails-dom-testing
- [10] Fix documentation formatting in SelectorAssertions#assert_dom ↗ rails/rails-dom-testing
FAQ
- What changed in Rails on May 14, 2026?
- Bootsnap now plays nice with coverage tools and properly tracks ISeq compile option mutations, unblocking Ruby 4.0.4+ deployments.
- What should Rails teams do about it?
- Update Bootsnap if you're running Ruby 4.0.4+ with coverage enabled or frozen string literals • No action required for Rails core — docs-only fixes and stale code cleanup
- Which Rails repositories shipped on May 14, 2026?
- rails/bootsnap, rails/rails, rails/rails-dom-testing