Skip to content

Remove spring and spring-watcher-listen (dev preloader)#89

Merged
JuanVqz merged 1 commit into
mainfrom
chore/remove-spring
Jul 10, 2026
Merged

Remove spring and spring-watcher-listen (dev preloader)#89
JuanVqz merged 1 commit into
mainfrom
chore/remove-spring

Conversation

@JuanVqz

@JuanVqz JuanVqz commented Jul 10, 2026

Copy link
Copy Markdown
Member

What

Removes the spring app preloader and its spring-watcher-listen plugin.

Why

spring is optional developer tooling (a Rails application preloader) — not required at Rails 8.1, and no longer shipped in modern Rails' default Gemfile. Here it's a direct-only dependency (nothing pulls it transitively), and in practice it's been a source of stale-state / hang gotchas (one-shot commands had to be run with DISABLE_SPRING=1). Dropping it simplifies the dev setup with no runtime impact — spring never runs in production.

Changes

  • Gemfile: remove gem "spring" and gem "spring-watcher-listen" (and the now-moot pin comment)
  • bin/rails, bin/rake: drop the spring loader preamble → plain standard binstubs
  • Delete bin/spring and config/spring.rb
  • Gemfile.lock + dual-boot Gemfile.next.lock updated

Verification

  • bin/rails runner and bin/rake --tasks work with the preamble removed (no spring needed)
  • Test suite: 16 runs, 52 assertions, 0 failures (run via the modified binstubs)
  • rubocop clean (exact CI config), reek clean

No production/runtime surface — spring is development-group only.

@JuanVqz JuanVqz self-assigned this Jul 10, 2026
spring is optional developer tooling (an app preloader), not required at
Rails 8.1 — modern Rails no longer ships it in the default Gemfile. It's a
direct-only dependency here (nothing pulls it transitively), and in practice
it's been a source of stale-state/hang gotchas (commands had to be run with
DISABLE_SPRING=1). Dropping it simplifies the dev setup with no runtime
impact.

- Gemfile: remove gem "spring" + gem "spring-watcher-listen" (and the pin comment)
- bin/rails, bin/rake: drop the spring loader preamble (standard binstubs)
- delete bin/spring and config/spring.rb
- both lockfiles updated

Verified locally: bin/rails runner + bin/rake work without the preamble,
test suite 16/52/0 (run via the binstubs), rubocop + reek clean.
@JuanVqz JuanVqz force-pushed the chore/remove-spring branch from 1cf3864 to 2bb8d15 Compare July 10, 2026 14:24
@JuanVqz JuanVqz marked this pull request as ready for review July 10, 2026 14:24
@JuanVqz JuanVqz merged commit 2100b91 into main Jul 10, 2026
@JuanVqz JuanVqz deleted the chore/remove-spring branch July 10, 2026 14:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant