Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 19, 2026

Bumps shoryuken from 6.2.1 to 7.0.0.

Release notes

Sourced from shoryuken's releases.

Shoryuken 7.0.0

See the Upgrading to 7.0 guide for detailed migration instructions.

Breaking Changes

Version Requirements

  • Ruby 3.2.0 or higher - Minimum required Ruby version is now 3.2.0
    • Supported Ruby versions: 3.2, 3.3, 3.4
    • Users on Ruby 3.1 should upgrade or remain on Shoryuken 6.x
  • Rails 7.2 or higher - Rails 7.0 and 7.1 have reached end-of-life (April 2025)
    • Supported Rails versions: 7.2, 8.0, and 8.1
    • Users on older Rails versions should upgrade or remain on Shoryuken 6.x

Error Class Hierarchy

  • Add Shoryuken::Errors module with domain-specific error classes
    • Introduces Shoryuken::Errors::BaseError as base class for all Shoryuken errors
    • Shoryuken::Errors::QueueNotFoundError for non-existent or inaccessible SQS queues
    • Shoryuken::Errors::InvalidConfigurationError for configuration validation failures
    • Shoryuken::Errors::InvalidWorkerRegistrationError for worker registration conflicts
    • Shoryuken::Errors::InvalidPollingStrategyError for invalid polling strategy configuration
    • Shoryuken::Errors::InvalidEventError for invalid lifecycle event names
    • Shoryuken::Errors::InvalidDelayError for delays exceeding SQS 15-minute maximum
    • Shoryuken::Errors::InvalidArnError for invalid ARN format
    • Replaces generic Ruby exceptions (ArgumentError, RuntimeError) with specific error types

Other Breaking Changes

  • Removed Shoryuken::Shutdown class (unused since Celluloid removal in 2016)
  • FIFO queues now raise ArgumentError when using delay (fixes #924)
  • Removed core class monkey-patching (Hash and String extensions)
  • Replaced concurrent-ruby internal structures with pure Ruby implementations
  • Require aws-sdk-sqs >= 1.66

New Features

ActiveJob Enhancements

  • Bulk ActiveJob Enqueuing (Rails 7.1+)

    • Implements efficient bulk enqueuing using SQS send_message_batch API
    • Called by ActiveJob.perform_all_later for batching multiple jobs
    • Batches jobs in groups of 10 (SQS limit) per queue
  • ActiveJob Continuations (Rails 8.1+)

    • Implements stopping? method in ActiveJob adapters to signal graceful shutdown
    • Enables jobs to checkpoint progress and resume after interruption
    • See Rails PR #55127 for more details
  • CurrentAttributes Persistence

    • Enables Rails ActiveSupport::CurrentAttributes to flow from enqueue to job execution
    • Automatically serializes current attributes into job payload
    • Usage: require 'shoryuken/active_job/current_attributes' and Shoryuken::ActiveJob::CurrentAttributes.persist('MyApp::Current')

... (truncated)

Changelog

Sourced from shoryuken's changelog.

[7.0.0] - 2026-01-19

See the Upgrading to 7.0 guide for detailed migration instructions.

  • Breaking: Add Shoryuken::Errors module with domain-specific error classes

    • Introduces Shoryuken::Errors::BaseError as base class for all Shoryuken errors
    • Shoryuken::Errors::QueueNotFoundError for non-existent or inaccessible SQS queues
    • Shoryuken::Errors::InvalidConfigurationError for configuration validation failures
    • Shoryuken::Errors::InvalidWorkerRegistrationError for worker registration conflicts
    • Shoryuken::Errors::InvalidPollingStrategyError for invalid polling strategy configuration
    • Shoryuken::Errors::InvalidEventError for invalid lifecycle event names
    • Shoryuken::Errors::InvalidDelayError for delays exceeding SQS 15-minute maximum
    • Shoryuken::Errors::InvalidArnError for invalid ARN format
    • Replaces generic Ruby exceptions (ArgumentError, RuntimeError) with specific error types
  • Removed: Shoryuken::Shutdown class

    • This class was unused since the Celluloid removal in 2016
    • Originally used to raise on worker threads during hard shutdown
    • Current shutdown flow uses Interrupt and executor-level shutdown instead
  • Fix: Raise ArgumentError when using delay with FIFO queues

    • FIFO queues do not support per-message DelaySeconds
    • Previously caused confusing AWS errors with ActiveJob's retry_on (Rails 6.1+ defaults to wait: 3.seconds)
    • Now raises clear ArgumentError with guidance to use wait: 0
    • Fixes #924
  • Enhancement: Use fiber-local storage for logging context

    • Replaces thread-local storage with Fiber[] for proper isolation in async environments
    • Ensures logging context doesn't leak between fibers in the same thread
    • Leverages Ruby 3.2+ fiber-local storage API
  • Enhancement: Add yard-lint with comprehensive YARD documentation

    • Adds yard-lint gem for documentation linting
    • Documents all public classes, modules, and methods with YARD tags
    • Ensures 100% documentation coverage
  • Enhancement: Add enqueue_all for bulk ActiveJob enqueuing (Rails 7.1+)

    • Implements efficient bulk enqueuing using SQS send_message_batch API
    • Called by ActiveJob.perform_all_later for batching multiple jobs
    • Batches jobs in groups of 10 (SQS limit) per queue
    • Groups jobs by queue name for efficient multi-queue handling
  • Enhancement: Add ActiveJob Continuations support (Rails 8.1+)

    • Implements stopping? method in ActiveJob adapters to signal graceful shutdown
    • Enables jobs to checkpoint progress and resume after interruption
    • Handles past timestamps correctly (SQS treats negative delays as immediate delivery)
    • Tracks shutdown state in Launcher via stopping? flag
    • Leverages existing Shoryuken shutdown lifecycle (stop/stop! methods)
    • See Rails PR #55127 for more details on ActiveJob Continuations

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels Jan 19, 2026
@dependabot dependabot bot force-pushed the dependabot/bundler/shoryuken-7.0.0 branch 2 times, most recently from 6233fd0 to d1de3f2 Compare January 20, 2026 01:56
Bumps [shoryuken](https://github.com/phstc/shoryuken) from 6.2.1 to 7.0.0.
- [Release notes](https://github.com/phstc/shoryuken/releases)
- [Changelog](https://github.com/ruby-shoryuken/shoryuken/blob/main/CHANGELOG.md)
- [Commits](ruby-shoryuken/shoryuken@v6.2.1...v7.0.0)

---
updated-dependencies:
- dependency-name: shoryuken
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/bundler/shoryuken-7.0.0 branch from d1de3f2 to 314affe Compare January 27, 2026 07:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code

Projects

Development

Successfully merging this pull request may close these issues.

0 participants