- Update dependencies
- Update dependencies
- Allow setting of Redis SSL
verify_mode
to none via environment variable
- Switch from using
redis
gem toredis-client
- BREAKING: Remove
redis-namespace
dependency and support for Redis namespaces- Run the
redis_namespace:remove_namespace
rake task immediately after upgrading to to this version, to retain existing queued jobs.
- Run the
- BREAKING: Upgrade Sidekiq to version 7.0, follow these steps to upgrade:
Sidekiq::Worker
has been deprecated in Sidekiq 7. Replace all instances ofSidekiq::Worker
withSidekiq::Job
, then rename/move your workers to beapp/sidekiq/MyJob.rb
instead ofapp/workers/MyWorker.rb
.- Remove the requirement for Sidekiq strict arguments from
config/initializers/sidekiq.rb
. This was added to include Sidekiq 7 strict arguments behaviour in Sidekiq 6, but is no longer needed to be explictly required, since this is now the default behaviour. - If using
sidekiq-unique-jobs
, pin to < 8.0.8 until a known issue is resolved. - Make any changes required based on the information in the Sidekiq 7 API migration guide.
- Fix support for
reconnect_attempts
not working with Redis 4.8 (which is required due to the sidekiq version specified)
- BREAKING: Drop support for Ruby 3.0. The minimum required Ruby version is now 3.1.4.
- Add support for Ruby 3.3.
- Update Redis reconnect attempt strategy to retry more times.
- Redefine sidekiq requirement so Bundler won't install 7.0.0.beta1
- Require sidekiq > 6.5.10 and < 7
- Fix Sidekiq requirement to ~> 6.5 so that Bundler won't install v7.0.0.beta1
- Allow newer non-major versions of Sidekiq
- Remove context adding logic from sidekiq client middleware
- Add govuk_request_id to Sidekiq::Context so it will be included in logging
- Introduce a GOV.UK Logging format which has a field structure similar to GOV.UK's Rails logstasher for consistent field names
- BREAKING: Drop support for Ruby 2.7
- BREAKING: Remove support for Statsd, as this is being deprecated from
govuk_app_config
in a later release
-
BREAKING: Upgrades the underlying version of Sidekiq to version 6. Will require changes to logging strategy;
-
Sidekiq arguments need to serialize safely to JSON otherwise a warning is shown
-
Logging to a file no longer supported, must use STDOUT or STDERR
- BREAKING: Redis is configured with REDIS_URL environment, the previous approach (REDIS_HOST and REDIS_PORT) is no longer supported.
- BREAKING: Set the required Ruby version to >= 2.6
- Pin sidekiq-statsd above 2.1.0 (so we get new metrics).
- Allow for newer versions of sidekiq-statsd (trial period).
- Only use JSON logging when a log file is specified
- Set the
request_id
even if thegovuk_authenticated_user
is missing, and vice versa.
- Do not add API middleware arguments if they already exist.
-
BREAKING. Your statsd namespace will likely change with this version, to a form of
govuk.app.<app_name>.<hostname>
unless you are already using theGOVUK_STATSD_PREFIX
environment variable for your statsd. -
Loosen dependencies, now supports and requires Sidekiq 5
-
Introduce dependency on govuk_app_config
-
Use GovukStatsd as the statsd client for sidekiq-statsd
- BREAKING. Remove automatic integration with Airbrake, as we are moving to use Sentry. To keep using this gem with Airbrake you can still add the following to an initialiser:
require 'airbrake'
Sidekiq.configure_server do |config|
config.error_handlers << Proc.new { |ex, context_hash| Airbrake.notify(ex, context_hash) }
end
- Explicitly set
reconnect_attempts: 1
in client and server configuration, to fix Sidekiq regression.
- Upgrade to Sidekiq 4.2.8.
- Upgrade to Sidekiq 4.2.2.
- No changes. Version bump to indicate gem is stable.
- Add support for testing with
govuk_sidekiq/testing
-
Create a gem which automatically configures Sidekiq.
This injects a Rails initializer which will automatically configure Sidekiq for 12 factor apps (i.e. apps that use environment variables to set their redis configuration).
It includes our current optimal sidekiq configuration including Airbrake/Errbit, statsd, JSON logging, and passthrough of the
govuk_request_id
.