sidekiq 4.2.10 → 6.1.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sidekiq might be problematic. Click here for more details.

Files changed (106) hide show
  1. checksums.yaml +5 -5
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +20 -0
  3. data/.github/workflows/ci.yml +41 -0
  4. data/.gitignore +2 -1
  5. data/.standard.yml +20 -0
  6. data/5.0-Upgrade.md +56 -0
  7. data/6.0-Upgrade.md +72 -0
  8. data/COMM-LICENSE +12 -10
  9. data/Changes.md +354 -1
  10. data/Ent-2.0-Upgrade.md +37 -0
  11. data/Ent-Changes.md +111 -3
  12. data/Gemfile +16 -21
  13. data/Gemfile.lock +192 -0
  14. data/LICENSE +1 -1
  15. data/Pro-4.0-Upgrade.md +35 -0
  16. data/Pro-5.0-Upgrade.md +25 -0
  17. data/Pro-Changes.md +181 -4
  18. data/README.md +19 -33
  19. data/Rakefile +6 -8
  20. data/bin/sidekiq +26 -2
  21. data/bin/sidekiqload +37 -34
  22. data/bin/sidekiqmon +8 -0
  23. data/lib/generators/sidekiq/templates/worker_spec.rb.erb +1 -1
  24. data/lib/generators/sidekiq/templates/worker_test.rb.erb +1 -1
  25. data/lib/generators/sidekiq/worker_generator.rb +21 -13
  26. data/lib/sidekiq.rb +86 -61
  27. data/lib/sidekiq/api.rb +320 -209
  28. data/lib/sidekiq/cli.rb +207 -217
  29. data/lib/sidekiq/client.rb +78 -51
  30. data/lib/sidekiq/delay.rb +41 -0
  31. data/lib/sidekiq/exception_handler.rb +12 -16
  32. data/lib/sidekiq/extensions/action_mailer.rb +13 -22
  33. data/lib/sidekiq/extensions/active_record.rb +13 -10
  34. data/lib/sidekiq/extensions/class_methods.rb +14 -11
  35. data/lib/sidekiq/extensions/generic_proxy.rb +10 -4
  36. data/lib/sidekiq/fetch.rb +29 -30
  37. data/lib/sidekiq/job_logger.rb +63 -0
  38. data/lib/sidekiq/job_retry.rb +262 -0
  39. data/lib/sidekiq/launcher.rb +102 -69
  40. data/lib/sidekiq/logger.rb +165 -0
  41. data/lib/sidekiq/manager.rb +16 -19
  42. data/lib/sidekiq/middleware/chain.rb +15 -5
  43. data/lib/sidekiq/middleware/i18n.rb +5 -7
  44. data/lib/sidekiq/monitor.rb +133 -0
  45. data/lib/sidekiq/paginator.rb +18 -14
  46. data/lib/sidekiq/processor.rb +161 -82
  47. data/lib/sidekiq/rails.rb +27 -100
  48. data/lib/sidekiq/redis_connection.rb +60 -20
  49. data/lib/sidekiq/scheduled.rb +61 -35
  50. data/lib/sidekiq/sd_notify.rb +149 -0
  51. data/lib/sidekiq/systemd.rb +24 -0
  52. data/lib/sidekiq/testing.rb +48 -28
  53. data/lib/sidekiq/testing/inline.rb +2 -1
  54. data/lib/sidekiq/util.rb +20 -16
  55. data/lib/sidekiq/version.rb +2 -1
  56. data/lib/sidekiq/web.rb +57 -57
  57. data/lib/sidekiq/web/action.rb +14 -14
  58. data/lib/sidekiq/web/application.rb +103 -84
  59. data/lib/sidekiq/web/csrf_protection.rb +158 -0
  60. data/lib/sidekiq/web/helpers.rb +126 -71
  61. data/lib/sidekiq/web/router.rb +18 -17
  62. data/lib/sidekiq/worker.rb +164 -41
  63. data/sidekiq.gemspec +15 -27
  64. data/web/assets/javascripts/application.js +25 -27
  65. data/web/assets/javascripts/dashboard.js +33 -37
  66. data/web/assets/stylesheets/application-dark.css +143 -0
  67. data/web/assets/stylesheets/application-rtl.css +246 -0
  68. data/web/assets/stylesheets/application.css +385 -10
  69. data/web/assets/stylesheets/bootstrap-rtl.min.css +9 -0
  70. data/web/assets/stylesheets/bootstrap.css +2 -2
  71. data/web/locales/ar.yml +81 -0
  72. data/web/locales/de.yml +14 -2
  73. data/web/locales/en.yml +4 -0
  74. data/web/locales/es.yml +4 -3
  75. data/web/locales/fa.yml +1 -0
  76. data/web/locales/fr.yml +2 -2
  77. data/web/locales/he.yml +79 -0
  78. data/web/locales/ja.yml +9 -4
  79. data/web/locales/lt.yml +83 -0
  80. data/web/locales/pl.yml +4 -4
  81. data/web/locales/ru.yml +4 -0
  82. data/web/locales/ur.yml +80 -0
  83. data/web/locales/vi.yml +83 -0
  84. data/web/views/_footer.erb +5 -2
  85. data/web/views/_job_info.erb +2 -1
  86. data/web/views/_nav.erb +4 -18
  87. data/web/views/_paging.erb +1 -1
  88. data/web/views/busy.erb +15 -8
  89. data/web/views/dashboard.erb +1 -1
  90. data/web/views/dead.erb +2 -2
  91. data/web/views/layout.erb +12 -2
  92. data/web/views/morgue.erb +9 -6
  93. data/web/views/queue.erb +18 -8
  94. data/web/views/queues.erb +11 -1
  95. data/web/views/retries.erb +14 -7
  96. data/web/views/retry.erb +2 -2
  97. data/web/views/scheduled.erb +7 -4
  98. metadata +41 -188
  99. data/.github/issue_template.md +0 -9
  100. data/.travis.yml +0 -18
  101. data/bin/sidekiqctl +0 -99
  102. data/lib/sidekiq/core_ext.rb +0 -119
  103. data/lib/sidekiq/logging.rb +0 -106
  104. data/lib/sidekiq/middleware/server/active_record.rb +0 -13
  105. data/lib/sidekiq/middleware/server/logging.rb +0 -31
  106. data/lib/sidekiq/middleware/server/retry_jobs.rb +0 -205
@@ -0,0 +1,37 @@
1
+ # Welcome to Sidekiq Enterprise 2.0!
2
+
3
+ Sidekiq Enterprise 2.0 adds a few new features and adds the requirement that license
4
+ credentials be available at runtime. Note that Sidekiq 6.0 does have major breaking changes.
5
+
6
+ ## What's New
7
+
8
+ * Sidekiq Enterprise now requires license credentials at runtime. If you
9
+ configured Bundler as described in the access email you need do
10
+ nothing, everything should just work. If you are vendoring Sidekiq
11
+ Enterprise you will need to configure Bundler also or set
12
+ `SIDEKIQ_ENT_USERNAME=abcdef12 bundle exec sidekiq...` when starting the
13
+ process. [#4232]
14
+ * Dead jobs now release any unique locks they were holding when they died [#4162]
15
+ * Backoff can now be customized per rate limiter by passing in a Proc [#4219]
16
+ ```ruby
17
+ limiter = Sidekiq::Limiter.bucket(:stripe, 10, :second, backoff: ->(limiter, job) {
18
+ return job['overrated'] || 5 # wait for N seconds, where N is the number of
19
+ # times we've failed the rate limit
20
+ })
21
+ ```
22
+ * Removed deprecated APIs and warnings.
23
+ * Various changes for Sidekiq 6.0
24
+ * Requires Ruby 2.5+ and Redis 4.0+
25
+ * Requires Sidekiq 6.0+ and Sidekiq Pro 5.0+
26
+
27
+ ## Upgrade
28
+
29
+ * Upgrade to the latest Sidekiq Enterprise 1.x.
30
+ ```ruby
31
+ gem 'sidekiq-ent', '< 2'
32
+ ```
33
+ * Fix any deprecation warnings you see.
34
+ * Upgrade to 2.x.
35
+ ```ruby
36
+ gem 'sidekiq-ent', '< 3'
37
+ ```
@@ -1,7 +1,115 @@
1
- Sidekiq Enterprise Changelog
2
- =======================
1
+ # Sidekiq Enterprise Changelog
3
2
 
4
- Please see [http://sidekiq.org/](http://sidekiq.org/) for more details and how to buy.
3
+ [Sidekiq Changes](https://github.com/mperham/sidekiq/blob/master/Changes.md) | [Sidekiq Pro Changes](https://github.com/mperham/sidekiq/blob/master/Pro-Changes.md) | [Sidekiq Enterprise Changes](https://github.com/mperham/sidekiq/blob/master/Ent-Changes.md)
4
+
5
+ Please see [sidekiq.org](https://sidekiq.org) for more details and how to buy.
6
+
7
+ 2.1.2
8
+ -------------
9
+
10
+ - The Sidekiq Pro and Enterprise gem servers now `bundle install` much faster with **Bundler 2.2+** [#4158]
11
+ - Now that ActiveJobs support `sidekiq_options`, add support for uniqueness in AJs [#4667]
12
+
13
+ 2.1.1
14
+ -------------
15
+
16
+ - Add optional **app preload** in swarm, saves even more memory [#4646]
17
+ - Fix incorrect queue tags in historical metrics [#4377]
18
+
19
+ 2.1.0
20
+ -------------
21
+
22
+ - Move historical metrics to use tags rather than interpolating name [#4377]
23
+ ```
24
+ sidekiq.enqueued.#{name} -> sidekiq.queue.size with tag queue:#{name}
25
+ sidekiq.latency.#{name} -> sidekiq.queue.latency with tag queue:#{name}
26
+ ```
27
+ - Remove `concurrent-ruby` gem dependency [#4586]
28
+ - Add systemd `Type=notify` support for swarm [#4511]
29
+ - Length swarm's boot timeout to 60 sec [#4544]
30
+ - Add NL locale
31
+
32
+ 2.0.1
33
+ -------------
34
+
35
+ - Periodic job registration API adjusted to avoid loading classes in initializer [#4271]
36
+ - Remove support for deprecated ENV variables (COUNT, MAXMEM\_MB, INDEX) in swarm code
37
+
38
+ 2.0.0
39
+ -------------
40
+
41
+ - Except for the [newly required credentials](https://github.com/mperham/sidekiq/issues/4232), Sidekiq Enterprise 2.0 does
42
+ not have any significant migration steps.
43
+ - Sidekiq Enterprise must now be started with valid license credentials. [#4232]
44
+ - Call `GC.compact` if possible in sidekiqswarm before forking [#4181]
45
+ - Changes for forward-compatibility with Sidekiq 6.0.
46
+ - Add death handler to remove any lingering unique locks [#4162]
47
+ - Backoff can now be customized per rate limiter [#4219]
48
+ - Code formatting changes for StandardRB
49
+
50
+ 1.8.1
51
+ -------------
52
+
53
+ - Fix excessive lock reclaims with concurrent limiter [#4105]
54
+ - Add ES translations, see issues [#3949](https://github.com/mperham/sidekiq/issues/3949) and [#3951](https://github.com/mperham/sidekiq/issues/3951) to add your own language.
55
+
56
+ 1.8.0
57
+ -------------
58
+
59
+ - Require Sidekiq Pro 4.0 and Sidekiq 5.2.
60
+ - Refactor historical metrics API to use revamped Statsd support in Sidekiq Pro
61
+ - Add a gauge to historical metrics for `default` queue latency [#4079]
62
+
63
+ 1.7.2
64
+ -------------
65
+
66
+ - Add PT and JA translations
67
+ - Fix elapsed time calculations to use monotonic clock [#4000, sj26]
68
+ - Fix edge case where flapping leadership would cause old periodic
69
+ jobs to be fired once [#3974]
70
+ - Add support for sidekiqswarm memory monitoring on FreeBSD [#3884]
71
+
72
+ 1.7.1
73
+ -------------
74
+
75
+ - Fix Lua error in concurrent rate limiter under heavy contention
76
+ - Remove superfluous `freeze` calls on Strings [#3759]
77
+
78
+ 1.7.0
79
+ -------------
80
+
81
+ - **NEW FEATURE** [Rolling restarts](https://github.com/mperham/sidekiq/wiki/Ent-Rolling-Restarts) - great for long running jobs!
82
+ - Adjust middleware so unique jobs that don't push aren't registered in a Batch [#3662]
83
+ - Add new unlimited rate limiter, useful for testing [#3743]
84
+ ```ruby
85
+ limiter = Sidekiq::Limiter.unlimited(...any args...)
86
+ ```
87
+
88
+ 1.6.1
89
+ -------------
90
+
91
+ - Fix crash in rate limiter middleware when used with custom exceptions [#3604]
92
+
93
+ 1.6.0
94
+ -------------
95
+
96
+ - Show process "leader" tag on Busy page, requires Sidekiq 5.0.2 [#2867]
97
+ - Capture custom metrics with the `save_history` API. [#2815]
98
+ - Implement new `unique_until: 'start'` policy option. [#3471]
99
+
100
+ 1.5.4
101
+ -------------
102
+
103
+ - Fix broken Cron page in Web UI [#3458]
104
+
105
+ 1.5.3
106
+ -------------
107
+
108
+ - Remove dependency on the algorithms gem [#3446]
109
+ - Allow user to specify max memory in megabytes with SIDEKIQ\_MAXMEM\_MB [#3451]
110
+ - Implement logic to detect app startup failure, sidekiqswarm will exit
111
+ rather than try to restart the app forever [#3450]
112
+ - Another fix for doubly-encrypted arguments [#3368]
5
113
 
6
114
  1.5.2
7
115
  -------------
data/Gemfile CHANGED
@@ -1,29 +1,24 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
+
2
3
  gemspec
3
4
 
4
- gem 'rails', '>= 5.0.1'
5
- gem "hiredis"
6
- gem 'simplecov'
7
- gem 'minitest'
8
- #gem 'minitest-utils'
9
- gem 'toxiproxy'
5
+ gem "rake"
6
+ gem "redis-namespace"
7
+ gem "rails", ">= 6.0.2"
8
+ gem "sqlite3", platforms: :ruby
9
+ gem "activerecord-jdbcsqlite3-adapter", platforms: :jruby
10
10
 
11
- platforms :rbx do
12
- gem 'rubysl', '~> 2.0' # if using anything in the ruby standard library
13
- gem 'psych' # if using yaml
14
- gem 'rubinius-developer_tools' # if using any of coverage, debugger, profiler
11
+ group :test do
12
+ gem "minitest"
13
+ gem "simplecov"
14
+ gem "codecov", require: false
15
15
  end
16
16
 
17
- platforms :ruby do
18
- gem 'sqlite3'
17
+ group :development, :test do
18
+ gem "standard"
19
19
  end
20
20
 
21
- platforms :mri do
22
- gem 'pry-byebug'
23
- gem 'ruby-prof'
21
+ group :load_test do
22
+ gem "hiredis"
23
+ gem "toxiproxy"
24
24
  end
25
-
26
- #platforms :jruby do
27
- #gem 'jruby-openssl'
28
- #gem 'activerecord-jdbcsqlite3-adapter'
29
- #end
@@ -0,0 +1,192 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ sidekiq (6.1.2)
5
+ connection_pool (>= 2.2.2)
6
+ rack (~> 2.0)
7
+ redis (>= 4.2.0)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ actioncable (6.0.3.2)
13
+ actionpack (= 6.0.3.2)
14
+ nio4r (~> 2.0)
15
+ websocket-driver (>= 0.6.1)
16
+ actionmailbox (6.0.3.2)
17
+ actionpack (= 6.0.3.2)
18
+ activejob (= 6.0.3.2)
19
+ activerecord (= 6.0.3.2)
20
+ activestorage (= 6.0.3.2)
21
+ activesupport (= 6.0.3.2)
22
+ mail (>= 2.7.1)
23
+ actionmailer (6.0.3.2)
24
+ actionpack (= 6.0.3.2)
25
+ actionview (= 6.0.3.2)
26
+ activejob (= 6.0.3.2)
27
+ mail (~> 2.5, >= 2.5.4)
28
+ rails-dom-testing (~> 2.0)
29
+ actionpack (6.0.3.2)
30
+ actionview (= 6.0.3.2)
31
+ activesupport (= 6.0.3.2)
32
+ rack (~> 2.0, >= 2.0.8)
33
+ rack-test (>= 0.6.3)
34
+ rails-dom-testing (~> 2.0)
35
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
36
+ actiontext (6.0.3.2)
37
+ actionpack (= 6.0.3.2)
38
+ activerecord (= 6.0.3.2)
39
+ activestorage (= 6.0.3.2)
40
+ activesupport (= 6.0.3.2)
41
+ nokogiri (>= 1.8.5)
42
+ actionview (6.0.3.2)
43
+ activesupport (= 6.0.3.2)
44
+ builder (~> 3.1)
45
+ erubi (~> 1.4)
46
+ rails-dom-testing (~> 2.0)
47
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
48
+ activejob (6.0.3.2)
49
+ activesupport (= 6.0.3.2)
50
+ globalid (>= 0.3.6)
51
+ activemodel (6.0.3.2)
52
+ activesupport (= 6.0.3.2)
53
+ activerecord (6.0.3.2)
54
+ activemodel (= 6.0.3.2)
55
+ activesupport (= 6.0.3.2)
56
+ activestorage (6.0.3.2)
57
+ actionpack (= 6.0.3.2)
58
+ activejob (= 6.0.3.2)
59
+ activerecord (= 6.0.3.2)
60
+ marcel (~> 0.3.1)
61
+ activesupport (6.0.3.2)
62
+ concurrent-ruby (~> 1.0, >= 1.0.2)
63
+ i18n (>= 0.7, < 2)
64
+ minitest (~> 5.1)
65
+ tzinfo (~> 1.1)
66
+ zeitwerk (~> 2.2, >= 2.2.2)
67
+ ast (2.4.1)
68
+ builder (3.2.4)
69
+ codecov (0.2.8)
70
+ json
71
+ simplecov
72
+ concurrent-ruby (1.1.7)
73
+ connection_pool (2.2.3)
74
+ crass (1.0.6)
75
+ docile (1.3.2)
76
+ erubi (1.9.0)
77
+ globalid (0.4.2)
78
+ activesupport (>= 4.2.0)
79
+ hiredis (0.6.3)
80
+ i18n (1.8.5)
81
+ concurrent-ruby (~> 1.0)
82
+ json (2.3.1)
83
+ loofah (2.7.0)
84
+ crass (~> 1.0.2)
85
+ nokogiri (>= 1.5.9)
86
+ mail (2.7.1)
87
+ mini_mime (>= 0.1.1)
88
+ marcel (0.3.3)
89
+ mimemagic (~> 0.3.2)
90
+ method_source (1.0.0)
91
+ mimemagic (0.3.5)
92
+ mini_mime (1.0.2)
93
+ mini_portile2 (2.4.0)
94
+ minitest (5.14.1)
95
+ nio4r (2.5.2)
96
+ nokogiri (1.10.10)
97
+ mini_portile2 (~> 2.4.0)
98
+ parallel (1.19.2)
99
+ parser (2.7.1.4)
100
+ ast (~> 2.4.1)
101
+ rack (2.2.3)
102
+ rack-test (1.1.0)
103
+ rack (>= 1.0, < 3)
104
+ rails (6.0.3.2)
105
+ actioncable (= 6.0.3.2)
106
+ actionmailbox (= 6.0.3.2)
107
+ actionmailer (= 6.0.3.2)
108
+ actionpack (= 6.0.3.2)
109
+ actiontext (= 6.0.3.2)
110
+ actionview (= 6.0.3.2)
111
+ activejob (= 6.0.3.2)
112
+ activemodel (= 6.0.3.2)
113
+ activerecord (= 6.0.3.2)
114
+ activestorage (= 6.0.3.2)
115
+ activesupport (= 6.0.3.2)
116
+ bundler (>= 1.3.0)
117
+ railties (= 6.0.3.2)
118
+ sprockets-rails (>= 2.0.0)
119
+ rails-dom-testing (2.0.3)
120
+ activesupport (>= 4.2.0)
121
+ nokogiri (>= 1.6)
122
+ rails-html-sanitizer (1.3.0)
123
+ loofah (~> 2.3)
124
+ railties (6.0.3.2)
125
+ actionpack (= 6.0.3.2)
126
+ activesupport (= 6.0.3.2)
127
+ method_source
128
+ rake (>= 0.8.7)
129
+ thor (>= 0.20.3, < 2.0)
130
+ rainbow (3.0.0)
131
+ rake (13.0.1)
132
+ redis (4.2.1)
133
+ redis-namespace (1.8.0)
134
+ redis (>= 3.0.4)
135
+ regexp_parser (1.7.1)
136
+ rexml (3.2.4)
137
+ rubocop (0.89.1)
138
+ parallel (~> 1.10)
139
+ parser (>= 2.7.1.1)
140
+ rainbow (>= 2.2.2, < 4.0)
141
+ regexp_parser (>= 1.7)
142
+ rexml
143
+ rubocop-ast (>= 0.3.0, < 1.0)
144
+ ruby-progressbar (~> 1.7)
145
+ unicode-display_width (>= 1.4.0, < 2.0)
146
+ rubocop-ast (0.3.0)
147
+ parser (>= 2.7.1.4)
148
+ rubocop-performance (1.7.1)
149
+ rubocop (>= 0.82.0)
150
+ ruby-progressbar (1.10.1)
151
+ simplecov (0.19.0)
152
+ docile (~> 1.1)
153
+ simplecov-html (~> 0.11)
154
+ simplecov-html (0.12.2)
155
+ sprockets (4.0.2)
156
+ concurrent-ruby (~> 1.0)
157
+ rack (> 1, < 3)
158
+ sprockets-rails (3.2.1)
159
+ actionpack (>= 4.0)
160
+ activesupport (>= 4.0)
161
+ sprockets (>= 3.0.0)
162
+ sqlite3 (1.4.2)
163
+ standard (0.5.2)
164
+ rubocop (~> 0.89.1)
165
+ rubocop-performance (~> 1.7.1)
166
+ thor (1.0.1)
167
+ thread_safe (0.3.6)
168
+ toxiproxy (1.0.3)
169
+ tzinfo (1.2.7)
170
+ thread_safe (~> 0.1)
171
+ unicode-display_width (1.7.0)
172
+ websocket-driver (0.7.3)
173
+ websocket-extensions (>= 0.1.0)
174
+ websocket-extensions (0.1.5)
175
+ zeitwerk (2.4.0)
176
+
177
+ PLATFORMS
178
+ ruby
179
+
180
+ DEPENDENCIES
181
+ activerecord-jdbcsqlite3-adapter
182
+ codecov
183
+ hiredis
184
+ minitest
185
+ rails (>= 6.0.2)
186
+ rake
187
+ redis-namespace
188
+ sidekiq!
189
+ simplecov
190
+ sqlite3
191
+ standard
192
+ toxiproxy
data/LICENSE CHANGED
@@ -5,5 +5,5 @@ the LGPLv3 license. Please see <http://www.gnu.org/licenses/lgpl-3.0.html>
5
5
  for license text.
6
6
 
7
7
  Sidekiq Pro has a commercial-friendly license allowing private forks
8
- and modifications of Sidekiq. Please see http://sidekiq.org/pro/ for
8
+ and modifications of Sidekiq. Please see https://sidekiq.org/products/pro.html for
9
9
  more detail. You can find the commercial license terms in COMM-LICENSE.
@@ -0,0 +1,35 @@
1
+ # Welcome to Sidekiq Pro 4.0!
2
+
3
+ Sidekiq Pro 4.0 is designed to work with Sidekiq 5.0.
4
+
5
+ ## What's New
6
+
7
+ * Batches now "die" if any of their jobs die. You can enumerate the set
8
+ of dead batches and their associated dead jobs. The success callback
9
+ for a dead batch will never fire unless these jobs are fixed.
10
+ ```ruby
11
+ Sidekiq::Batch::DeadSet.new.each do |status|
12
+ status.dead? # => true
13
+ status.dead_jobs # => [...]
14
+ end
15
+ ```
16
+ This API allows you to enumerate the batches which need help.
17
+ If you fix the issue and the dead jobs succeed, the batch will succeed.
18
+ * The older `reliable_fetch` and `timed_fetch` algorithms have been
19
+ removed. Only super\_fetch is available in 4.0.
20
+ * The statsd middleware has been tweaked to remove support for legacy,
21
+ pre-3.6.0 configuration and add relevant tags.
22
+ * Requires Sidekiq 5.0.5+.
23
+
24
+ ## Upgrade
25
+
26
+ * Upgrade to the latest Sidekiq Pro 3.x.
27
+ ```ruby
28
+ gem 'sidekiq-pro', '< 4'
29
+ ```
30
+ * Fix any deprecation warnings you see.
31
+ * Upgrade to 4.x.
32
+ ```ruby
33
+ gem 'sidekiq-pro', '< 5'
34
+ ```
35
+
@@ -0,0 +1,25 @@
1
+ # Welcome to Sidekiq Pro 5.0!
2
+
3
+ Sidekiq Pro 5.0 is mainly a cleanup release for Sidekiq 6.0. The
4
+ migration should be as close to trivial as a major version bump can be.
5
+ Note that Sidekiq 6.0 does have major breaking changes.
6
+
7
+ ## What's New
8
+
9
+ * New localizations for the Sidekiq Pro Web UI: ES, ZH, PT, JA, RU
10
+ * Removed deprecated APIs and warnings.
11
+ * Various changes for Sidekiq 6.0
12
+ * Requires Ruby 2.5+ and Redis 4.0+
13
+ * Requires Sidekiq 6.0+.
14
+
15
+ ## Upgrade
16
+
17
+ * Upgrade to the latest Sidekiq Pro 4.x.
18
+ ```ruby
19
+ gem 'sidekiq-pro', '< 5'
20
+ ```
21
+ * Fix any deprecation warnings you see.
22
+ * Upgrade to 5.x.
23
+ ```ruby
24
+ gem 'sidekiq-pro', '< 6'
25
+ ```