The Wire · Showcase
SPRING STOPS CRASHING ON SLOW BOOTS, RAILS PATCHES VIEW RELOADER
By RepoJournal · Filed · About Rails
Spring 4.5.0 fixes the Errno::EPIPE crashes that kill processes when clients disconnect during preload, a critical stability issue for large monorepos that take >5 seconds to boot.
The Spring release [1] addresses a years-old reliability problem: when a client times out waiting for the preloader to finish (default 5 second window), unrescued socket writes [2] crash both the server and application processes. Shopify's monorepo made this reproducible on every slow boot. The same release adds post-environment-load hooks [1] and eagerly preloads framework base classes before the parent process forks, preventing side effects during first request. Meanwhile, Rails merged a ViewReloader fix [3] that stops constructing empty FileUpdateCheckers on every engine boot — a performance win for apps with lazy view paths. The ecosystem also landed a minitest compatibility fix [4] for request format assertions that broke when minitest changed how assert_nil works under the hood.
Action items
- → Upgrade spring to 4.5.0 immediately if you see EPIPE crashes on slow boots rails/spring [immediate]
- → Update rails main branch to pick up ViewReloader optimization before next release rails/rails [monitor]
- → Verify request format tests pass with latest minitest if you override assert_nil rails/rails [plan]
References
- [1] v4.5.0 ↗ rails/spring
- [2] Don't crash on client disconnect (Server and Application) ↗ rails/spring
- [3] Defer ViewReloader build when no view paths are registered ↗ rails/rails
- [4] Avoid assert_nil for Mime::NullType request format ↗ rails/rails
FAQ
- What changed in Rails on May 2, 2026?
- Spring 4.5.0 fixes the Errno::EPIPE crashes that kill processes when clients disconnect during preload, a critical stability issue for large monorepos that take >5 seconds to boot.
- What should Rails teams do about it?
- Upgrade spring to 4.5.0 immediately if you see EPIPE crashes on slow boots • Update rails main branch to pick up ViewReloader optimization before next release • Verify request format tests pass with latest minitest if you override assert_nil
- Which Rails repositories shipped on May 2, 2026?
- rails/spring, rails/rails