159 wires and counting

$ follow Rails

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

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

$ status

wire 2026-06-10
stories 26

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

RAILS NIGHTLIES FLUSH OUT FLAKY TESTS AND SILENT FAILURES

By RepoJournal · Filed · About Rails · Composed from the cited sources · methodology

Three silent data bugs in core Rails methods just got exposed and fixed overnight: TimeZone parsing drops fractional seconds, number formatting crashes on negative values with nil precision, and DelegateClass silently swallows blocks.

The rails-nightly build caught a test ordering issue that exposed deeper problems in the test suite itself [1]. More importantly, three separate bugs across Rails utilities are now patched. TimeZone#strptime was silently dropping sub-second fractions when parsing epoch-seconds formats like "%s.%N" even though the underlying parser returned both the seconds and fraction [2]. The number_to_currency helper had a positive/negative asymmetry: it crashed with TypeError on negative numbers when precision was nil, while positive numbers handled it fine [3]. Meanwhile, ActiveSupport::Delegation.DelegateClass was generating broken delegator methods for any wrapped method that yields implicitly (String#scan, Enumerable#map, etc.) because it wasn't reading block parameters from the original signature [4]. All three are the kind of bugs that ship silently into production because they only surface under specific conditions. The test suite fixes are already merged [5], and rails-html-sanitizer is keeping pace with dependency updates [6].

Action items

References

  1. [1] Remove unordered baseline assertions from test_default_order rails/rails ↗
  2. [2] Preserve sub-second fraction in TimeZone#strptime with %s rails/rails ↗
  3. [3] Fix number_to_currency crashing on a negative number with precision: nil rails/rails ↗
  4. [4] Forward blocks to DelegateClass methods that yield implicitly rails/rails ↗
  5. [5] Merge pull request #57630 from yahonda/remove-flaky-baseline-test-default-order rails/rails ↗
  6. [6] dep(dev): update development dependencies (#217) ↗ rails/rails-html-sanitizer

Quick answers

What shipped in Rails on June 10, 2026?
Three silent data bugs in core Rails methods just got exposed and fixed overnight: TimeZone parsing drops fractional seconds, number formatting crashes on negative values with nil precision, and DelegateClass silently swallows blocks. In total, 17 commits and 9 pull requests landed.
What were the notable Rails updates?
Remove unordered baseline assertions from test_default_order, Preserve sub-second fraction in TimeZone#strptime with %s, and Fix number_to_currency crashing on a negative number with precision: nil.