I shipped rspec-tracer 1.0 in 2021 and the project sat untouched for 4 years. I came back to it last month, shipped 11 maintenance releases on the 1.x line absorbing crash + correctness fixes that had piled up in forks, then cut a 2.0 pre-release this week.
What rspec-tracer does, for context: tracks which source files each RSpec example depends on, so the second run of your suite skips examples whose inputs didn't change. Cold runs full; warm runs skip everything that wasn't affected by your edit.
What's new in 2.0 vs 1.x:
-
Pluggable storage: JSON (default, preserves the 1.x layout) or SQLite (single-file DB; MRI-only).
-
Pluggable remote cache: S3, Local-FS, or Redis (with optional per-key TTL + PR-branches sidecar).
-
Per-example
tracks:DSL for declared deps the tracker can't auto-observe (tracks: { files: 'app/policies/**/*.rb', env: 'ROLE_CONFIG' }). -
track_env(*names)config-level DSL with single-wildcard patterns ('RAILS_*','*_TOKEN','*'). -
Rails preset:
track_rails_defaultsauto-attaches views, locales, fixtures, factories, helpers, config, schema. -
bin/rspec-tracerCLI:doctor,cache:info,cache:clear,report:open,explain <example_id>. -
HTML + JSON reporters alongside terminal output.
-
SimpleCov branch coverage now works alongside (1.x had it disabled).
Pre-release framing — the gem is on RubyGems with --pre opt-in. 2.0.0 final is targeted in ~2 weeks. Looking for testers + feedback before final.
# Gemfile gem 'rspec-tracer', '= 2.0.0.pre.1', group: :test, require: false
Release notes: