Skip to content

Prepare for resque 3.0 compatibility#809

Merged
PatrickTulskie merged 8 commits intoresque:masterfrom
PatrickTulskie:prepare-v5
Jan 15, 2026
Merged

Prepare for resque 3.0 compatibility#809
PatrickTulskie merged 8 commits intoresque:masterfrom
PatrickTulskie:prepare-v5

Conversation

@PatrickTulskie
Copy link
Member

@PatrickTulskie PatrickTulskie commented Nov 25, 2025

This PR prepares resque-scheduler for compatibility with resque 3.0.

Breaking Changes

  • Ruby requirement: >= 2.3.0>= 3.0.0
  • Resque dependency: >= 1.27>= 3.0
  • Redis dependency: >= 3.3>= 4.0

Dependencies

  • Added base64 ~> 0.1 runtime dependency (Ruby 3.4+ compatibility)
  • Added irb dev dependency (Ruby 4+ compatibility)
  • Removed rack < 3 constraint, added Rack 2/3 matrix testing
  • Updated rubocop: ~> 0.40.0~> 0.80

CI/Testing

  • CI now tests Ruby 3.0-3.4 + head only (removed Ruby 2.x)
  • Added Rack 2/3 matrix testing
  • Simplified to test against resque master only
  • Fixed test compatibility with Rack 3
  • Fixed race condition in scheduler task tests

Code Improvements

  • Use JSON.parse instead of JSON.load (security improvement)
  • Use URI.decode_www_form_component instead of CGI.unescape
  • Consistent time formatting in views

Configuration

  • Modernized .rubocop.yml to DisabledByDefault: true approach
  • Set TargetRubyVersion: 3.0

Note

This PR does not include a version bump to 5.0.0 yet. That will happen when resque 3.0 is released.

@PatrickTulskie PatrickTulskie marked this pull request as draft November 25, 2025 21:33
@PatrickTulskie
Copy link
Member Author

Flipping this over to draft for now. I'll mark it ready for review once resque 3.0 is shipped.

@PatrickTulskie PatrickTulskie marked this pull request as ready for review January 13, 2026 20:06
@PatrickTulskie PatrickTulskie force-pushed the prepare-v5 branch 10 times, most recently from aa5d6cf to 785a58a Compare January 14, 2026 22:52
- Update Ruby requirement to >= 3.0.0
- Update resque dependency to >= 3.0
- Update redis dependency to >= 4.0
- Add base64 runtime dependency for Ruby 3.4+ compatibility
- Remove rack < 3 constraint from dev dependencies
- Add Rack version matrix support with rackup for Rack 3+
- Update rubocop dependency to ~> 0.80
- Switch .rubocop.yml to DisabledByDefault approach with minimal enabled cops
- Add scheduler.rb to GuardClause exclusions in .rubocop_todo.yml
IRB is no longer bundled with Ruby 4+ and must be explicitly declared
as a development dependency.
- Remove Ruby 2.x support, test Ruby 3.0-3.4 + head only
- Simplify resque matrix to test against master only
- Update redis matrix to 4.8 and latest
- Add Rack 2/3 matrix testing
- Update rubocop workflow to use Ruby 3.4
- Change expected host from example.org to localhost in resque-web tests
- Add default_host method override in test helper for Rack 3 compatibility
- Use JSON.parse instead of JSON.load
- Use URI.decode_www_form_component instead of CGI.unescape
@PatrickTulskie PatrickTulskie merged commit 04f4e01 into resque:master Jan 15, 2026
73 checks passed
@PatrickTulskie PatrickTulskie mentioned this pull request Jan 15, 2026
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