2017-04-06 13:31:30 -04:00
# Sidekiq Enterprise Changelog
2021-10-12 10:49:36 -04:00
[Sidekiq Changes ](https://github.com/mperham/sidekiq/blob/main/Changes.md ) | [Sidekiq Pro Changes ](https://github.com/mperham/sidekiq/blob/main/Pro-Changes.md ) | [Sidekiq Enterprise Changes ](https://github.com/mperham/sidekiq/blob/main/Ent-Changes.md )
2015-08-06 01:37:53 -04:00
2020-04-28 19:07:16 -04:00
Please see [sidekiq.org ](https://sidekiq.org ) for more details and how to buy.
2022-02-07 15:10:36 -05:00
2.3.1
2021-11-19 11:59:19 -05:00
-------------
2022-02-07 15:10:36 -05:00
- Fix multi/pipe deprecation in redis-rb 4.6
- Leader now elects more often, to minimize missed cron jobs
2021-11-19 11:59:19 -05:00
- Fix periodic jobs missing the "fallback" hour during DST changeover [#5049]
2021-11-06 13:52:37 -04:00
2.3.0
2021-11-02 18:11:35 -04:00
-------------
- Remove jQuery usage in UI tabs
- Pass exception to rate limiter backoff proc [#5024]
2021-08-19 13:51:42 -04:00
2.2.3
-------------
- Fixes for leaky and unlimited limiters [#4809, #4869 ]
- Invalid leaders now immediately step down [#4950]
- Web UI now displays "next run time" in the specified timezone [#4833]
- Fix swarm memory monitoring on BSDs
2021-02-05 20:16:47 -05:00
2.2.2
-------------
- Periodic job timezone fix [#4796]
2021-01-21 12:45:31 -05:00
2.2.1
2020-11-30 13:43:37 -05:00
-------------
- Support configurable timezones for periodic jobs [#4749]
2020-12-18 16:16:02 -05:00
- Handle edge case leading to negative expiry in uniqueness [#4763]
2020-11-30 13:43:37 -05:00
2020-11-09 11:03:17 -05:00
2.2.0
2020-09-30 14:14:37 -04:00
-------------
2020-11-04 12:02:56 -05:00
- Add new **leaky bucket** rate limiter [#4414]
This allows clients to burst up to X calls before throttling
back to X calls per Y seconds. To limit the user to 60 calls
per minute:
```ruby
leaker = Sidekiq::Limiter.leaky("shopify", 60, :minute)
leaker.within_limit do
...
end
```
See the Rate Limiting wiki page for more detail.
2020-11-09 11:03:17 -05:00
- Rate limiters may now customize their reschedule count [#4725]
To disable rate limit reschedules, use `reschedule: 0` .
2020-10-29 18:54:33 -04:00
```ruby
2020-11-09 11:03:17 -05:00
Sidekiq::Limiter.concurrent("somename", 5, reschedule: 0)
2020-10-29 18:54:33 -04:00
```
- Allow filtering by name in the Rate Limiter UI [#4695]
2020-09-30 14:14:37 -04:00
- Add IT locale
2020-09-07 13:35:19 -04:00
2.1.2
2020-08-12 16:12:16 -04:00
-------------
2020-09-07 13:35:19 -04:00
- The Sidekiq Pro and Enterprise gem servers now `bundle install` much faster with **Bundler 2.2+** [#4158]
2020-08-12 16:12:16 -04:00
- Now that ActiveJobs support `sidekiq_options` , add support for uniqueness in AJs [#4667]
2020-07-21 17:26:59 -04:00
2.1.1
2020-07-10 15:05:43 -04:00
-------------
2020-07-21 17:26:59 -04:00
- Add optional **app preload** in swarm, saves even more memory [#4646]
2020-07-10 15:05:43 -04:00
- Fix incorrect queue tags in historical metrics [#4377]
2020-06-30 13:42:51 -04:00
2.1.0
2020-04-28 19:07:16 -04:00
-------------
2020-06-30 13:42:51 -04:00
- Move historical metrics to use tags rather than interpolating name [#4377]
```
sidekiq.enqueued.#{name} -> sidekiq.queue.size with tag queue:#{name}
sidekiq.latency.#{name} -> sidekiq.queue.latency with tag queue:#{name}
```
2020-06-02 17:35:57 -04:00
- Remove `concurrent-ruby` gem dependency [#4586]
2020-04-28 19:07:16 -04:00
- Add systemd `Type=notify` support for swarm [#4511]
- Length swarm's boot timeout to 60 sec [#4544]
- Add NL locale
2015-08-06 01:37:53 -04:00
2019-10-12 14:33:46 -04:00
2.0.1
2019-09-16 17:20:39 -04:00
-------------
2019-10-12 14:33:46 -04:00
- Periodic job registration API adjusted to avoid loading classes in initializer [#4271]
- Remove support for deprecated ENV variables (COUNT, MAXMEM\_MB, INDEX) in swarm code
2019-09-16 17:20:39 -04:00
2019-08-29 13:37:23 -04:00
2.0.0
2019-05-06 12:17:34 -04:00
-------------
2019-11-12 17:27:56 -05:00
- Except for the [newly required credentials ](https://github.com/mperham/sidekiq/issues/4232 ), Sidekiq Enterprise 2.0 does
2019-08-29 13:37:23 -04:00
not have any significant migration steps.
- Sidekiq Enterprise must now be started with valid license credentials. [#4232]
2019-05-30 13:39:39 -04:00
- Call `GC.compact` if possible in sidekiqswarm before forking [#4181]
2019-05-06 12:17:34 -04:00
- Changes for forward-compatibility with Sidekiq 6.0.
- Add death handler to remove any lingering unique locks [#4162]
2019-08-06 13:38:13 -04:00
- Backoff can now be customized per rate limiter [#4219]
2019-08-29 13:37:23 -04:00
- Code formatting changes for StandardRB
2019-05-06 12:17:34 -04:00
2019-03-05 11:34:03 -05:00
1.8.1
2019-02-14 09:42:06 -05:00
-------------
2019-02-28 12:02:09 -05:00
- Fix excessive lock reclaims with concurrent limiter [#4105]
2019-02-14 09:42:06 -05:00
- 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.
2019-02-08 12:24:23 -05:00
1.8.0
2019-01-09 21:39:12 -05:00
-------------
2019-01-10 15:19:48 -05:00
- Require Sidekiq Pro 4.0 and Sidekiq 5.2.
- Refactor historical metrics API to use revamped Statsd support in Sidekiq Pro
- Add a gauge to historical metrics for `default` queue latency [#4079]
2019-01-09 21:39:12 -05:00
2019-01-02 12:23:41 -05:00
1.7.2
2018-07-31 13:47:43 -04:00
-------------
2019-02-14 09:42:06 -05:00
- Add PT and JA translations
2018-10-18 22:28:47 -04:00
- Fix elapsed time calculations to use monotonic clock [#4000, sj26]
2018-09-27 15:07:45 -04:00
- Fix edge case where flapping leadership would cause old periodic
jobs to be fired once [#3974]
2018-07-31 13:47:43 -04:00
- Add support for sidekiqswarm memory monitoring on FreeBSD [#3884]
2018-03-29 15:08:40 -04:00
1.7.1
2018-02-21 19:40:27 -05:00
-------------
- Fix Lua error in concurrent rate limiter under heavy contention
2018-02-27 15:50:33 -05:00
- Remove superfluous `freeze` calls on Strings [#3759]
2018-02-21 19:40:27 -05:00
2018-02-03 18:40:10 -05:00
1.7.0
2018-01-10 13:48:49 -05:00
-------------
2018-01-31 12:39:51 -05:00
- **NEW FEATURE** [Rolling restarts ](https://github.com/mperham/sidekiq/wiki/Ent-Rolling-Restarts ) - great for long running jobs!
2018-02-03 18:40:10 -05:00
- Adjust middleware so unique jobs that don't push aren't registered in a Batch [#3662]
2018-02-01 12:36:25 -05:00
- Add new unlimited rate limiter, useful for testing [#3743]
2018-02-03 18:40:10 -05:00
```ruby
limiter = Sidekiq::Limiter.unlimited(...any args...)
```
2018-01-10 13:48:49 -05:00
2017-09-14 15:44:22 -04:00
1.6.1
-------------
- Fix crash in rate limiter middleware when used with custom exceptions [#3604]
2017-06-08 11:12:07 -04:00
1.6.0
2017-05-18 16:01:19 -04:00
-------------
2017-06-08 11:12:07 -04:00
- Show process "leader" tag on Busy page, requires Sidekiq 5.0.2 [#2867]
2017-05-26 13:01:08 -04:00
- Capture custom metrics with the `save_history` API. [#2815]
2017-06-08 11:17:50 -04:00
- Implement new `unique_until: 'start'` policy option. [#3471]
2017-05-18 16:01:19 -04:00
2017-05-04 16:46:45 -04:00
1.5.4
2017-05-04 14:05:56 -04:00
-------------
2017-05-04 16:46:45 -04:00
- Fix broken Cron page in Web UI [#3458]
2017-05-04 14:05:56 -04:00
2017-05-03 14:16:28 -04:00
1.5.3
2017-04-28 14:37:00 -04:00
-------------
- Remove dependency on the algorithms gem [#3446]
2017-05-01 14:14:16 -04:00
- Allow user to specify max memory in megabytes with SIDEKIQ\_MAXMEM\_MB [#3451]
- Implement logic to detect app startup failure, sidekiqswarm will exit
rather than try to restart the app forever [#3450]
2017-05-03 14:16:28 -04:00
- Another fix for doubly-encrypted arguments [#3368]
2017-04-28 14:37:00 -04:00
2017-03-03 11:26:31 -05:00
1.5.2
2017-01-19 13:30:07 -05:00
-------------
2017-03-03 11:26:31 -05:00
- Fix encrypted arguments double-encrypted by retry or rate limiting [#3368]
2017-01-19 13:30:07 -05:00
- Fix leak in concurrent rate limiter, run this in Rails console to clean up existing data [#3323]
```ruby
expiry = 1.month.to_i; Sidekiq::Limiter.redis { |c| c.scan_each(match: "lmtr-cfree-*") { |key| c.expire(key, expiry) } }
```
2016-12-21 22:42:02 -05:00
1.5.1
-------------
- Fix issue with census startup when not using Bundler configuration for
source credentials.
2016-12-15 18:29:23 -05:00
1.5.0
2016-11-23 17:25:53 -05:00
-------------
- Add new web authorization API [#3251]
- Update all sidekiqswarm env vars to use SIDEKIQ\_ prefix [#3218]
2016-12-15 18:29:23 -05:00
- Add census reporting, the leader will ping contribsys nightly with aggregate usage metrics
2016-11-23 17:25:53 -05:00
2016-11-01 14:44:52 -04:00
1.4.0
-------------
- No functional changes, require latest Sidekiq and Sidekiq Pro versions
2016-07-25 12:36:31 -04:00
1.3.2
-------------
- Upgrade encryption to use OpenSSL's more secure GCM mode. [#3060]
2016-07-20 15:49:20 -04:00
1.3.1
-------------
- Fix multi-process memory monitoring on CentOS 6.x [#3063]
- Polish the new encryption feature a bit.
2016-07-18 12:33:38 -04:00
1.3.0
-------------
- **BETA** [New encryption feature ](https://github.com/mperham/sidekiq/wiki/Ent-Encryption )
which automatically encrypts the last argument of a Worker, aka the secret bag.
2016-07-07 17:07:46 -04:00
1.2.4
-------------
- Fix issue causing some minutely jobs to execute every other minute.
- Log a warning if slow periodic processing causes us to miss a clock tick.
2016-07-05 13:06:34 -04:00
1.2.3
2016-06-30 15:28:21 -04:00
-------------
- Periodic jobs could stop executing until process restart if Redis goes down [#3047]
2016-06-21 13:59:31 -04:00
1.2.2
2016-04-15 15:14:24 -04:00
-------------
- Add API to check if a unique lock is present. See [#2932] for details.
2016-04-26 13:23:45 -04:00
- Tune concurrent limiters to minimize thread thrashing under heavy contention. [#2944]
2016-06-20 18:47:08 -04:00
- Add option for tuning which Bundler groups get preloaded with `sidekiqswarm` [#3025]
```
SIDEKIQ_PRELOAD=default,production bin/sidekiqswarm ...
# Use an empty value for maximum application compatibility
SIDEKIQ_PRELOAD= bin/sidekiqswarm ...
```
2016-04-15 15:14:24 -04:00
2016-03-02 15:59:23 -05:00
1.2.1
-------------
- Multi-Process mode can now monitor the RSS memory of children and
restart any that grow too large. To limit children to 1GB each:
```
MAXMEM_KB=1048576 COUNT=2 bundle exec sidekiqswarm ...
```
2016-01-28 16:27:19 -05:00
1.2.0
-------------
- **NEW FEATURE** Multi-process mode! Sidekiq Enterprise can now fork multiple worker
processes, enabling significant memory savings. See the [wiki
documentation](https://github.com/mperham/sidekiq/wiki/Ent-Multi-Process) for details.
2016-01-21 12:12:37 -05:00
0.7.10
-------------
- More precise gemspec dependency versioning
2016-01-12 13:00:41 -05:00
1.1.0
-------------
- **NEW FEATURE** Historical queue metrics, [documented in the wiki ](https://github.com/mperham/sidekiq/wiki/Ent-Historical-Metrics ) [#2719]
2015-12-09 13:27:55 -05:00
0.7.9, 1.0.2
-------------
2015-12-09 13:30:26 -05:00
- Window limiters can now accept arbitrary window sizes [#2686]
2015-12-09 13:27:55 -05:00
- Fix race condition in window limiters leading to non-stop OverLimit [#2704]
- Fix invalid overage counts when nesting concurrent limiters
2015-11-19 12:41:42 -05:00
1.0.1
----------
- Fix crash in periodic subsystem when a follower shuts down, thanks
to @justinko for reporting.
1.0.0
2015-11-06 23:50:13 -05:00
----------
- Enterprise 1.x targets Sidekiq 4.x.
- Rewrite several features to remove Celluloid dependency. No
functional changes.
2015-11-13 12:56:40 -05:00
0.7.8
----------
- Fix `unique_for: false` [#2658]
2015-11-02 12:24:53 -05:00
0.7.7
----------
2015-11-06 23:50:13 -05:00
- Enterprise 0.x targets Sidekiq 3.x.
2015-11-02 12:24:53 -05:00
- Fix racy shutdown event which could lead to disappearing periodic
jobs, requires Sidekiq >= 3.5.3.
- Add new :leader event which is fired when a process gains leadership.
2015-10-28 12:55:58 -04:00
0.7.6
2015-10-28 12:06:30 -04:00
----------
- Redesign how overrated jobs are rescheduled to avoid creating new
jobs. [#2619]
2015-10-22 17:29:34 -04:00
0.7.5
2015-10-15 17:16:39 -04:00
----------
2015-10-22 17:29:34 -04:00
- Fix dynamic creation of concurrent limiters [#2617]
0.7.4
----------
2015-10-15 18:35:40 -04:00
- Add additional check to prevent duplicate periodic job creation
2015-10-15 17:16:39 -04:00
- Allow user-specified TTLs for rate limiters [#2607]
- Paginate rate limiter index page [#2606]
2015-09-21 12:39:58 -04:00
0.7.3
2015-09-17 19:16:19 -04:00
----------
- Rework `Sidekiq::Limiter` redis handling to match global redis handling.
- Allow user to customize rate limit backoff logic and handle custom
rate limit errors.
- Fix scalability issue with Limiter index page.
0.7.2
----------
- Fix typo which prevented limiters with '0' in their names.
2015-08-17 18:22:17 -04:00
0.7.1
----------
- Fix issue where unique scheduled jobs can't be enqueued upon schedule
due to the existing unique lock. [#2499]
2015-08-06 01:37:53 -04:00
0.7.0
----------
Initial release.