RepoJournal
Rails

@rails

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

Pick a date

The Wire · Showcase

RAILS NIGHTLIES FLUSH OUT FLAKY TESTS AND SILENT FAILURES

By RepoJournal · Filed · About Rails

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

FAQ

What changed 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.
What should Rails teams do about it?
Pull latest rails/rails if you wrap enumerable methods in DelegateClass - blocks were being silently dropped • Check any code using TimeZone#strptime with fractional seconds format - you may be losing precision • Review uses of number_to_currency with precision: nil on negative numbers
Which Rails repositories shipped on June 10, 2026?
rails/rails, rails/rails-html-sanitizer

For your repos

The showcase is a teaser.
Your wire is the product.

Same engine. Different stack. Below: what changes when the wire is yours.

Showcase wire

  • 14 famous open source orgs
  • One wire per day
  • Public, generic
  • Read on the web, when you remember

Your wire

  • Up to 1,500 of your repos - orgs, deps, vendors
  • Morning and evening briefs
  • Action items routed to your team
  • Slack delivery, email, breaking-news CVE alerts

Want a hands-on demo first? Ask a current user for an invite link.