Skip to content

Releases: ruby-shoryuken/shoryuken

v7.0.0.rc1

17 Nov 08:34
52f67e4

Choose a tag to compare

v7.0.0.rc1 Pre-release
Pre-release
  • 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)
    • Includes comprehensive integration tests with continuable jobs
    • See Rails PR #55127 for more details on ActiveJob Continuations
  • Breaking: Remove support for Rails versions older than 7.2

    • Rails 7.0 and 7.1 have reached end-of-life and are no longer supported
    • Supported versions: Rails 7.2, 8.0, and 8.1
    • Users on older Rails versions should upgrade or remain on Shoryuken 6.x
  • Enhancement: Replace Concurrent::AtomicFixnum with pure Ruby AtomicCounter

    • Removes external dependency on concurrent-ruby for atomic fixnum operations
    • Introduces Shoryuken::Helpers::AtomicCounter as a thread-safe alternative using Mutex
    • Reduces gem footprint while maintaining full functionality
  • Enhancement: Replace Concurrent::AtomicBoolean with pure Ruby AtomicBoolean

    • Removes external dependency on concurrent-ruby for atomic boolean operations
    • Introduces Shoryuken::Helpers::AtomicBoolean extending AtomicCounter
    • Further reduces gem footprint while maintaining full functionality
  • Enhancement: Replace Concurrent::Hash with pure Ruby AtomicHash

    • Removes external dependency on concurrent-ruby for hash operations
    • Introduces Shoryuken::Helpers::AtomicHash with mutex-protected writes and concurrent reads
    • Ensures JRuby compatibility while maintaining high performance for read-heavy workloads
    • #866
    • #867
    • #868
  • Enhancement: Replace core class extensions with helper utilities

    • Removes all core Ruby class monkey-patching (Hash and String extensions)
    • Introduces Shoryuken::Helpers::HashUtils.deep_symbolize_keys for configuration processing
    • Introduces Shoryuken::Helpers::StringUtils.constantize for dynamic class loading
    • Eliminates unnecessary ActiveSupport dependencies
    • Completely removes lib/shoryuken/core_ext.rb file
    • Maintains all existing functionality while following Ruby best practices
    • Improves code maintainability and reduces global namespace pollution
  • Enhancement: Implement Zeitwerk autoloading

    • Replaces manual require statements with Zeitwerk-based autoloading
    • Adds zeitwerk dependency for modern Ruby module loading
    • Splits polling classes into properly named files (BaseStrategy, QueueConfiguration)
    • Reduces startup overhead and improves code organization
    • Maintains backward compatibility while modernizing the codebase
  • Enhancement: Increase SendMessageBatch to 1MB to align with AWS

  • Enhancement: Replace OpenStruct usage with Struct for inline execution

  • Enhancement: Configure server side logging (BenMorganMY)

  • Enhancement: Use -1 as thread priority

  • Enhancement: Add Support for message_attributes to InlineExecutor

  • Enhancement: Introduce trusted publishing

  • Enhancement: Add enqueue_after_transaction_commit? for Rails 7.2 compatibility

  • Enhancement: Bring Ruby 3.4 into the CI

  • Fix integration tests by updating aws-sdk-sqs and replacing moto with LocalStack

  • Breaking: Remove support of Ruby versions older than 3.1

  • Breaking: Remove support of Rails versions older than 7.0

  • Breaking: Require aws-sdk-sqs >= 1.66:

v7.0.0.alpha2

31 Oct 14:54
dafabc5

Choose a tag to compare

v7.0.0.alpha2 Pre-release
Pre-release
  • Enhancement: Replace Concurrent::AtomicFixnum with pure Ruby AtomicCounter

    • Removes external dependency on concurrent-ruby for atomic fixnum operations
    • Introduces Shoryuken::Helpers::AtomicCounter as a thread-safe alternative using Mutex
    • Reduces gem footprint while maintaining full functionality
  • Enhancement: Replace Concurrent::AtomicBoolean with pure Ruby AtomicBoolean

    • Removes external dependency on concurrent-ruby for atomic boolean operations
    • Introduces Shoryuken::Helpers::AtomicBoolean extending AtomicCounter
    • Further reduces gem footprint while maintaining full functionality
  • Enhancement: Replace Concurrent::Hash with pure Ruby AtomicHash

    • Removes external dependency on concurrent-ruby for hash operations
    • Introduces Shoryuken::Helpers::AtomicHash with mutex-protected writes and concurrent reads
    • Ensures JRuby compatibility while maintaining high performance for read-heavy workloads
    • #866
    • #867
    • #868
  • Enhancement: Replace core class extensions with helper utilities

    • Removes all core Ruby class monkey-patching (Hash and String extensions)
    • Introduces Shoryuken::Helpers::HashUtils.deep_symbolize_keys for configuration processing
    • Introduces Shoryuken::Helpers::StringUtils.constantize for dynamic class loading
    • Eliminates unnecessary ActiveSupport dependencies
    • Completely removes lib/shoryuken/core_ext.rb file
    • Maintains all existing functionality while following Ruby best practices
    • Improves code maintainability and reduces global namespace pollution
  • Enhancement: Implement Zeitwerk autoloading

    • Replaces manual require statements with Zeitwerk-based autoloading
    • Adds zeitwerk dependency for modern Ruby module loading
    • Splits polling classes into properly named files (BaseStrategy, QueueConfiguration)
    • Reduces startup overhead and improves code organization
    • Maintains backward compatibility while modernizing the codebase
  • Enhancement: Increase SendMessageBatch to 1MB to align with AWS

  • Enhancement: Replace OpenStruct usage with Struct for inline execution

  • Enhancement: Configure server side logging (BenMorganMY)

  • Enhancement: Use -1 as thread priority

  • Enhancement: Add Support for message_attributes to InlineExecutor

  • Enhancement: Introduce trusted publishing

  • Enhancement: Add enqueue_after_transaction_commit? for Rails 7.2 compatibility

  • Enhancement: Bring Ruby 3.4 into the CI

  • Fix integration tests by updating aws-sdk-sqs and replacing moto with LocalStack

  • Breaking: Remove support of Ruby versions older than 3.1

  • Breaking: Remove support of Rails versions older than 7.0

  • Breaking: Require aws-sdk-sqs >= 1.66:

v7.0.0.alpha1

28 May 19:43
546e4b8

Choose a tag to compare

v7.0.0.alpha1 Pre-release
Pre-release
  • Enhancement: Use -1 as thread priority

  • Enhancement: Add Support for message_attributes to InlineExecutor

  • Enhancement: Introduce trusted publishing

  • Enhancement: Add enqueue_after_transaction_commit? for Rails 7.2 compatibility

  • Enhancement: Bring Ruby 3.4 into the CI

  • Fix integration tests by updating aws-sdk-sqs and replacing moto with LocalStack

  • Breaking: Remove support of Ruby versions older than 2.7

  • Breaking: Remove support of Rails versions older than 6.1

  • Breaking: Require aws-sdk-sqs >= 1.66: