sidekiq 6.0.0 → 6.1.1

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 (66) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +13 -3
  3. data/6.0-Upgrade.md +3 -1
  4. data/Changes.md +155 -1
  5. data/Ent-Changes.md +27 -2
  6. data/Gemfile +2 -2
  7. data/Gemfile.lock +121 -109
  8. data/Pro-Changes.md +29 -2
  9. data/README.md +4 -5
  10. data/bin/sidekiq +26 -2
  11. data/bin/sidekiqload +8 -4
  12. data/bin/sidekiqmon +4 -5
  13. data/lib/generators/sidekiq/worker_generator.rb +11 -1
  14. data/lib/sidekiq/api.rb +130 -94
  15. data/lib/sidekiq/cli.rb +40 -24
  16. data/lib/sidekiq/client.rb +33 -12
  17. data/lib/sidekiq/extensions/active_record.rb +3 -2
  18. data/lib/sidekiq/extensions/class_methods.rb +5 -4
  19. data/lib/sidekiq/fetch.rb +26 -26
  20. data/lib/sidekiq/job_logger.rb +12 -4
  21. data/lib/sidekiq/job_retry.rb +23 -10
  22. data/lib/sidekiq/launcher.rb +35 -10
  23. data/lib/sidekiq/logger.rb +108 -12
  24. data/lib/sidekiq/manager.rb +3 -3
  25. data/lib/sidekiq/middleware/chain.rb +11 -2
  26. data/lib/sidekiq/monitor.rb +3 -18
  27. data/lib/sidekiq/paginator.rb +7 -2
  28. data/lib/sidekiq/processor.rb +22 -24
  29. data/lib/sidekiq/rails.rb +16 -18
  30. data/lib/sidekiq/redis_connection.rb +21 -13
  31. data/lib/sidekiq/scheduled.rb +13 -12
  32. data/lib/sidekiq/sd_notify.rb +149 -0
  33. data/lib/sidekiq/systemd.rb +24 -0
  34. data/lib/sidekiq/testing.rb +13 -1
  35. data/lib/sidekiq/util.rb +0 -2
  36. data/lib/sidekiq/version.rb +1 -1
  37. data/lib/sidekiq/web/application.rb +22 -21
  38. data/lib/sidekiq/web/csrf_protection.rb +153 -0
  39. data/lib/sidekiq/web/helpers.rb +25 -16
  40. data/lib/sidekiq/web/router.rb +2 -4
  41. data/lib/sidekiq/web.rb +16 -8
  42. data/lib/sidekiq/worker.rb +8 -11
  43. data/lib/sidekiq.rb +21 -7
  44. data/sidekiq.gemspec +3 -4
  45. data/web/assets/javascripts/application.js +25 -27
  46. data/web/assets/javascripts/dashboard.js +2 -2
  47. data/web/assets/stylesheets/application-dark.css +133 -0
  48. data/web/assets/stylesheets/application.css +14 -0
  49. data/web/locales/de.yml +14 -2
  50. data/web/locales/en.yml +2 -0
  51. data/web/locales/fr.yml +2 -2
  52. data/web/locales/ja.yml +2 -0
  53. data/web/locales/lt.yml +83 -0
  54. data/web/locales/pl.yml +4 -4
  55. data/web/locales/vi.yml +83 -0
  56. data/web/views/_job_info.erb +2 -1
  57. data/web/views/busy.erb +4 -1
  58. data/web/views/dead.erb +2 -2
  59. data/web/views/layout.erb +1 -0
  60. data/web/views/morgue.erb +4 -1
  61. data/web/views/queue.erb +10 -1
  62. data/web/views/queues.erb +8 -0
  63. data/web/views/retries.erb +4 -1
  64. data/web/views/retry.erb +2 -2
  65. data/web/views/scheduled.erb +4 -1
  66. metadata +16 -24
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fda3ed37e1d981e1b32eea70669c678d400c071a9146a919848bcc598612de25
4
- data.tar.gz: 6580ab6c188b2514efe807479ca25c06ea584d1def175d84d94639bc20f80b1e
3
+ metadata.gz: 3e65c309b08d7da496e7181ff91980d43d8cf56e226fcd921c00e392dbecc22f
4
+ data.tar.gz: 45ff998fd67a0ca37c99176bc1a92c4160569106ff406d75c37e2a5968501d25
5
5
  SHA512:
6
- metadata.gz: 25682d3dbf99d29fa3f56b7c74419863d3549b6e0c182e69c83fbc02a2955d053bca85eec53b474d4d22c7526e44e865f378aa4111152a91377b373be27c4d47
7
- data.tar.gz: e55d07434b1e2ab26df6748101bf10640fc08d4d93f00b75ed04d82ed309ee8529d652982430cd00671c98b5e53cc733bef4b686df58a6b0e116ba04c12139aa
6
+ metadata.gz: fd592b7657c04d8ff7363157a965233a0e6a74889d7ae44a9bf398143ab7847776dbb52cd5e1328125afabe25be79f6c72ae9f03283672e49ae3868bc99037ec
7
+ data.tar.gz: 10b3e967c94933d8a8b269499a71d9690759504398855edde5197ef6f6648d26fa201e131d9c7650c64b6baa2b5306cd40fe618c50e122d11247d8cd2e7a8bbb
data/.circleci/config.yml CHANGED
@@ -3,7 +3,7 @@ references:
3
3
  unit: &unit
4
4
  run:
5
5
  name: Run test suite
6
- command: bundle exec rake
6
+ command: bundle exec rake COVERAGE=1
7
7
  restore: &restore
8
8
  restore_cache:
9
9
  keys:
@@ -34,7 +34,17 @@ jobs:
34
34
  "ruby-2.6":
35
35
  docker:
36
36
  - image: circleci/ruby:2.6
37
- - image: circleci/redis:4.0
37
+ - image: circleci/redis:5.0
38
+ steps:
39
+ - checkout
40
+ - <<: *restore
41
+ - <<: *bundle
42
+ - <<: *save
43
+ - <<: *unit
44
+ "ruby-2.7":
45
+ docker:
46
+ - image: circleci/ruby:2.7
47
+ - image: circleci/redis:6.0
38
48
  steps:
39
49
  - checkout
40
50
  - <<: *restore
@@ -58,4 +68,4 @@ workflows:
58
68
  jobs:
59
69
  - "ruby-2.5"
60
70
  - "ruby-2.6"
61
- - "jruby"
71
+ - "ruby-2.7"
data/6.0-Upgrade.md CHANGED
@@ -10,6 +10,7 @@ This release has major breaking changes. Read and test carefully in production.
10
10
  - ActiveJobs can now use `sidekiq_options` directly to configure Sidekiq
11
11
  features/internals like the retry subsystem. Prefer the native
12
12
  Sidekiq::Worker APIs as some Sidekiq features (e.g. unique jobs) do not work well with AJ.
13
+ (requires Rails 6.0.2)
13
14
  ```ruby
14
15
  class MyJob < ActiveJob::Base
15
16
  queue_as :myqueue
@@ -31,9 +32,10 @@ you can override it by configuring the log formatter explicitly. See
31
32
  ```ruby
32
33
  Sidekiq.configure_server do |config|
33
34
  config.log_formatter = AcmeCorp::PlainLogFormatter.new
34
- # config.log_formatter = Sidekiq::Logger::Format::JSON.new
35
+ # config.log_formatter = Sidekiq::Logger::Formatters::JSON.new
35
36
  end
36
37
  ```
38
+ Please see the [Logging](https://github.com/mperham/sidekiq/wiki/Logging) wiki page for the latest documentation and notes.
37
39
  - **Remove the daemonization, logfile and pidfile command line arguments and `sidekiqctl` binary**.
38
40
  I've [noted for years](https://www.mikeperham.com/2014/09/22/dont-daemonize-your-daemons/)
39
41
  how modern services should be managed with a proper init system.
data/Changes.md CHANGED
@@ -2,12 +2,147 @@
2
2
 
3
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
4
 
5
+ HEAD
6
+ ---------
7
+
8
+ - Jobs are now sorted by age in the Busy Workers table. [#4641]
9
+ - Fix "check all" JS logic in Web UI [#4619]
10
+
11
+ 6.1.0
12
+ ---------
13
+
14
+ - Web UI - Dark Mode fixes [#4543, natematykiewicz]
15
+ - Ensure `Rack::ContentLength` is loaded as middleware for correct Web UI responses [#4541]
16
+ - Avoid exception dumping SSL store in Redis connection logging [#4532]
17
+ - Better error messages in Sidekiq::Client [#4549]
18
+ - Remove rack-protection, reimplement CSRF protection [#4588]
19
+ - Require redis-rb 4.2 [#4591]
20
+ - Update to jquery 1.12.4 [#4593]
21
+ - Refactor internal fetch logic and API [#4602]
22
+
23
+ 6.0.7
24
+ ---------
25
+
26
+ - Refactor systemd integration to work better with custom binaries [#4511]
27
+ - Don't connect to Redis at process exit if not needed [#4502]
28
+ - Remove Redis connection naming [#4479]
29
+ - Fix Redis Sentinel password redaction [#4499]
30
+ - Add Vietnamese locale (vi) [#4528]
31
+
32
+ 6.0.6
33
+ ---------
34
+
35
+ - **Integrate with systemd's watchdog and notification features** [#4488]
36
+ Set `Type=notify` in [sidekiq.service](https://github.com/mperham/sidekiq/blob/4b8a8bd3ae42f6e48ae1fdaf95ed7d7af18ed8bb/examples/systemd/sidekiq.service#L30-L39). The integration works automatically.
37
+ - Use `setTimeout` rather than `setInterval` to avoid thundering herd [#4480]
38
+ - Fix edge case where a job can be pushed without a queue.
39
+ - Flush job stats at exit [#4498]
40
+ - Check RAILS_ENV before RACK_ENV [#4493]
41
+ - Add Lithuanian locale [#4476]
42
+
43
+ 6.0.5
44
+ ---------
45
+
46
+ - Fix broken Web UI response when using NewRelic and Rack 2.1.2+. [#4440]
47
+ - Update APIs to use `UNLINK`, not `DEL`. [#4449]
48
+ - Fix Ruby 2.7 warnings [#4412]
49
+ - Add support for `APP_ENV` [[95fa5d9]](https://github.com/mperham/sidekiq/commit/95fa5d90192148026e52ca2902f1b83c70858ce8)
50
+
51
+ 6.0.4
52
+ ---------
53
+
54
+ - Fix ActiveJob's `sidekiq_options` integration [#4404]
55
+ - Sidekiq Pro users will now see a Pause button next to each queue in
56
+ the Web UI, allowing them to pause queues manually [#4374, shayonj]
57
+ - Fix Sidekiq::Workers API unintentional change in 6.0.2 [#4387]
58
+
59
+
60
+ 6.0.3
61
+ ---------
62
+
63
+ - Fix `Sidekiq::Client.push_bulk` API which was erroneously putting
64
+ invalid `at` values in the job payloads [#4321]
65
+
66
+ 6.0.2
67
+ ---------
68
+
69
+ - Fix Sidekiq Enterprise's rolling restart functionality, broken by refactoring in 6.0.0. [#4334]
70
+ - More internal refactoring and performance tuning [fatkodima]
71
+
72
+ 6.0.1
73
+ ---------
74
+
75
+ - **Performance tuning**, Sidekiq should be 10-15% faster now [#4303, 4299,
76
+ 4269, fatkodima]
77
+ - **Dark Mode support in Web UI** (further design polish welcome!) [#4227, mperham,
78
+ fatkodima, silent-e]
79
+ - **Job-specific log levels**, allowing you to turn on debugging for
80
+ problematic workers. [fatkodima, #4287]
81
+ ```ruby
82
+ MyWorker.set(log_level: :debug).perform_async(...)
83
+ ```
84
+ - **Ad-hoc job tags**. You can tag your jobs with, e.g, subdomain, tenant, country,
85
+ locale, application, version, user/client, "alpha/beta/pro/ent", types of jobs,
86
+ teams/people responsible for jobs, additional metadata, etc.
87
+ Tags are shown on different pages with job listings. Sidekiq Pro users
88
+ can filter based on them [fatkodima, #4280]
89
+ ```ruby
90
+ class MyWorker
91
+ include Sidekiq::Worker
92
+ sidekiq_options tags: ['bank-ops', 'alpha']
93
+ ...
94
+ end
95
+ ```
96
+ - Fetch scheduled jobs in batches before pushing into specific queues.
97
+ This will decrease enqueueing time of scheduled jobs by a third. [fatkodima, #4273]
98
+ ```
99
+ ScheduledSet with 10,000 jobs
100
+ Before: 56.6 seconds
101
+ After: 39.2 seconds
102
+ ```
103
+ - Compress error backtraces before pushing into Redis, if you are
104
+ storing error backtraces, this will halve the size of your RetrySet
105
+ in Redis [fatkodima, #4272]
106
+ ```
107
+ RetrySet with 100,000 jobs
108
+ Before: 261 MB
109
+ After: 129 MB
110
+ ```
111
+ - Support display of ActiveJob 6.0 payloads in the Web UI [#4263]
112
+ - Add `SortedSet#scan` for pattern based scanning. For large sets this API will be **MUCH** faster
113
+ than standard iteration using each. [fatkodima, #4262]
114
+ ```ruby
115
+ Sidekiq::DeadSet.new.scan("UnreliableApi") do |job|
116
+ job.retry
117
+ end
118
+ ```
119
+ - Dramatically speed up SortedSet#find\_job(jid) by using Redis's ZSCAN
120
+ support, approx 10x faster. [fatkodima, #4259]
121
+ ```
122
+ zscan 0.179366 0.047727 0.227093 ( 1.161376)
123
+ enum 8.522311 0.419826 8.942137 ( 9.785079)
124
+ ```
125
+ - Respect rails' generators `test_framework` option and gracefully handle extra `worker` suffix on generator [fatkodima, #4256]
126
+ - Add ability to sort 'Enqueued' page on Web UI by position in the queue [fatkodima, #4248]
127
+ - Support `Client.push_bulk` with different delays [fatkodima, #4243]
128
+ ```ruby
129
+ Sidekiq::Client.push_bulk("class" => FooJob, "args" => [[1], [2]], "at" => [1.minute.from_now.to_f, 5.minutes.from_now.to_f])
130
+ ```
131
+ - Easier way to test enqueuing specific ActionMailer and ActiveRecord delayed jobs. Instead of manually
132
+ parsing embedded class, you can now test by fetching jobs for specific classes. [fatkodima, #4292]
133
+ ```ruby
134
+ assert_equal 1, Sidekiq::Extensions::DelayedMailer.jobs_for(FooMailer).size
135
+ ```
136
+ - Add `sidekiqmon` to gemspec executables [#4242]
137
+ - Gracefully handle `Sidekiq.logger = nil` [#4240]
138
+ - Inject Sidekiq::LogContext module if user-supplied logger does not include it [#4239]
139
+
5
140
  6.0
6
141
  ---------
7
142
 
8
143
  This release has major breaking changes. Read and test carefully in production.
9
144
 
10
- - ActiveJobs can now use `sidekiq_options` directly to configure Sidekiq
145
+ - With Rails 6.0.1+, ActiveJobs can now use `sidekiq_options` directly to configure Sidekiq
11
146
  features/internals like the retry subsystem. [#4213, pirj]
12
147
  ```ruby
13
148
  class MyJob < ActiveJob::Base
@@ -17,6 +152,13 @@ class MyJob < ActiveJob::Base
17
152
  end
18
153
  end
19
154
  ```
155
+ - Logging has been redesigned to allow for pluggable log formatters:
156
+ ```ruby
157
+ Sidekiq.configure_server do |config|
158
+ config.log_formatter = Sidekiq::Logger::Formatters::JSON.new
159
+ end
160
+ ```
161
+ See the [Logging wiki page](https://github.com/mperham/sidekiq/wiki/Logging) for more details.
20
162
  - **BREAKING CHANGE** Validate proper usage of the `REDIS_PROVIDER`
21
163
  variable. This variable is meant to hold the name of the environment
22
164
  variable which contains your Redis URL, so that you can switch Redis
@@ -36,6 +178,18 @@ end
36
178
  - Integrate the StandardRB code formatter to ensure consistent code
37
179
  styling. [#4114, gearnode]
38
180
 
181
+ 5.2.9
182
+ ---------
183
+
184
+ - Release Rack lock due to a cascade of CVEs. [#4566]
185
+ Pro-tip: don't lock Rack.
186
+
187
+ 5.2.8
188
+ ---------
189
+
190
+ - Lock to Rack 2.0.x to prevent future incompatibilities
191
+ - Fix invalid reference in `sidekiqctl`
192
+
39
193
  5.2.7
40
194
  ---------
41
195
 
data/Ent-Changes.md CHANGED
@@ -2,12 +2,37 @@
2
2
 
3
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
4
 
5
- Please see [http://sidekiq.org/](http://sidekiq.org/) for more details and how to buy.
5
+ Please see [sidekiq.org](https://sidekiq.org) for more details and how to buy.
6
+
7
+ 2.1.1
8
+ -------------
9
+
10
+ - Add optional **app preload** in swarm, saves even more memory [#4646]
11
+ - Fix incorrect queue tags in historical metrics [#4377]
12
+
13
+ 2.1.0
14
+ -------------
15
+
16
+ - Move historical metrics to use tags rather than interpolating name [#4377]
17
+ ```
18
+ sidekiq.enqueued.#{name} -> sidekiq.queue.size with tag queue:#{name}
19
+ sidekiq.latency.#{name} -> sidekiq.queue.latency with tag queue:#{name}
20
+ ```
21
+ - Remove `concurrent-ruby` gem dependency [#4586]
22
+ - Add systemd `Type=notify` support for swarm [#4511]
23
+ - Length swarm's boot timeout to 60 sec [#4544]
24
+ - Add NL locale
25
+
26
+ 2.0.1
27
+ -------------
28
+
29
+ - Periodic job registration API adjusted to avoid loading classes in initializer [#4271]
30
+ - Remove support for deprecated ENV variables (COUNT, MAXMEM\_MB, INDEX) in swarm code
6
31
 
7
32
  2.0.0
8
33
  -------------
9
34
 
10
- - Except for the [newly required credentials](/mperham/sidekiq/issue/4232), Sidekiq Enterprise 2.0 does
35
+ - Except for the [newly required credentials](https://github.com/mperham/sidekiq/issues/4232), Sidekiq Enterprise 2.0 does
11
36
  not have any significant migration steps.
12
37
  - Sidekiq Enterprise must now be started with valid license credentials. [#4232]
13
38
  - Call `GC.compact` if possible in sidekiqswarm before forking [#4181]
data/Gemfile CHANGED
@@ -4,17 +4,17 @@ gemspec
4
4
 
5
5
  gem "rake"
6
6
  gem "redis-namespace"
7
- gem "rails"
7
+ gem "rails", ">= 6.0.2"
8
8
  gem "sqlite3", platforms: :ruby
9
9
  gem "activerecord-jdbcsqlite3-adapter", platforms: :jruby
10
10
 
11
11
  group :test do
12
12
  gem "minitest"
13
13
  gem "simplecov"
14
+ gem "codecov", require: false
14
15
  end
15
16
 
16
17
  group :development, :test do
17
- gem "pry-byebug", platforms: :mri
18
18
  gem "standard"
19
19
  end
20
20
 
data/Gemfile.lock CHANGED
@@ -1,87 +1,95 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sidekiq (6.0.0)
4
+ sidekiq (6.1.1)
5
5
  connection_pool (>= 2.2.2)
6
- rack (>= 2.0.0)
7
- rack-protection (>= 2.0.0)
8
- redis (>= 4.1.0)
6
+ rack (~> 2.0)
7
+ redis (>= 4.2.0)
9
8
 
10
9
  GEM
11
10
  remote: https://rubygems.org/
12
11
  specs:
13
- actioncable (6.0.0)
14
- actionpack (= 6.0.0)
12
+ actioncable (6.0.3.1)
13
+ actionpack (= 6.0.3.1)
15
14
  nio4r (~> 2.0)
16
15
  websocket-driver (>= 0.6.1)
17
- actionmailbox (6.0.0)
18
- actionpack (= 6.0.0)
19
- activejob (= 6.0.0)
20
- activerecord (= 6.0.0)
21
- activestorage (= 6.0.0)
22
- activesupport (= 6.0.0)
16
+ actionmailbox (6.0.3.1)
17
+ actionpack (= 6.0.3.1)
18
+ activejob (= 6.0.3.1)
19
+ activerecord (= 6.0.3.1)
20
+ activestorage (= 6.0.3.1)
21
+ activesupport (= 6.0.3.1)
23
22
  mail (>= 2.7.1)
24
- actionmailer (6.0.0)
25
- actionpack (= 6.0.0)
26
- actionview (= 6.0.0)
27
- activejob (= 6.0.0)
23
+ actionmailer (6.0.3.1)
24
+ actionpack (= 6.0.3.1)
25
+ actionview (= 6.0.3.1)
26
+ activejob (= 6.0.3.1)
28
27
  mail (~> 2.5, >= 2.5.4)
29
28
  rails-dom-testing (~> 2.0)
30
- actionpack (6.0.0)
31
- actionview (= 6.0.0)
32
- activesupport (= 6.0.0)
33
- rack (~> 2.0)
29
+ actionpack (6.0.3.1)
30
+ actionview (= 6.0.3.1)
31
+ activesupport (= 6.0.3.1)
32
+ rack (~> 2.0, >= 2.0.8)
34
33
  rack-test (>= 0.6.3)
35
34
  rails-dom-testing (~> 2.0)
36
35
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
37
- actiontext (6.0.0)
38
- actionpack (= 6.0.0)
39
- activerecord (= 6.0.0)
40
- activestorage (= 6.0.0)
41
- activesupport (= 6.0.0)
36
+ actiontext (6.0.3.1)
37
+ actionpack (= 6.0.3.1)
38
+ activerecord (= 6.0.3.1)
39
+ activestorage (= 6.0.3.1)
40
+ activesupport (= 6.0.3.1)
42
41
  nokogiri (>= 1.8.5)
43
- actionview (6.0.0)
44
- activesupport (= 6.0.0)
42
+ actionview (6.0.3.1)
43
+ activesupport (= 6.0.3.1)
45
44
  builder (~> 3.1)
46
45
  erubi (~> 1.4)
47
46
  rails-dom-testing (~> 2.0)
48
47
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
49
- activejob (6.0.0)
50
- activesupport (= 6.0.0)
48
+ activejob (6.0.3.1)
49
+ activesupport (= 6.0.3.1)
51
50
  globalid (>= 0.3.6)
52
- activemodel (6.0.0)
53
- activesupport (= 6.0.0)
54
- activerecord (6.0.0)
55
- activemodel (= 6.0.0)
56
- activesupport (= 6.0.0)
57
- activestorage (6.0.0)
58
- actionpack (= 6.0.0)
59
- activejob (= 6.0.0)
60
- activerecord (= 6.0.0)
51
+ activemodel (6.0.3.1)
52
+ activesupport (= 6.0.3.1)
53
+ activerecord (6.0.3.1)
54
+ activemodel (= 6.0.3.1)
55
+ activesupport (= 6.0.3.1)
56
+ activerecord-jdbc-adapter (60.1-java)
57
+ activerecord (~> 6.0.0)
58
+ activerecord-jdbcsqlite3-adapter (60.1-java)
59
+ activerecord-jdbc-adapter (= 60.1)
60
+ jdbc-sqlite3 (~> 3.8, < 3.30)
61
+ activestorage (6.0.3.1)
62
+ actionpack (= 6.0.3.1)
63
+ activejob (= 6.0.3.1)
64
+ activerecord (= 6.0.3.1)
61
65
  marcel (~> 0.3.1)
62
- activesupport (6.0.0)
66
+ activesupport (6.0.3.1)
63
67
  concurrent-ruby (~> 1.0, >= 1.0.2)
64
68
  i18n (>= 0.7, < 2)
65
69
  minitest (~> 5.1)
66
70
  tzinfo (~> 1.1)
67
- zeitwerk (~> 2.1, >= 2.1.8)
68
- ast (2.4.0)
69
- builder (3.2.3)
70
- byebug (11.0.1)
71
- coderay (1.1.2)
72
- concurrent-ruby (1.1.5)
73
- connection_pool (2.2.2)
74
- crass (1.0.4)
71
+ zeitwerk (~> 2.2, >= 2.2.2)
72
+ ast (2.4.1)
73
+ builder (3.2.4)
74
+ codecov (0.1.17)
75
+ json
76
+ simplecov
77
+ url
78
+ concurrent-ruby (1.1.6)
79
+ connection_pool (2.2.3)
80
+ crass (1.0.6)
75
81
  docile (1.3.2)
76
- erubi (1.8.0)
82
+ erubi (1.9.0)
77
83
  globalid (0.4.2)
78
84
  activesupport (>= 4.2.0)
79
85
  hiredis (0.6.3)
80
- i18n (1.6.0)
86
+ hiredis (0.6.3-java)
87
+ i18n (1.8.2)
81
88
  concurrent-ruby (~> 1.0)
82
- jaro_winkler (1.5.3)
83
- json (2.2.0)
84
- loofah (2.2.3)
89
+ jdbc-sqlite3 (3.28.0)
90
+ json (2.3.0)
91
+ json (2.3.0-java)
92
+ loofah (2.5.0)
85
93
  crass (~> 1.0.2)
86
94
  nokogiri (>= 1.5.9)
87
95
  mail (2.7.1)
@@ -89,104 +97,108 @@ GEM
89
97
  marcel (0.3.3)
90
98
  mimemagic (~> 0.3.2)
91
99
  method_source (0.9.2)
92
- mimemagic (0.3.3)
100
+ mimemagic (0.3.5)
93
101
  mini_mime (1.0.2)
94
102
  mini_portile2 (2.4.0)
95
- minitest (5.11.3)
96
- nio4r (2.5.1)
97
- nokogiri (1.10.4)
103
+ minitest (5.14.1)
104
+ nio4r (2.5.2)
105
+ nio4r (2.5.2-java)
106
+ nokogiri (1.10.9)
98
107
  mini_portile2 (~> 2.4.0)
99
- parallel (1.17.0)
100
- parser (2.6.3.0)
108
+ nokogiri (1.10.9-java)
109
+ parallel (1.19.2)
110
+ parser (2.7.1.3)
101
111
  ast (~> 2.4.0)
102
- pry (0.12.2)
103
- coderay (~> 1.1.0)
104
- method_source (~> 0.9.0)
105
- pry-byebug (3.7.0)
106
- byebug (~> 11.0)
107
- pry (~> 0.10)
108
- rack (2.0.7)
109
- rack-protection (2.0.7)
110
- rack
112
+ rack (2.2.2)
111
113
  rack-test (1.1.0)
112
114
  rack (>= 1.0, < 3)
113
- rails (6.0.0)
114
- actioncable (= 6.0.0)
115
- actionmailbox (= 6.0.0)
116
- actionmailer (= 6.0.0)
117
- actionpack (= 6.0.0)
118
- actiontext (= 6.0.0)
119
- actionview (= 6.0.0)
120
- activejob (= 6.0.0)
121
- activemodel (= 6.0.0)
122
- activerecord (= 6.0.0)
123
- activestorage (= 6.0.0)
124
- activesupport (= 6.0.0)
115
+ rails (6.0.3.1)
116
+ actioncable (= 6.0.3.1)
117
+ actionmailbox (= 6.0.3.1)
118
+ actionmailer (= 6.0.3.1)
119
+ actionpack (= 6.0.3.1)
120
+ actiontext (= 6.0.3.1)
121
+ actionview (= 6.0.3.1)
122
+ activejob (= 6.0.3.1)
123
+ activemodel (= 6.0.3.1)
124
+ activerecord (= 6.0.3.1)
125
+ activestorage (= 6.0.3.1)
126
+ activesupport (= 6.0.3.1)
125
127
  bundler (>= 1.3.0)
126
- railties (= 6.0.0)
128
+ railties (= 6.0.3.1)
127
129
  sprockets-rails (>= 2.0.0)
128
130
  rails-dom-testing (2.0.3)
129
131
  activesupport (>= 4.2.0)
130
132
  nokogiri (>= 1.6)
131
- rails-html-sanitizer (1.2.0)
132
- loofah (~> 2.2, >= 2.2.2)
133
- railties (6.0.0)
134
- actionpack (= 6.0.0)
135
- activesupport (= 6.0.0)
133
+ rails-html-sanitizer (1.3.0)
134
+ loofah (~> 2.3)
135
+ railties (6.0.3.1)
136
+ actionpack (= 6.0.3.1)
137
+ activesupport (= 6.0.3.1)
136
138
  method_source
137
139
  rake (>= 0.8.7)
138
140
  thor (>= 0.20.3, < 2.0)
139
141
  rainbow (3.0.0)
140
- rake (12.3.3)
141
- redis (4.1.2)
142
- redis-namespace (1.6.0)
142
+ rake (13.0.1)
143
+ redis (4.2.0)
144
+ redis-namespace (1.7.0)
143
145
  redis (>= 3.0.4)
144
- rubocop (0.72.0)
145
- jaro_winkler (~> 1.5.1)
146
+ regexp_parser (1.7.1)
147
+ rexml (3.2.4)
148
+ rubocop (0.85.1)
146
149
  parallel (~> 1.10)
147
- parser (>= 2.6)
150
+ parser (>= 2.7.0.1)
148
151
  rainbow (>= 2.2.2, < 4.0)
152
+ regexp_parser (>= 1.7)
153
+ rexml
154
+ rubocop-ast (>= 0.0.3)
149
155
  ruby-progressbar (~> 1.7)
150
- unicode-display_width (>= 1.4.0, < 1.7)
151
- rubocop-performance (1.4.1)
156
+ unicode-display_width (>= 1.4.0, < 2.0)
157
+ rubocop-ast (0.0.3)
158
+ parser (>= 2.7.0.1)
159
+ rubocop-performance (1.6.1)
152
160
  rubocop (>= 0.71.0)
153
161
  ruby-progressbar (1.10.1)
154
- simplecov (0.17.0)
162
+ simplecov (0.18.5)
155
163
  docile (~> 1.1)
156
- json (>= 1.8, < 3)
157
- simplecov-html (~> 0.10.0)
158
- simplecov-html (0.10.2)
159
- sprockets (3.7.2)
164
+ simplecov-html (~> 0.11)
165
+ simplecov-html (0.12.2)
166
+ sprockets (4.0.0)
160
167
  concurrent-ruby (~> 1.0)
161
168
  rack (> 1, < 3)
162
169
  sprockets-rails (3.2.1)
163
170
  actionpack (>= 4.0)
164
171
  activesupport (>= 4.0)
165
172
  sprockets (>= 3.0.0)
166
- sqlite3 (1.4.1)
167
- standard (0.1.2)
168
- rubocop (~> 0.72.0)
169
- rubocop-performance (~> 1.4.0)
170
- thor (0.20.3)
173
+ sqlite3 (1.4.2)
174
+ standard (0.4.7)
175
+ rubocop (~> 0.85.0)
176
+ rubocop-performance (~> 1.6.0)
177
+ thor (1.0.1)
171
178
  thread_safe (0.3.6)
179
+ thread_safe (0.3.6-java)
172
180
  toxiproxy (1.0.3)
173
- tzinfo (1.2.5)
181
+ tzinfo (1.2.7)
174
182
  thread_safe (~> 0.1)
175
- unicode-display_width (1.6.0)
176
- websocket-driver (0.7.1)
183
+ unicode-display_width (1.7.0)
184
+ url (0.3.2)
185
+ websocket-driver (0.7.2)
186
+ websocket-extensions (>= 0.1.0)
187
+ websocket-driver (0.7.2-java)
177
188
  websocket-extensions (>= 0.1.0)
178
189
  websocket-extensions (0.1.4)
179
- zeitwerk (2.1.9)
190
+ zeitwerk (2.3.0)
180
191
 
181
192
  PLATFORMS
193
+ java
182
194
  ruby
183
195
 
184
196
  DEPENDENCIES
185
197
  activerecord-jdbcsqlite3-adapter
198
+ codecov
186
199
  hiredis
187
200
  minitest
188
- pry-byebug
189
- rails
201
+ rails (>= 6.0.2)
190
202
  rake
191
203
  redis-namespace
192
204
  sidekiq!
data/Pro-Changes.md CHANGED
@@ -2,14 +2,41 @@
2
2
 
3
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
4
 
5
- Please see [http://sidekiq.org/](http://sidekiq.org/) for more details and how to buy.
5
+ Please see [sidekiq.org](https://sidekiq.org/) for more details and how to buy.
6
+
7
+ 5.1.1
8
+ ---------
9
+
10
+ - Fix broken basic fetcher [#4616]
11
+
12
+ 5.1.0
13
+ ---------
14
+
15
+ - Remove old Statsd metrics with `WorkerName` in the name [#4377]
16
+ ```
17
+ job.WorkerName.count -> job.count with tag worker:WorkerName
18
+ job.WorkerName.perform -> job.perform with tag worker:WorkerName
19
+ job.WorkerName.failure -> job.failure with tag worker:WorkerName
20
+ ```
21
+ - Remove `concurrent-ruby` gem dependency [#4586]
22
+ - Update `constantize` for batch callbacks. [#4469]
23
+ - Add queue tag to `jobs.recovered.fetch` metric [#4594]
24
+ - Refactor Pro's fetch infrastructure [#4602]
25
+
26
+ 5.0.1
27
+ ---------
28
+
29
+ - Rejigger batch failures UI to add direct links to retries and scheduled jobs [#4209]
30
+ - Delete batch data with `UNLINK` [#4155]
31
+ - Fix bug where a scheduled job can lose its scheduled time when using reliable push [#4267]
32
+ - Sidekiq::JobSet#scan and #find_job APIs have been promoted to Sidekiq OSS. [#4259]
6
33
 
7
34
  5.0.0
8
35
  ---------
9
36
 
10
37
  - There is no significant migration from Sidekiq Pro 4.0 to 5.0
11
38
  but make sure you read the [update notes for Sidekiq
12
- 6.0](/mperham/sidekiq/blob/master/6.0-Upgrade.md).
39
+ 6.0](https://github.com/mperham/sidekiq/blob/master/6.0-Upgrade.md).
13
40
  - Removed various deprecated APIs and associated warnings.
14
41
  - **BREAKING CHANGE** Remove the `Sidekiq::Batch::Status#dead_jobs` API in favor of
15
42
  `Sidekiq::Batch::Status#dead_jids`. [#4217]