shoryuken 6.2.1 → 7.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/push.yml +36 -0
  3. data/.github/workflows/specs.yml +49 -44
  4. data/.github/workflows/verify-action-pins.yml +16 -0
  5. data/.gitignore +4 -1
  6. data/.rspec +3 -1
  7. data/.rubocop.yml +6 -1
  8. data/.ruby-version +1 -0
  9. data/.yard-lint.yml +279 -0
  10. data/CHANGELOG.md +308 -139
  11. data/Gemfile +1 -8
  12. data/Gemfile.lint +9 -0
  13. data/Gemfile.lint.lock +69 -0
  14. data/README.md +16 -33
  15. data/Rakefile +6 -10
  16. data/bin/clean_sqs +52 -0
  17. data/bin/cli/base.rb +22 -2
  18. data/bin/cli/sqs.rb +74 -7
  19. data/bin/integrations +275 -0
  20. data/bin/scenario +154 -0
  21. data/bin/shoryuken +3 -2
  22. data/docker-compose.yml +6 -0
  23. data/lib/{shoryuken/extensions/active_job_extensions.rb → active_job/extensions.rb} +20 -6
  24. data/lib/active_job/queue_adapters/shoryuken_adapter.rb +208 -0
  25. data/lib/active_job/queue_adapters/shoryuken_concurrent_send_adapter.rb +78 -0
  26. data/lib/shoryuken/active_job/current_attributes.rb +139 -0
  27. data/lib/shoryuken/active_job/job_wrapper.rb +28 -0
  28. data/lib/shoryuken/body_parser.rb +11 -1
  29. data/lib/shoryuken/client.rb +16 -0
  30. data/lib/shoryuken/default_exception_handler.rb +11 -0
  31. data/lib/shoryuken/default_worker_registry.rb +39 -11
  32. data/lib/shoryuken/environment_loader.rb +85 -15
  33. data/lib/shoryuken/errors.rb +36 -0
  34. data/lib/shoryuken/fetcher.rb +41 -3
  35. data/lib/shoryuken/helpers/atomic_boolean.rb +58 -0
  36. data/lib/shoryuken/helpers/atomic_counter.rb +104 -0
  37. data/lib/shoryuken/helpers/atomic_hash.rb +182 -0
  38. data/lib/shoryuken/helpers/hash_utils.rb +56 -0
  39. data/lib/shoryuken/helpers/string_utils.rb +65 -0
  40. data/lib/shoryuken/helpers/timer_task.rb +80 -0
  41. data/lib/shoryuken/inline_message.rb +22 -0
  42. data/lib/shoryuken/launcher.rb +55 -0
  43. data/lib/shoryuken/logging/base.rb +26 -0
  44. data/lib/shoryuken/logging/pretty.rb +25 -0
  45. data/lib/shoryuken/logging/without_timestamp.rb +25 -0
  46. data/lib/shoryuken/logging.rb +43 -15
  47. data/lib/shoryuken/manager.rb +84 -5
  48. data/lib/shoryuken/message.rb +116 -1
  49. data/lib/shoryuken/middleware/chain.rb +141 -43
  50. data/lib/shoryuken/middleware/entry.rb +30 -0
  51. data/lib/shoryuken/middleware/server/active_record.rb +10 -0
  52. data/lib/shoryuken/middleware/server/auto_delete.rb +12 -0
  53. data/lib/shoryuken/middleware/server/auto_extend_visibility.rb +37 -11
  54. data/lib/shoryuken/middleware/server/exponential_backoff_retry.rb +34 -3
  55. data/lib/shoryuken/middleware/server/non_retryable_exception.rb +95 -0
  56. data/lib/shoryuken/middleware/server/timing.rb +13 -0
  57. data/lib/shoryuken/options.rb +154 -13
  58. data/lib/shoryuken/polling/base_strategy.rb +127 -0
  59. data/lib/shoryuken/polling/queue_configuration.rb +103 -0
  60. data/lib/shoryuken/polling/strict_priority.rb +41 -0
  61. data/lib/shoryuken/polling/weighted_round_robin.rb +44 -0
  62. data/lib/shoryuken/processor.rb +37 -3
  63. data/lib/shoryuken/queue.rb +99 -8
  64. data/lib/shoryuken/runner.rb +54 -16
  65. data/lib/shoryuken/util.rb +32 -7
  66. data/lib/shoryuken/version.rb +4 -1
  67. data/lib/shoryuken/worker/default_executor.rb +23 -1
  68. data/lib/shoryuken/worker/inline_executor.rb +33 -2
  69. data/lib/shoryuken/worker.rb +224 -0
  70. data/lib/shoryuken/worker_registry.rb +35 -0
  71. data/lib/shoryuken.rb +27 -38
  72. data/renovate.json +62 -0
  73. data/shoryuken.gemspec +8 -4
  74. data/spec/integration/.rspec +1 -0
  75. data/spec/integration/active_job/adapter_configuration/configuration_spec.rb +26 -0
  76. data/spec/integration/active_job/bulk_enqueue/bulk_enqueue_spec.rb +53 -0
  77. data/spec/integration/active_job/current_attributes/bulk_enqueue_spec.rb +50 -0
  78. data/spec/integration/active_job/current_attributes/complex_types_spec.rb +55 -0
  79. data/spec/integration/active_job/current_attributes/empty_context_spec.rb +41 -0
  80. data/spec/integration/active_job/current_attributes/full_context_spec.rb +63 -0
  81. data/spec/integration/active_job/current_attributes/partial_context_spec.rb +57 -0
  82. data/spec/integration/active_job/custom_attributes/number_attributes_spec.rb +37 -0
  83. data/spec/integration/active_job/custom_attributes/string_attributes_spec.rb +39 -0
  84. data/spec/integration/active_job/error_handling/job_wrapper_spec.rb +53 -0
  85. data/spec/integration/active_job/fifo_and_attributes/deduplication_spec.rb +86 -0
  86. data/spec/integration/active_job/keyword_arguments/keyword_arguments_spec.rb +63 -0
  87. data/spec/integration/active_job/retry/discard_on_spec.rb +43 -0
  88. data/spec/integration/active_job/retry/retry_on_spec.rb +36 -0
  89. data/spec/integration/active_job/roundtrip/roundtrip_spec.rb +52 -0
  90. data/spec/integration/active_job/scheduled/scheduled_spec.rb +76 -0
  91. data/spec/integration/active_record_middleware/active_record_middleware_spec.rb +84 -0
  92. data/spec/integration/auto_delete/auto_delete_spec.rb +53 -0
  93. data/spec/integration/auto_extend_visibility/auto_extend_visibility_spec.rb +57 -0
  94. data/spec/integration/aws_config/aws_config_spec.rb +59 -0
  95. data/spec/integration/batch_processing/batch_processing_spec.rb +37 -0
  96. data/spec/integration/body_parser/json_parser_spec.rb +45 -0
  97. data/spec/integration/body_parser/proc_parser_spec.rb +54 -0
  98. data/spec/integration/body_parser/text_parser_spec.rb +43 -0
  99. data/spec/integration/concurrent_processing/concurrent_processing_spec.rb +45 -0
  100. data/spec/integration/custom_group_polling_strategy/custom_group_polling_strategy_spec.rb +87 -0
  101. data/spec/integration/dead_letter_queue/dead_letter_queue_spec.rb +91 -0
  102. data/spec/integration/exception_handlers/exception_handlers_spec.rb +69 -0
  103. data/spec/integration/exponential_backoff/exponential_backoff_spec.rb +67 -0
  104. data/spec/integration/fifo_ordering/fifo_ordering_spec.rb +44 -0
  105. data/spec/integration/large_payloads/large_payloads_spec.rb +30 -0
  106. data/spec/integration/launcher/launcher_spec.rb +40 -0
  107. data/spec/integration/message_attributes/message_attributes_spec.rb +54 -0
  108. data/spec/integration/message_operations/message_operations_spec.rb +59 -0
  109. data/spec/integration/middleware_chain/empty_chain_spec.rb +11 -0
  110. data/spec/integration/middleware_chain/execution_order_spec.rb +33 -0
  111. data/spec/integration/middleware_chain/removal_spec.rb +31 -0
  112. data/spec/integration/middleware_chain/short_circuit_spec.rb +40 -0
  113. data/spec/integration/non_retryable_exception/non_retryable_exception_spec.rb +149 -0
  114. data/spec/integration/polling_strategies/polling_strategies_spec.rb +46 -0
  115. data/spec/integration/queue_operations/queue_operations_spec.rb +84 -0
  116. data/spec/integration/rails/rails_72/Gemfile +6 -0
  117. data/spec/integration/rails/rails_72/activejob_adapter_spec.rb +98 -0
  118. data/spec/integration/rails/rails_80/Gemfile +6 -0
  119. data/spec/integration/rails/rails_80/activejob_adapter_spec.rb +98 -0
  120. data/spec/integration/rails/rails_80/continuation_spec.rb +79 -0
  121. data/spec/integration/rails/rails_81/Gemfile +6 -0
  122. data/spec/integration/rails/rails_81/activejob_adapter_spec.rb +98 -0
  123. data/spec/integration/rails/rails_81/continuation_spec.rb +79 -0
  124. data/spec/integration/retry_behavior/retry_behavior_spec.rb +45 -0
  125. data/spec/integration/spec_helper.rb +7 -0
  126. data/spec/integration/strict_priority_polling/strict_priority_polling_spec.rb +58 -0
  127. data/spec/integration/visibility_timeout/visibility_timeout_spec.rb +37 -0
  128. data/spec/integration/worker_enqueueing/worker_enqueueing_spec.rb +60 -0
  129. data/spec/integration/worker_groups/worker_groups_spec.rb +79 -0
  130. data/spec/integration/worker_lifecycle/worker_lifecycle_spec.rb +33 -0
  131. data/spec/integrations_helper.rb +243 -0
  132. data/spec/lib/active_job/extensions_spec.rb +225 -0
  133. data/spec/lib/active_job/queue_adapters/shoryuken_adapter_spec.rb +29 -0
  134. data/spec/{shoryuken/extensions/active_job_concurrent_send_adapter_spec.rb → lib/active_job/queue_adapters/shoryuken_concurrent_send_adapter_spec.rb} +5 -4
  135. data/spec/{shoryuken/extensions/active_job_wrapper_spec.rb → lib/shoryuken/active_job/job_wrapper_spec.rb} +6 -5
  136. data/spec/{shoryuken → lib/shoryuken}/body_parser_spec.rb +2 -4
  137. data/spec/{shoryuken → lib/shoryuken}/client_spec.rb +1 -1
  138. data/spec/{shoryuken → lib/shoryuken}/default_exception_handler_spec.rb +9 -10
  139. data/spec/{shoryuken → lib/shoryuken}/default_worker_registry_spec.rb +1 -2
  140. data/spec/{shoryuken → lib/shoryuken}/environment_loader_spec.rb +10 -9
  141. data/spec/{shoryuken → lib/shoryuken}/fetcher_spec.rb +23 -26
  142. data/spec/lib/shoryuken/helpers/atomic_boolean_spec.rb +196 -0
  143. data/spec/lib/shoryuken/helpers/atomic_counter_spec.rb +177 -0
  144. data/spec/lib/shoryuken/helpers/atomic_hash_spec.rb +307 -0
  145. data/spec/lib/shoryuken/helpers/hash_utils_spec.rb +145 -0
  146. data/spec/lib/shoryuken/helpers/string_utils_spec.rb +124 -0
  147. data/spec/lib/shoryuken/helpers/timer_task_spec.rb +298 -0
  148. data/spec/lib/shoryuken/helpers_integration_spec.rb +96 -0
  149. data/spec/lib/shoryuken/inline_message_spec.rb +196 -0
  150. data/spec/{shoryuken → lib/shoryuken}/launcher_spec.rb +23 -2
  151. data/spec/lib/shoryuken/logging_spec.rb +242 -0
  152. data/spec/{shoryuken → lib/shoryuken}/manager_spec.rb +1 -2
  153. data/spec/lib/shoryuken/message_spec.rb +109 -0
  154. data/spec/{shoryuken → lib/shoryuken}/middleware/chain_spec.rb +1 -1
  155. data/spec/lib/shoryuken/middleware/entry_spec.rb +68 -0
  156. data/spec/lib/shoryuken/middleware/server/active_record_spec.rb +133 -0
  157. data/spec/{shoryuken → lib/shoryuken}/middleware/server/auto_delete_spec.rb +1 -1
  158. data/spec/{shoryuken → lib/shoryuken}/middleware/server/auto_extend_visibility_spec.rb +51 -1
  159. data/spec/{shoryuken → lib/shoryuken}/middleware/server/exponential_backoff_retry_spec.rb +1 -1
  160. data/spec/lib/shoryuken/middleware/server/non_retryable_exception_spec.rb +214 -0
  161. data/spec/{shoryuken → lib/shoryuken}/middleware/server/timing_spec.rb +1 -1
  162. data/spec/{shoryuken → lib/shoryuken}/options_spec.rb +49 -6
  163. data/spec/lib/shoryuken/polling/base_strategy_spec.rb +280 -0
  164. data/spec/lib/shoryuken/polling/queue_configuration_spec.rb +195 -0
  165. data/spec/{shoryuken → lib/shoryuken}/polling/strict_priority_spec.rb +1 -1
  166. data/spec/{shoryuken → lib/shoryuken}/polling/weighted_round_robin_spec.rb +1 -1
  167. data/spec/{shoryuken → lib/shoryuken}/processor_spec.rb +1 -1
  168. data/spec/{shoryuken → lib/shoryuken}/queue_spec.rb +2 -3
  169. data/spec/{shoryuken → lib/shoryuken}/runner_spec.rb +1 -3
  170. data/spec/{shoryuken → lib/shoryuken}/util_spec.rb +2 -2
  171. data/spec/lib/shoryuken/version_spec.rb +17 -0
  172. data/spec/{shoryuken → lib/shoryuken}/worker/default_executor_spec.rb +1 -1
  173. data/spec/lib/shoryuken/worker/inline_executor_spec.rb +105 -0
  174. data/spec/lib/shoryuken/worker_registry_spec.rb +63 -0
  175. data/spec/{shoryuken → lib/shoryuken}/worker_spec.rb +15 -11
  176. data/spec/{shoryuken_spec.rb → lib/shoryuken_spec.rb} +1 -1
  177. data/spec/shared_examples_for_active_job.rb +40 -15
  178. data/spec/spec_helper.rb +48 -2
  179. metadata +295 -101
  180. data/.codeclimate.yml +0 -20
  181. data/.devcontainer/Dockerfile +0 -17
  182. data/.devcontainer/base.Dockerfile +0 -43
  183. data/.devcontainer/devcontainer.json +0 -35
  184. data/.github/FUNDING.yml +0 -12
  185. data/.github/dependabot.yml +0 -6
  186. data/.github/workflows/stale.yml +0 -20
  187. data/.reek.yml +0 -5
  188. data/Appraisals +0 -42
  189. data/gemfiles/.gitignore +0 -1
  190. data/gemfiles/aws_sdk_core_2.gemfile +0 -21
  191. data/gemfiles/rails_4_2.gemfile +0 -20
  192. data/gemfiles/rails_5_2.gemfile +0 -21
  193. data/gemfiles/rails_6_0.gemfile +0 -21
  194. data/gemfiles/rails_6_1.gemfile +0 -21
  195. data/gemfiles/rails_7_0.gemfile +0 -22
  196. data/lib/shoryuken/core_ext.rb +0 -69
  197. data/lib/shoryuken/extensions/active_job_adapter.rb +0 -103
  198. data/lib/shoryuken/extensions/active_job_concurrent_send_adapter.rb +0 -50
  199. data/lib/shoryuken/polling/base.rb +0 -67
  200. data/shoryuken.jpg +0 -0
  201. data/spec/integration/launcher_spec.rb +0 -128
  202. data/spec/shoryuken/core_ext_spec.rb +0 -40
  203. data/spec/shoryuken/extensions/active_job_adapter_spec.rb +0 -7
  204. data/spec/shoryuken/extensions/active_job_base_spec.rb +0 -84
  205. data/spec/shoryuken/worker/inline_executor_spec.rb +0 -49
data/CHANGELOG.md CHANGED
@@ -1,3 +1,172 @@
1
+ ## [7.0.2] - 2026-04-16
2
+
3
+ - Enhancement: Replace LocalStack with ElasticMQ for SQS integration tests (mensfeld)
4
+ - ElasticMQ is free, open-source, and requires no auth token (LocalStack 2026.x requires paid account)
5
+ - Uses `softwaremill/elasticmq-native` image (~30MB vs ~1GB+, starts in milliseconds)
6
+ - Rename `setup_localstack` to `setup_sqs` and `bin/clean_localstack` to `bin/clean_sqs`
7
+
8
+ - Fix: Allow custom polling strategy to be configured per-group via `add_group` (mensfeld)
9
+ - `add_group` now accepts `polling_strategy:` keyword argument
10
+ - `polling_strategy()` reads from the groups hash populated by `add_group`, with fallback to raw options
11
+ - `EnvironmentLoader` passes `polling_strategy` through when parsing YAML group config
12
+ - [#925](https://github.com/ruby-shoryuken/shoryuken/issues/925)
13
+
14
+ ## [7.0.1] - 2026-02-07
15
+
16
+ - Enhancement: Add non-retryable exception middleware (Saidbek)
17
+ - [#958](https://github.com/ruby-shoryuken/shoryuken/pull/958)
18
+
19
+ - Fix: ActiveJob keyword arguments support (mensfeld)
20
+ - Jobs with keyword arguments were broken due to improper argument forwarding in `SQSSendMessageParametersSupport#initialize`
21
+ - Use Ruby's argument forwarding (`...`) to properly pass all arguments including keyword arguments
22
+ - [#962](https://github.com/ruby-shoryuken/shoryuken/pull/962)
23
+
24
+ - Fix: Replace `ArgumentError` with custom `FifoDelayNotSupportedError` for FIFO delay errors
25
+ - Provides more specific error type for programmatic error handling
26
+ - [#957](https://github.com/ruby-shoryuken/shoryuken/pull/957)
27
+
28
+ ## [7.0.0] - 2026-01-19
29
+
30
+ **See the [Upgrading to 7.0](https://github.com/ruby-shoryuken/shoryuken/wiki/Upgrading-to-7.0) guide for detailed migration instructions.**
31
+
32
+ - Breaking: Add `Shoryuken::Errors` module with domain-specific error classes
33
+ - Introduces `Shoryuken::Errors::BaseError` as base class for all Shoryuken errors
34
+ - `Shoryuken::Errors::QueueNotFoundError` for non-existent or inaccessible SQS queues
35
+ - `Shoryuken::Errors::InvalidConfigurationError` for configuration validation failures
36
+ - `Shoryuken::Errors::InvalidWorkerRegistrationError` for worker registration conflicts
37
+ - `Shoryuken::Errors::InvalidPollingStrategyError` for invalid polling strategy configuration
38
+ - `Shoryuken::Errors::InvalidEventError` for invalid lifecycle event names
39
+ - `Shoryuken::Errors::InvalidDelayError` for delays exceeding SQS 15-minute maximum
40
+ - `Shoryuken::Errors::InvalidArnError` for invalid ARN format
41
+ - Replaces generic Ruby exceptions (ArgumentError, RuntimeError) with specific error types
42
+
43
+ - Removed: `Shoryuken::Shutdown` class
44
+ - This class was unused since the Celluloid removal in 2016
45
+ - Originally used to raise on worker threads during hard shutdown
46
+ - Current shutdown flow uses `Interrupt` and executor-level shutdown instead
47
+
48
+ - Fix: Raise ArgumentError when using delay with FIFO queues
49
+ - FIFO queues do not support per-message DelaySeconds
50
+ - Previously caused confusing AWS errors with ActiveJob's `retry_on` (Rails 6.1+ defaults to `wait: 3.seconds`)
51
+ - Now raises clear ArgumentError with guidance to use `wait: 0`
52
+ - Fixes #924
53
+
54
+ - Enhancement: Use fiber-local storage for logging context
55
+ - Replaces thread-local storage with Fiber[] for proper isolation in async environments
56
+ - Ensures logging context doesn't leak between fibers in the same thread
57
+ - Leverages Ruby 3.2+ fiber-local storage API
58
+
59
+ - Enhancement: Add yard-lint with comprehensive YARD documentation
60
+ - Adds yard-lint gem for documentation linting
61
+ - Documents all public classes, modules, and methods with YARD tags
62
+ - Ensures 100% documentation coverage
63
+
64
+ - Enhancement: Add `enqueue_all` for bulk ActiveJob enqueuing (Rails 7.1+)
65
+ - Implements efficient bulk enqueuing using SQS `send_message_batch` API
66
+ - Called by `ActiveJob.perform_all_later` for batching multiple jobs
67
+ - Batches jobs in groups of 10 (SQS limit) per queue
68
+ - Groups jobs by queue name for efficient multi-queue handling
69
+
70
+ - Enhancement: Add ActiveJob Continuations support (Rails 8.1+)
71
+ - Implements `stopping?` method in ActiveJob adapters to signal graceful shutdown
72
+ - Enables jobs to checkpoint progress and resume after interruption
73
+ - Handles past timestamps correctly (SQS treats negative delays as immediate delivery)
74
+ - Tracks shutdown state in Launcher via `stopping?` flag
75
+ - Leverages existing Shoryuken shutdown lifecycle (stop/stop! methods)
76
+ - See Rails PR #55127 for more details on ActiveJob Continuations
77
+
78
+ - Enhancement: Add CurrentAttributes persistence support
79
+ - Enables Rails `ActiveSupport::CurrentAttributes` to flow from enqueue to job execution
80
+ - Automatically serializes current attributes into job payload when enqueuing
81
+ - Restores attributes before job execution and resets them afterward
82
+ - Supports multiple CurrentAttributes classes
83
+ - Based on Sidekiq's approach using `ActiveJob::Arguments` for serialization
84
+ - Usage: `require 'shoryuken/active_job/current_attributes'` and
85
+ `Shoryuken::ActiveJob::CurrentAttributes.persist('MyApp::Current')`
86
+
87
+ - Breaking: Drop support for Ruby 3.1 (EOL March 2025)
88
+ - Minimum required Ruby version is now 3.2.0
89
+ - Supported Ruby versions: 3.2, 3.3, 3.4
90
+ - Users on Ruby 3.1 should upgrade or remain on Shoryuken 6.x
91
+
92
+ - Breaking: Remove support for Rails versions older than 7.2
93
+ - Rails 7.0 and 7.1 have reached end-of-life (April 2025) and are no longer supported
94
+ - Supported Rails versions: 7.2, 8.0, and 8.1
95
+ - Users on older Rails versions should upgrade or remain on Shoryuken 6.x
96
+
97
+ - Enhancement: Replace Concurrent::AtomicFixnum with pure Ruby AtomicCounter
98
+ - Removes external dependency on concurrent-ruby for atomic fixnum operations
99
+ - Introduces Shoryuken::Helpers::AtomicCounter as a thread-safe alternative using Mutex
100
+ - Reduces gem footprint while maintaining full functionality
101
+
102
+ - Enhancement: Replace Concurrent::AtomicBoolean with pure Ruby AtomicBoolean
103
+ - Removes external dependency on concurrent-ruby for atomic boolean operations
104
+ - Introduces Shoryuken::Helpers::AtomicBoolean extending AtomicCounter
105
+ - Further reduces gem footprint while maintaining full functionality
106
+
107
+ - Enhancement: Replace Concurrent::Hash with pure Ruby AtomicHash
108
+ - Removes external dependency on concurrent-ruby for hash operations
109
+ - Introduces Shoryuken::Helpers::AtomicHash with mutex-protected writes and concurrent reads
110
+ - Ensures JRuby compatibility while maintaining high performance for read-heavy workloads
111
+ - [#866](https://github.com/ruby-shoryuken/shoryuken/pull/866)
112
+ - [#867](https://github.com/ruby-shoryuken/shoryuken/pull/867)
113
+ - [#868](https://github.com/ruby-shoryuken/shoryuken/pull/868)
114
+
115
+ - Enhancement: Replace core class extensions with helper utilities
116
+ - Removes all core Ruby class monkey-patching (Hash and String extensions)
117
+ - Introduces Shoryuken::Helpers::HashUtils.deep_symbolize_keys for configuration processing
118
+ - Introduces Shoryuken::Helpers::StringUtils.constantize for dynamic class loading
119
+ - Eliminates unnecessary ActiveSupport dependencies
120
+ - Completely removes lib/shoryuken/core_ext.rb file
121
+ - Maintains all existing functionality while following Ruby best practices
122
+ - Improves code maintainability and reduces global namespace pollution
123
+
124
+ - Enhancement: Implement Zeitwerk autoloading
125
+ - Replaces manual require statements with Zeitwerk-based autoloading
126
+ - Adds zeitwerk dependency for modern Ruby module loading
127
+ - Splits polling classes into properly named files (BaseStrategy, QueueConfiguration)
128
+ - Reduces startup overhead and improves code organization
129
+ - Maintains backward compatibility while modernizing the codebase
130
+
131
+ - Enhancement: Increase `SendMessageBatch` to 1MB to align with AWS
132
+ - [#864](https://github.com/ruby-shoryuken/shoryuken/pull/864)
133
+
134
+ - Enhancement: Replace OpenStruct usage with Struct for inline execution
135
+ - [#860](https://github.com/ruby-shoryuken/shoryuken/pull/860)
136
+
137
+ - Enhancement: Configure server side logging (BenMorganMY)
138
+ - [#844](https://github.com/ruby-shoryuken/shoryuken/pull/844)
139
+
140
+ - Enhancement: Use -1 as thread priority
141
+ - [#825](https://github.com/ruby-shoryuken/shoryuken/pull/825)
142
+
143
+ - Enhancement: Add Support for message_attributes to InlineExecutor
144
+ - [#835](https://github.com/ruby-shoryuken/shoryuken/pull/835)
145
+
146
+ - Enhancement: Introduce trusted publishing
147
+ - [#840](https://github.com/ruby-shoryuken/shoryuken/pull/840)
148
+
149
+ - Enhancement: Add enqueue_after_transaction_commit? for Rails 7.2 compatibility
150
+ - [#777](https://github.com/ruby-shoryuken/shoryuken/pull/777)
151
+
152
+ - Enhancement: Bring Ruby 3.4 into the CI
153
+ - [#805](https://github.com/ruby-shoryuken/shoryuken/pull/805)
154
+
155
+ - Fix integration tests by updating aws-sdk-sqs and replacing moto with LocalStack
156
+ - [#782](https://github.com/ruby-shoryuken/shoryuken/pull/782)
157
+ - [#783](https://github.com/ruby-shoryuken/shoryuken/pull/783)
158
+
159
+ - Breaking: Remove support of Ruby versions older than 3.1
160
+ - [#783](https://github.com/ruby-shoryuken/shoryuken/pull/783)
161
+ - [#850](https://github.com/ruby-shoryuken/shoryuken/pull/850)
162
+
163
+ - Breaking: Remove support of Rails versions older than 7.0
164
+ - [#783](https://github.com/ruby-shoryuken/shoryuken/pull/783)
165
+ - [#850](https://github.com/ruby-shoryuken/shoryuken/pull/850)
166
+
167
+ - Breaking: Require `aws-sdk-sqs` `>=` `1.66`:
168
+ - [#783](https://github.com/ruby-shoryuken/shoryuken/pull/783)
169
+
1
170
  ## [v6.2.1] - 2024-02-09
2
171
 
3
172
  - Bugfix: Not able to use extended polling strategy (#759)
@@ -108,590 +277,590 @@
108
277
  ## [v5.2.0] - 2021-02-26
109
278
 
110
279
  - Set `executions` correctly for ActiveJob jobs
111
- - [#657](https://github.com/phstc/shoryuken/pull/657)
280
+ - [#657](https://github.com/ruby-shoryuken/shoryuken/pull/657)
112
281
 
113
282
  ## [v5.1.1] - 2021-02-10
114
283
 
115
284
  - Fix regression in Ruby 3.0 introduced in Shoryuken 5.1.0, where enqueueing jobs with ActiveJob to workers that used keyword arguments would fail
116
- - [#654](https://github.com/phstc/shoryuken/pull/654)
285
+ - [#654](https://github.com/ruby-shoryuken/shoryuken/pull/654)
117
286
 
118
287
  ## [v5.1.0] - 2021-02-06
119
288
 
120
289
  - Add support for specifying SQS SendMessage parameters with ActiveJob `.set`
121
290
 
122
- - [#635](https://github.com/phstc/shoryuken/pull/635)
123
- - [#648](https://github.com/phstc/shoryuken/pull/648)
124
- - [#651](https://github.com/phstc/shoryuken/pull/651)
291
+ - [#635](https://github.com/ruby-shoryuken/shoryuken/pull/635)
292
+ - [#648](https://github.com/ruby-shoryuken/shoryuken/pull/648)
293
+ - [#651](https://github.com/ruby-shoryuken/shoryuken/pull/651)
125
294
 
126
295
  - Unpause FIFO queues on worker completion
127
296
 
128
- - [#644](https://github.com/phstc/shoryuken/pull/644)
297
+ - [#644](https://github.com/ruby-shoryuken/shoryuken/pull/644)
129
298
 
130
299
  - Add multiple versions of Rails to test matrix
131
300
 
132
- - [#647](https://github.com/phstc/shoryuken/pull/647)
301
+ - [#647](https://github.com/ruby-shoryuken/shoryuken/pull/647)
133
302
 
134
303
  - Migrate from Travis CI to Github Actions
135
- - [#649](https://github.com/phstc/shoryuken/pull/649)
136
- - [#650](https://github.com/phstc/shoryuken/pull/650)
137
- - [#652](https://github.com/phstc/shoryuken/pull/652)
304
+ - [#649](https://github.com/ruby-shoryuken/shoryuken/pull/649)
305
+ - [#650](https://github.com/ruby-shoryuken/shoryuken/pull/650)
306
+ - [#652](https://github.com/ruby-shoryuken/shoryuken/pull/652)
138
307
 
139
308
  ## [v5.0.6] - 2020-12-30
140
309
 
141
310
  - Load ShoryukenConcurrentSendAdapter when loading Rails
142
- - [#642](https://github.com/phstc/shoryuken/pull/642)
311
+ - [#642](https://github.com/ruby-shoryuken/shoryuken/pull/642)
143
312
 
144
313
  ## [v5.0.5] - 2020-06-07
145
314
 
146
315
  - Add ability to configure queue by ARN
147
- - [#603](https://github.com/phstc/shoryuken/pull/603)
316
+ - [#603](https://github.com/ruby-shoryuken/shoryuken/pull/603)
148
317
 
149
318
  ## [v5.0.4] - 2020-02-20
150
319
 
151
320
  - Add endpoint option to SQS CLI
152
- - [#595](https://github.com/phstc/shoryuken/pull/595)
321
+ - [#595](https://github.com/ruby-shoryuken/shoryuken/pull/595)
153
322
 
154
323
  ## [v5.0.3] - 2019-11-30
155
324
 
156
325
  - Add support for sending messages asynchronous with Active Job using `shoryuken_concurrent_send`
157
- - [#589](https://github.com/phstc/shoryuken/pull/589)
158
- - [#588](https://github.com/phstc/shoryuken/pull/588)
326
+ - [#589](https://github.com/ruby-shoryuken/shoryuken/pull/589)
327
+ - [#588](https://github.com/ruby-shoryuken/shoryuken/pull/588)
159
328
 
160
329
  ## [v5.0.2] - 2019-11-02
161
330
 
162
331
  - Fix Queue order is reversed if passed through CLI
163
- - [#571](https://github.com/phstc/shoryuken/pull/583)
332
+ - [#571](https://github.com/ruby-shoryuken/shoryuken/pull/583)
164
333
 
165
334
  ## [v5.0.1] - 2019-06-19
166
335
 
167
336
  - Add back attr_accessor for `stop_callback`
168
- - [#571](https://github.com/phstc/shoryuken/pull/571)
337
+ - [#571](https://github.com/ruby-shoryuken/shoryuken/pull/571)
169
338
 
170
339
  ## [v5.0.0] - 2019-06-18
171
340
 
172
341
  - Fix bug where empty queues were not paused in batch processing mode
173
342
 
174
- - [#569](https://github.com/phstc/shoryuken/pull/569)
343
+ - [#569](https://github.com/ruby-shoryuken/shoryuken/pull/569)
175
344
 
176
345
  - Preserve batch limit when receiving messages from a FIFO queue
177
346
 
178
- - [#563](https://github.com/phstc/shoryuken/pull/563)
347
+ - [#563](https://github.com/ruby-shoryuken/shoryuken/pull/563)
179
348
 
180
349
  - Replace static options with instance options
181
- - [#534](https://github.com/phstc/shoryuken/pull/534)
350
+ - [#534](https://github.com/ruby-shoryuken/shoryuken/pull/534)
182
351
 
183
352
  ## [v4.0.3] - 2019-01-06
184
353
 
185
354
  - Support delay per processing group
186
- - [#543](https://github.com/phstc/shoryuken/pull/543)
355
+ - [#543](https://github.com/ruby-shoryuken/shoryuken/pull/543)
187
356
 
188
357
  ## [v4.0.2] - 2018-11-26
189
358
 
190
359
  - Fix the delegated methods to public warning
191
360
 
192
- - [#536](https://github.com/phstc/shoryuken/pull/536)
361
+ - [#536](https://github.com/ruby-shoryuken/shoryuken/pull/536)
193
362
 
194
363
  - Specify exception class to `raise_error` matcher warning
195
364
 
196
- - [#537](https://github.com/phstc/shoryuken/pull/537)
365
+ - [#537](https://github.com/ruby-shoryuken/shoryuken/pull/537)
197
366
 
198
367
  - Fix spelling of "visibility"
199
- - [#538](https://github.com/phstc/shoryuken/pull/538)
368
+ - [#538](https://github.com/ruby-shoryuken/shoryuken/pull/538)
200
369
 
201
370
  ## [v4.0.1] - 2018-11-21
202
371
 
203
372
  - Allow caching visibility_timeout lookups
204
373
 
205
- - [#533](https://github.com/phstc/shoryuken/pull/533)
374
+ - [#533](https://github.com/ruby-shoryuken/shoryuken/pull/533)
206
375
 
207
376
  - Add queue name to inline executor
208
- - [#532](https://github.com/phstc/shoryuken/pull/532)
377
+ - [#532](https://github.com/ruby-shoryuken/shoryuken/pull/532)
209
378
 
210
379
  ## [v4.0.0] - 2018-11-01
211
380
 
212
381
  - Process messages to the same message group ID one by one
213
- - [#530](https://github.com/phstc/shoryuken/pull/530)
382
+ - [#530](https://github.com/ruby-shoryuken/shoryuken/pull/530)
214
383
 
215
384
  ## [v3.3.1] - 2018-10-30
216
385
 
217
386
  - Memoization of boolean causes extra calls to SQS
218
- - [#529](https://github.com/phstc/shoryuken/pull/529)
387
+ - [#529](https://github.com/ruby-shoryuken/shoryuken/pull/529)
219
388
 
220
389
  ## [v3.3.0] - 2018-09-30
221
390
 
222
391
  - Add support for TSTP
223
392
 
224
- - [#492](https://github.com/phstc/shoryuken/pull/492)
393
+ - [#492](https://github.com/ruby-shoryuken/shoryuken/pull/492)
225
394
 
226
395
  - Support an empty list of queues as a CLI argument
227
396
 
228
- - [#507](https://github.com/phstc/shoryuken/pull/507)
397
+ - [#507](https://github.com/ruby-shoryuken/shoryuken/pull/507)
229
398
 
230
399
  - Add batch support for inline workers
231
400
 
232
- - [#514](https://github.com/phstc/shoryuken/pull/514)
401
+ - [#514](https://github.com/ruby-shoryuken/shoryuken/pull/514)
233
402
 
234
403
  - Make InlineExecutor to behave as the DefaultExecutor when calling perform_in
235
- - [#518](https://github.com/phstc/shoryuken/pull/518)
404
+ - [#518](https://github.com/ruby-shoryuken/shoryuken/pull/518)
236
405
 
237
406
  ## [v3.2.3] - 2018-03-25
238
407
 
239
408
  - Don't force eager load for Rails 5
240
409
 
241
- - [#480](https://github.com/phstc/shoryuken/pull/480)
410
+ - [#480](https://github.com/ruby-shoryuken/shoryuken/pull/480)
242
411
 
243
412
  - Allow Batch Size to be Specified for Requeue
244
413
 
245
- - [#478](https://github.com/phstc/shoryuken/pull/478)
414
+ - [#478](https://github.com/ruby-shoryuken/shoryuken/pull/478)
246
415
 
247
416
  - Support FIFO queues in `shoryuken sqs` commands
248
- - [#473](https://github.com/phstc/shoryuken/pull/473)
417
+ - [#473](https://github.com/ruby-shoryuken/shoryuken/pull/473)
249
418
 
250
419
  ## [v3.2.2] - 2018-02-13
251
420
 
252
421
  - Fix requeue' for FIFO queues
253
- - [#48fcb42](https://github.com/phstc/shoryuken/commit/48fcb4260c3b41a9e45fa29bb857e8fa37dcee82)
422
+ - [#48fcb42](https://github.com/ruby-shoryuken/shoryuken/commit/48fcb4260c3b41a9e45fa29bb857e8fa37dcee82)
254
423
 
255
424
  ## [v3.2.1] - 2018-02-12
256
425
 
257
426
  - Support FIFO queues in `shoryuken sqs` commands
258
427
 
259
- - [#473](https://github.com/phstc/shoryuken/pull/473)
428
+ - [#473](https://github.com/ruby-shoryuken/shoryuken/pull/473)
260
429
 
261
430
  - Allow customizing the default executor launcher
262
431
 
263
- - [#469](https://github.com/phstc/shoryuken/pull/469)
432
+ - [#469](https://github.com/ruby-shoryuken/shoryuken/pull/469)
264
433
 
265
434
  - Exclude job_id from message deduplication when ActiveJob
266
- - [#462](https://github.com/phstc/shoryuken/pull/462)
435
+ - [#462](https://github.com/ruby-shoryuken/shoryuken/pull/462)
267
436
 
268
437
  ## [v3.2.0] - 2018-01-03
269
438
 
270
439
  - Preserve parent worker class options
271
440
 
272
- - [#451](https://github.com/phstc/shoryuken/pull/451)
441
+ - [#451](https://github.com/ruby-shoryuken/shoryuken/pull/451)
273
442
 
274
443
  - Add -t (shutdown timeout) option to CL
275
444
 
276
- - [#449](https://github.com/phstc/shoryuken/pull/449)
445
+ - [#449](https://github.com/ruby-shoryuken/shoryuken/pull/449)
277
446
 
278
447
  - Support inline (Active Job like) for standard workers
279
- - [#448](https://github.com/phstc/shoryuken/pull/448)
448
+ - [#448](https://github.com/ruby-shoryuken/shoryuken/pull/448)
280
449
 
281
450
  ## [v3.1.12] - 2017-09-25
282
451
 
283
452
  - Reduce fetch log verbosity
284
- - [#436](https://github.com/phstc/shoryuken/pull/436)
453
+ - [#436](https://github.com/ruby-shoryuken/shoryuken/pull/436)
285
454
 
286
455
  ## [v3.1.11] - 2017-09-02
287
456
 
288
457
  - Auto retry (up to 3 times) fetch errors
289
- - [#429](https://github.com/phstc/shoryuken/pull/429)
458
+ - [#429](https://github.com/ruby-shoryuken/shoryuken/pull/429)
290
459
 
291
460
  ## [v3.1.10] - 2017-09-02
292
461
 
293
462
  - Make Shoryuken compatible with AWS SDK 3 and 2
294
- - [#433](https://github.com/phstc/shoryuken/pull/433)
463
+ - [#433](https://github.com/ruby-shoryuken/shoryuken/pull/433)
295
464
 
296
465
  ## [v3.1.9] - 2017-08-24
297
466
 
298
467
  - Add support for adding a middleware to the front of chain
299
468
 
300
- - [#427](https://github.com/phstc/shoryuken/pull/427)
469
+ - [#427](https://github.com/ruby-shoryuken/shoryuken/pull/427)
301
470
 
302
471
  - Add support for dispatch fire event
303
- - [#426](https://github.com/phstc/shoryuken/pull/426)
472
+ - [#426](https://github.com/ruby-shoryuken/shoryuken/pull/426)
304
473
 
305
474
  ## [v3.1.8] - 2017-08-17
306
475
 
307
476
  - Make Polling strategy backward compatibility
308
- - [#424](https://github.com/phstc/shoryuken/pull/424)
477
+ - [#424](https://github.com/ruby-shoryuken/shoryuken/pull/424)
309
478
 
310
479
  ## [v3.1.7] - 2017-07-31
311
480
 
312
481
  - Allow polling strategy per group
313
482
 
314
- - [#417](https://github.com/phstc/shoryuken/pull/417)
483
+ - [#417](https://github.com/ruby-shoryuken/shoryuken/pull/417)
315
484
 
316
485
  - Add support for creating FIFO queues
317
486
 
318
- - [#419](https://github.com/phstc/shoryuken/pull/419)
487
+ - [#419](https://github.com/ruby-shoryuken/shoryuken/pull/419)
319
488
 
320
489
  - Allow receive message options per queue
321
- - [#420](https://github.com/phstc/shoryuken/pull/420)
490
+ - [#420](https://github.com/ruby-shoryuken/shoryuken/pull/420)
322
491
 
323
492
  ## [v3.1.6] - 2017-07-24
324
493
 
325
494
  - Fix issue with dispatch_loop and delays
326
- - [#416](https://github.com/phstc/shoryuken/pull/416)
495
+ - [#416](https://github.com/ruby-shoryuken/shoryuken/pull/416)
327
496
 
328
497
  ## [v3.1.5] - 2017-07-23
329
498
 
330
499
  - Fix memory leak
331
500
 
332
- - [#414](https://github.com/phstc/shoryuken/pull/414)
501
+ - [#414](https://github.com/ruby-shoryuken/shoryuken/pull/414)
333
502
 
334
503
  - Fail fast on bad queue URLs
335
- - [#413](https://github.com/phstc/shoryuken/pull/413)
504
+ - [#413](https://github.com/ruby-shoryuken/shoryuken/pull/413)
336
505
 
337
506
  ## [v3.1.4] - 2017-07-14
338
507
 
339
508
  - Require forwardable allowding to call `shoryuken` without `bundle exec`
340
- - [#409](https://github.com/phstc/shoryuken/pull/409)
509
+ - [#409](https://github.com/ruby-shoryuken/shoryuken/pull/409)
341
510
 
342
511
  ## [v3.1.3] - 2017-07-11
343
512
 
344
513
  - Add queue prefixing support for groups
345
514
 
346
- - [#405](https://github.com/phstc/shoryuken/pull/405)
515
+ - [#405](https://github.com/ruby-shoryuken/shoryuken/pull/405)
347
516
 
348
517
  - Remove dead code
349
- - [#402](https://github.com/phstc/shoryuken/pull/402)
518
+ - [#402](https://github.com/ruby-shoryuken/shoryuken/pull/402)
350
519
 
351
520
  ## [v3.1.2] - 2017-07-06
352
521
 
353
522
  - Fix stack level too deep on Ubuntu
354
- - [#400](https://github.com/phstc/shoryuken/pull/400)
523
+ - [#400](https://github.com/ruby-shoryuken/shoryuken/pull/400)
355
524
 
356
525
  ## [v3.1.1] - 2017-07-05
357
526
 
358
527
  - Reduce log verbosity introduced in 3.1.0
359
528
 
360
- - [#397](https://github.com/phstc/shoryuken/pull/397)
529
+ - [#397](https://github.com/ruby-shoryuken/shoryuken/pull/397)
361
530
 
362
531
  - Try to prevent stack level too deep on Ubuntu
363
- - [#396](https://github.com/phstc/shoryuken/pull/396)
532
+ - [#396](https://github.com/ruby-shoryuken/shoryuken/pull/396)
364
533
 
365
534
  ## [v3.1.0] - 2017-07-02
366
535
 
367
536
  - Add shoryuken sqs delete command
368
537
 
369
- - [#395](https://github.com/phstc/shoryuken/pull/395)
538
+ - [#395](https://github.com/ruby-shoryuken/shoryuken/pull/395)
370
539
 
371
540
  - Add processing groups support; Concurrency per queue support
372
541
 
373
- - [#389](https://github.com/phstc/shoryuken/pull/389)
542
+ - [#389](https://github.com/ruby-shoryuken/shoryuken/pull/389)
374
543
 
375
544
  - Terminate Shoryuken if the fetcher crashes
376
- - [#389](https://github.com/phstc/shoryuken/pull/389)
545
+ - [#389](https://github.com/ruby-shoryuken/shoryuken/pull/389)
377
546
 
378
547
  ## [v3.0.11] - 2017-06-24
379
548
 
380
549
  - Add shoryuken sqs create command
381
- - [#388](https://github.com/phstc/shoryuken/pull/388)
550
+ - [#388](https://github.com/ruby-shoryuken/shoryuken/pull/388)
382
551
 
383
552
  ## [v3.0.10] - 2017-06-24
384
553
 
385
554
  - Allow aws sdk v3
386
555
 
387
- - [#381](https://github.com/phstc/shoryuken/pull/381)
556
+ - [#381](https://github.com/ruby-shoryuken/shoryuken/pull/381)
388
557
 
389
558
  - Allow configuring Rails via the config file
390
- - [#387](https://github.com/phstc/shoryuken/pull/387)
559
+ - [#387](https://github.com/ruby-shoryuken/shoryuken/pull/387)
391
560
 
392
561
  ## [v3.0.9] - 2017-06-05
393
562
 
394
563
  - Allow configuring queue URLs instead of names
395
- - [#378](https://github.com/phstc/shoryuken/pull/378)
564
+ - [#378](https://github.com/ruby-shoryuken/shoryuken/pull/378)
396
565
 
397
566
  ## [v3.0.8] - 2017-06-02
398
567
 
399
568
  - Fix miss handling empty batch fetches
400
569
 
401
- - [#376](https://github.com/phstc/shoryuken/pull/376)
570
+ - [#376](https://github.com/ruby-shoryuken/shoryuken/pull/376)
402
571
 
403
572
  - Various minor styling changes :lipstick:
404
573
 
405
- - [#373](https://github.com/phstc/shoryuken/pull/373)
574
+ - [#373](https://github.com/ruby-shoryuken/shoryuken/pull/373)
406
575
 
407
576
  - Logout when batch delete returns any failure
408
- - [#371](https://github.com/phstc/shoryuken/pull/371)
577
+ - [#371](https://github.com/ruby-shoryuken/shoryuken/pull/371)
409
578
 
410
579
  ## [v3.0.7] - 2017-05-18
411
580
 
412
581
  - Trigger events for dispatch
413
582
 
414
- - [#362](https://github.com/phstc/shoryuken/pull/362)
583
+ - [#362](https://github.com/ruby-shoryuken/shoryuken/pull/362)
415
584
 
416
585
  - Log (warn) exponential backoff tries
417
586
 
418
- - [#365](https://github.com/phstc/shoryuken/pull/365)
587
+ - [#365](https://github.com/ruby-shoryuken/shoryuken/pull/365)
419
588
 
420
589
  - Fix displaying of long queue names in `shoryuken sqs ls`
421
- - [#366](https://github.com/phstc/shoryuken/pull/366)
590
+ - [#366](https://github.com/ruby-shoryuken/shoryuken/pull/366)
422
591
 
423
592
  ## [v3.0.6] - 2017-04-11
424
593
 
425
594
  - Fix delay option type
426
- - [#356](https://github.com/phstc/shoryuken/pull/356)
595
+ - [#356](https://github.com/ruby-shoryuken/shoryuken/pull/356)
427
596
 
428
597
  ## [v3.0.5] - 2017-04-09
429
598
 
430
599
  - Pause endless dispatcher to avoid CPU overload
431
600
 
432
- - [#354](https://github.com/phstc/shoryuken/pull/354)
601
+ - [#354](https://github.com/ruby-shoryuken/shoryuken/pull/354)
433
602
 
434
603
  - Auto log processor errors
435
604
 
436
- - [#355](https://github.com/phstc/shoryuken/pull/355)
605
+ - [#355](https://github.com/ruby-shoryuken/shoryuken/pull/355)
437
606
 
438
607
  - Add a delay as a CLI param
439
608
 
440
- - [#350](https://github.com/phstc/shoryuken/pull/350)
609
+ - [#350](https://github.com/ruby-shoryuken/shoryuken/pull/350)
441
610
 
442
611
  - Add `sqs purge` command. See https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_PurgeQueue.html
443
- - [#344](https://github.com/phstc/shoryuken/pull/344)
612
+ - [#344](https://github.com/ruby-shoryuken/shoryuken/pull/344)
444
613
 
445
614
  ## [v3.0.4] - 2017-03-24
446
615
 
447
616
  - Add `sqs purge` command. See https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_PurgeQueue.html
448
617
 
449
- - [#344](https://github.com/phstc/shoryuken/pull/344)
618
+ - [#344](https://github.com/ruby-shoryuken/shoryuken/pull/344)
450
619
 
451
620
  - Fix "Thread exhaustion" error. This issue was most noticed when using long polling. @waynerobinson :beers: for pairing up on this.
452
- - [#345](https://github.com/phstc/shoryuken/pull/345)
621
+ - [#345](https://github.com/ruby-shoryuken/shoryuken/pull/345)
453
622
 
454
623
  ## [v3.0.3] - 2017-03-19
455
624
 
456
625
  - Update `sqs` CLI commands to use `get_queue_url` when appropriated
457
- - [#341](https://github.com/phstc/shoryuken/pull/341)
626
+ - [#341](https://github.com/ruby-shoryuken/shoryuken/pull/341)
458
627
 
459
628
  ## [v3.0.2] - 2017-03-19
460
629
 
461
630
  - Fix custom SQS client initialization
462
- - [#335](https://github.com/phstc/shoryuken/pull/335)
631
+ - [#335](https://github.com/ruby-shoryuken/shoryuken/pull/335)
463
632
 
464
633
  ## [v3.0.1] - 2017-03-13
465
634
 
466
635
  - Fix commands sqs mv and dump `options.delete` checker
467
- - [#332](https://github.com/phstc/shoryuken/pull/332)
636
+ - [#332](https://github.com/ruby-shoryuken/shoryuken/pull/332)
468
637
 
469
638
  ## [v3.0.0] - 2017-03-12
470
639
 
471
640
  - Replace Celluloid with Concurrent Ruby
472
641
 
473
- - [#291](https://github.com/phstc/shoryuken/pull/291)
642
+ - [#291](https://github.com/ruby-shoryuken/shoryuken/pull/291)
474
643
 
475
- - Remove AWS configuration from Shoryuken. Now AWS should be configured from outside. Check [this](https://github.com/phstc/shoryuken/wiki/Configure-the-AWS-Client) for more details
644
+ - Remove AWS configuration from Shoryuken. Now AWS should be configured from outside. Check [this](https://github.com/ruby-shoryuken/shoryuken/wiki/Configure-the-AWS-Client) for more details
476
645
 
477
- - [#317](https://github.com/phstc/shoryuken/pull/317)
646
+ - [#317](https://github.com/ruby-shoryuken/shoryuken/pull/317)
478
647
 
479
648
  - Remove deprecation warnings
480
649
 
481
- - [#326](https://github.com/phstc/shoryuken/pull/326)
650
+ - [#326](https://github.com/ruby-shoryuken/shoryuken/pull/326)
482
651
 
483
652
  - Allow dynamic adding queues
484
653
 
485
- - [#322](https://github.com/phstc/shoryuken/pull/322)
654
+ - [#322](https://github.com/ruby-shoryuken/shoryuken/pull/322)
486
655
 
487
656
  - Support retry_intervals passed in as a lambda. Auto coerce intervals into integer
488
657
 
489
- - [#329](https://github.com/phstc/shoryuken/pull/329)
658
+ - [#329](https://github.com/ruby-shoryuken/shoryuken/pull/329)
490
659
 
491
660
  - Add SQS commands `shoryuken help sqs`, such as `ls`, `mv`, `dump` and `requeue`
492
- - [#330](https://github.com/phstc/shoryuken/pull/330)
661
+ - [#330](https://github.com/ruby-shoryuken/shoryuken/pull/330)
493
662
 
494
663
  ## [v2.1.3] - 2017-01-27
495
664
 
496
665
  - Show a warn message when batch isn't supported
497
666
 
498
- - [#302](https://github.com/phstc/shoryuken/pull/302)
667
+ - [#302](https://github.com/ruby-shoryuken/shoryuken/pull/302)
499
668
 
500
669
  - Require Celluloid ~> 17
501
670
 
502
- - [#305](https://github.com/phstc/shoryuken/pull/305)
671
+ - [#305](https://github.com/ruby-shoryuken/shoryuken/pull/305)
503
672
 
504
673
  - Fix excessive logging when 0 messages found
505
- - [#307](https://github.com/phstc/shoryuken/pull/307)
674
+ - [#307](https://github.com/ruby-shoryuken/shoryuken/pull/307)
506
675
 
507
676
  ## [v2.1.2] - 2016-12-22
508
677
 
509
678
  - Fix loading `logfile` from shoryuken.yml
510
679
 
511
- - [#296](https://github.com/phstc/shoryuken/pull/296)
680
+ - [#296](https://github.com/ruby-shoryuken/shoryuken/pull/296)
512
681
 
513
682
  - Add support for Strict priority polling (pending documentation)
514
683
 
515
- - [#288](https://github.com/phstc/shoryuken/pull/288)
684
+ - [#288](https://github.com/ruby-shoryuken/shoryuken/pull/288)
516
685
 
517
686
  - Add `test_workers` for end-to-end testing supporting
518
687
 
519
- - [#286](https://github.com/phstc/shoryuken/pull/286)
688
+ - [#286](https://github.com/ruby-shoryuken/shoryuken/pull/286)
520
689
 
521
690
  - Update README documenting `configure_client` and `configure_server`
522
691
 
523
- - [#283](https://github.com/phstc/shoryuken/pull/283)
692
+ - [#283](https://github.com/ruby-shoryuken/shoryuken/pull/283)
524
693
 
525
694
  - Fix memory leak caused by async tracking busy threads
526
695
 
527
- - [#289](https://github.com/phstc/shoryuken/pull/289)
696
+ - [#289](https://github.com/ruby-shoryuken/shoryuken/pull/289)
528
697
 
529
698
  - Refactor fetcher, polling strategy and manager
530
- - [#284](https://github.com/phstc/shoryuken/pull/284)
699
+ - [#284](https://github.com/ruby-shoryuken/shoryuken/pull/284)
531
700
 
532
701
  ## [v2.1.1] - 2016-12-05
533
702
 
534
703
  - Fix aws deprecation warning message
535
- - [#279](https://github.com/phstc/shoryuken/pull/279)
704
+ - [#279](https://github.com/ruby-shoryuken/shoryuken/pull/279)
536
705
 
537
706
  ## [v2.1.0] - 2016-12-03
538
707
 
539
708
  - Fix celluloid "running in BACKPORTED mode" warning
540
709
 
541
- - [#260](https://github.com/phstc/shoryuken/pull/260)
710
+ - [#260](https://github.com/ruby-shoryuken/shoryuken/pull/260)
542
711
 
543
712
  - Allow setting the aws configuration in 'Shoryuken.configure_server'
544
713
 
545
- - [#252](https://github.com/phstc/shoryuken/pull/252)
714
+ - [#252](https://github.com/ruby-shoryuken/shoryuken/pull/252)
546
715
 
547
716
  - Allow requiring a file or dir a through `-r`
548
717
 
549
- - [#248](https://github.com/phstc/shoryuken/pull/248)
718
+ - [#248](https://github.com/ruby-shoryuken/shoryuken/pull/248)
550
719
 
551
720
  - Reduce info log verbosity
552
721
 
553
- - [#243](https://github.com/phstc/shoryuken/pull/243)
722
+ - [#243](https://github.com/ruby-shoryuken/shoryuken/pull/243)
554
723
 
555
724
  - Fix auto extender when using ActiveJob
556
725
 
557
- - [#3213](https://github.com/phstc/shoryuken/pull/213)
726
+ - [#3213](https://github.com/ruby-shoryuken/shoryuken/pull/213)
558
727
 
559
728
  - Add FIFO queue support
560
729
 
561
- - [#272](https://github.com/phstc/shoryuken/issues/272)
730
+ - [#272](https://github.com/ruby-shoryuken/shoryuken/issues/272)
562
731
 
563
732
  - Deprecates initialize_aws
564
733
 
565
- - [#269](https://github.com/phstc/shoryuken/pull/269)
734
+ - [#269](https://github.com/ruby-shoryuken/shoryuken/pull/269)
566
735
 
567
- - [Other miscellaneous updates](https://github.com/phstc/shoryuken/compare/v2.0.11...v2.1.0)
736
+ - [Other miscellaneous updates](https://github.com/ruby-shoryuken/shoryuken/compare/v2.0.11...v2.1.0)
568
737
 
569
738
  ## [v2.0.11] - 2016-07-02
570
739
 
571
740
  - Same as 2.0.10. Unfortunately 2.0.10 was removed `yanked` by mistake from RubyGems.
572
- - [#b255bc3](https://github.com/phstc/shoryuken/commit/b255bc3)
741
+ - [#b255bc3](https://github.com/ruby-shoryuken/shoryuken/commit/b255bc3)
573
742
 
574
743
  ## [v2.0.10] - 2016-06-09
575
744
 
576
745
  - Fix manager #225
577
- - [#226](https://github.com/phstc/shoryuken/pull/226)
746
+ - [#226](https://github.com/ruby-shoryuken/shoryuken/pull/226)
578
747
 
579
748
  ## [v2.0.9] - 2016-06-08
580
749
 
581
750
  - Fix daemonization broken in #219
582
- - [#224](https://github.com/phstc/shoryuken/pull/224)
751
+ - [#224](https://github.com/ruby-shoryuken/shoryuken/pull/224)
583
752
 
584
753
  ## [v2.0.8] - 2016-06-07
585
754
 
586
755
  - Fix daemonization
587
- - [#223](https://github.com/phstc/shoryuken/pull/223)
756
+ - [#223](https://github.com/ruby-shoryuken/shoryuken/pull/223)
588
757
 
589
758
  ## [v2.0.7] - 2016-06-06
590
759
 
591
760
  - Daemonize before loading environment
592
761
 
593
- - [#219](https://github.com/phstc/shoryuken/pull/219)
762
+ - [#219](https://github.com/ruby-shoryuken/shoryuken/pull/219)
594
763
 
595
764
  - Fix initialization when using rails
596
765
 
597
- - [#197](https://github.com/phstc/shoryuken/pull/197)
766
+ - [#197](https://github.com/ruby-shoryuken/shoryuken/pull/197)
598
767
 
599
768
  - Improve message fetching
600
769
 
601
- - [#214](https://github.com/phstc/shoryuken/pull/214)
602
- - [#f4640d9](https://github.com/phstc/shoryuken/commit/f4640d9)
770
+ - [#214](https://github.com/ruby-shoryuken/shoryuken/pull/214)
771
+ - [#f4640d9](https://github.com/ruby-shoryuken/shoryuken/commit/f4640d9)
603
772
 
604
773
  - Fix hard shutdown if there are some busy workers when signal received
605
774
 
606
- - [#215](https://github.com/phstc/shoryuken/pull/215)
775
+ - [#215](https://github.com/ruby-shoryuken/shoryuken/pull/215)
607
776
 
608
777
  - Fix `rake console` task
609
778
 
610
- - [#208](https://github.com/phstc/shoryuken/pull/208)
779
+ - [#208](https://github.com/ruby-shoryuken/shoryuken/pull/208)
611
780
 
612
781
  - Isolate `MessageVisibilityExtender` as new middleware
613
782
 
614
- - [#199](https://github.com/phstc/shoryuken/pull/190)
783
+ - [#199](https://github.com/ruby-shoryuken/shoryuken/pull/190)
615
784
 
616
785
  - Fail on non-existent queues
617
- - [#196](https://github.com/phstc/shoryuken/pull/196)
786
+ - [#196](https://github.com/ruby-shoryuken/shoryuken/pull/196)
618
787
 
619
788
  ## [v2.0.6] - 2016-04-18
620
789
 
621
790
  - Fix log initialization introduced by #191
622
- - [#195](https://github.com/phstc/shoryuken/pull/195)
791
+ - [#195](https://github.com/ruby-shoryuken/shoryuken/pull/195)
623
792
 
624
793
  ## [v2.0.5] - 2016-04-17
625
794
 
626
795
  - Fix log initialization when using `Shoryuken::EnvironmentLoader#load`
627
796
 
628
- - [#191](https://github.com/phstc/shoryuken/pull/191)
797
+ - [#191](https://github.com/ruby-shoryuken/shoryuken/pull/191)
629
798
 
630
799
  - Fix `enqueue_at` in the ActiveJob Adapter
631
- - [#182](https://github.com/phstc/shoryuken/pull/182)
800
+ - [#182](https://github.com/ruby-shoryuken/shoryuken/pull/182)
632
801
 
633
802
  ## [v2.0.4] - 2016-02-04
634
803
 
635
804
  - Add Rails 3 support
636
805
 
637
- - [#175](https://github.com/phstc/shoryuken/pull/175)
806
+ - [#175](https://github.com/ruby-shoryuken/shoryuken/pull/175)
638
807
 
639
808
  - Allow symbol as a queue name in shoryuken_options
640
809
 
641
- - [#177](https://github.com/phstc/shoryuken/pull/177)
810
+ - [#177](https://github.com/ruby-shoryuken/shoryuken/pull/177)
642
811
 
643
812
  - Make sure bundler is always updated on Travis CI
644
813
 
645
- - [#176](https://github.com/phstc/shoryuken/pull/176)
814
+ - [#176](https://github.com/ruby-shoryuken/shoryuken/pull/176)
646
815
 
647
816
  - Add Rails 5 compatibility
648
- - [#174](https://github.com/phstc/shoryuken/pull/174)
817
+ - [#174](https://github.com/ruby-shoryuken/shoryuken/pull/174)
649
818
 
650
819
  ## [v2.0.3] - 2015-12-30
651
820
 
652
821
  - Allow multiple queues per worker
653
822
 
654
- - [#164](https://github.com/phstc/shoryuken/pull/164)
823
+ - [#164](https://github.com/ruby-shoryuken/shoryuken/pull/164)
655
824
 
656
825
  - Fix typo
657
- - [#166](https://github.com/phstc/shoryuken/pull/166)
826
+ - [#166](https://github.com/ruby-shoryuken/shoryuken/pull/166)
658
827
 
659
828
  ## [v2.0.2] - 2015-10-27
660
829
 
661
830
  - Fix warnings that are triggered in some cases with the raise_error matcher
662
831
 
663
- - [#144](https://github.com/phstc/shoryuken/pull/144)
832
+ - [#144](https://github.com/ruby-shoryuken/shoryuken/pull/144)
664
833
 
665
834
  - Add lifecycle event registration support
666
835
 
667
- - [#141](https://github.com/phstc/shoryuken/pull/141)
836
+ - [#141](https://github.com/ruby-shoryuken/shoryuken/pull/141)
668
837
 
669
838
  - Allow passing array of messages to send_messages
670
839
 
671
- - [#140](https://github.com/phstc/shoryuken/pull/140)
840
+ - [#140](https://github.com/ruby-shoryuken/shoryuken/pull/140)
672
841
 
673
842
  - Fix Active Job queue prefixing in Rails apps
674
843
 
675
- - [#139](https://github.com/phstc/shoryuken/pull/139)
844
+ - [#139](https://github.com/ruby-shoryuken/shoryuken/pull/139)
676
845
 
677
846
  - Enable override the default queue with a :queue option
678
- - [#147](https://github.com/phstc/shoryuken/pull/147)
847
+ - [#147](https://github.com/ruby-shoryuken/shoryuken/pull/147)
679
848
 
680
849
  ## [v2.0.1] - 2015-10-09
681
850
 
682
851
  - Bump aws-sdk to ~> 2
683
- - [#138](https://github.com/phstc/shoryuken/pull/138)
852
+ - [#138](https://github.com/ruby-shoryuken/shoryuken/pull/138)
684
853
 
685
854
  ## [v2.0.0] - 2015-09-22
686
855
 
687
856
  - Allow configuration of SQS/SNS endpoints via environment variables
688
857
 
689
- - [#130](https://github.com/phstc/shoryuken/pull/130)
858
+ - [#130](https://github.com/ruby-shoryuken/shoryuken/pull/130)
690
859
 
691
860
  - Expose queue_name in the message object
692
861
 
693
- - [#127](https://github.com/phstc/shoryuken/pull/127)
862
+ - [#127](https://github.com/ruby-shoryuken/shoryuken/pull/127)
694
863
 
695
864
  - README updates
696
- - [#122](https://github.com/phstc/shoryuken/pull/122)
697
- - [#120](https://github.com/phstc/shoryuken/pull/120)
865
+ - [#122](https://github.com/ruby-shoryuken/shoryuken/pull/122)
866
+ - [#120](https://github.com/ruby-shoryuken/shoryuken/pull/120)