Packages
exq
0.20.0
0.23.0
0.22.0
0.21.0
0.20.0
0.19.0
0.18.0
0.17.0
0.16.2
0.16.1
0.16.0
0.15.0
0.14.0
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.2
0.12.1
0.12.0
0.11.0
0.10.1
0.10.0
0.9.1
0.9.0
0.8.7
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.3
0.7.2
0.7.1
0.7.0
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.0
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.2
Exq is a job processing library compatible with Resque / Sidekiq for the Elixir language.
Current section
Files
Jump to
Current section
Files
CHANGELOG.md
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
## [Unreleased]
## [0.20.0] - 2025-07-19
### Changed
- Resolved deprecation warnings [#499](https://github.com/akira/exq/pull/499) by @ananthakumaran.
- Added the ability to clear unique tokens when deleting a job [#497](https://github.com/akira/exq/pull/497) by @dmitrykleymenov
### Removed
- Dropped support for Elixir versions prior to 1.12.
## [0.19.0] - 2023-07-01
### Changed
- Relax poison dependency #485 by @frahugo
## [0.18.0] - 2023-06-01
### Added
- Add enqueue_all for enqueuing a batch of jobs atomically #483 by @meysius
### Fixed
- Fix namespaced keys in scripts for ACL redis #481 by @korialis
## [0.17.0] - 2022-11-25
### Added
- Add Exq unique job feature, allow to enforce a single instance of job! #469 by @ananthakumaran
### Fixed
- Setup default redis timeout config #475 by @ananthakumaran
### Changed
- Use erlef/setup-beam and bump versions #476 by @kianmeng
## [0.16.2] - 2022-04-15
### Added
- API to send signal to worker nodes by @ananthakumaran
### Changed
### Fixed
- Fixed typos #464 by @kianmeng
## [0.16.1] - 2021-12-13
### Added
### Changed
### Fixed
- Fix @doc redefined warnings #463 by deepfryed
## [0.16.0] - 2021-12-12
NOTE: Please read PR #458 for upgrade instructions.
### Added
- Add retried_at field for Sidekiq compatibility #450 by @ananthakumaran
- Add apis to support exq_ui #452 by @ananthakumaran
- Add documentation about mode: :enqueuer and Exq.Enqueuer.queue_in #456 by @dbernheisel
- Add api to immediately enqueue jobs from retry/scheduled queue #461 by @ananthakumaran
- Add api to re-enqueue dead job #462 by @ananthakumaran
### Changed
- Add Sidekiq 5 compatibility #458 by @ananthakumaran
- Use latest Phoenix child spec style #459 by @vovayartsev
- Replace deprecated supervisor calls #453 by @vkuznetsov
### Fixed
- Handle timeouts on middleware pipeline #444 by @ananthakumaran
- Use the correct scheduled time for enqueued_at field for mock #449 by @ananthakumaran
## [0.15.0] - 2021-07-19
### Added
- Add dequeue behavior for ability to implement things like concurrency control #421 by @ananthakumaran
- Api Module Documentation #440 by @kevin-j-m
### Changed
- Use Lua script to schedule job for better performance and memory leak fix #427 by @ananthakumaran
- Logging fixes #429 by @rraub
- Relax poison dependency #431 by @ananthakumaran
- Use github actions instead of Travis #433 by @ananthakumaran
- Use the same same module conversion logic in mock as well #434 by @ananthakumaran
- use Task instead of spawn_link for starting workers #436 by @mitchellhenke
### Fixed
- re-enqueue unfinished jobs to the beginning of queue on restart #424 by @ananthakumaran
- Fix for sentinel 0.11.0+ #428 by @ananthakumaran
- Fixes for generated HTML docs by #442 @kianmeng
## [0.14.0] - 2020-08-08
### Added
- Node heartbeat functionality for dynamic environments #392 by @ananthakumaran (disabled by default).
- Exq telemetry events #414 by @hez
- Allow custom job IDs #417 by @bradediger
### Changed
- Don't log Redis disconnects #420 by @isaacsanders
### Fixed
- exq.run mix task starts dependent apps as well #408 by @ananthakumaran
- Cast queue level concurrency #401 by @ananthakumaran
- Fix documentation typo #423 by @LionsHead
- Fix conflicting unit in docs #419 by @JamesFerguson
## [0.13.5] - 2020-01-01
### Added
- Queue adapter for mock testing @ananthakumaran and @samidarko
## [0.13.4] - 2019-11-03
### Fixed
- Remove unnecessary serialization of enqueue calls #390 by @ananthakumaran and @sb8244
- Fix warnings by @hkrutzer #394
- Start all the apps during test by @ananthakumaran #391
- Replace KEYS with a cursored call to SCAN for realtime stats by @neslinesli93 #384
## [0.13.3] - 2019-06-16
### Added
- Handle AWS Elasticache Redis DNS failover. This ensures persistent connections are shutdown, forcing a reconnect in scenarios where a Redis node in a HA cluster is switched to READONLY mode by @deepfryed.
## [0.13.2] - 2019-03-15
### Fixed
- Fix json_library issue #369 needing addition to config file. Add default value.
## [0.13.1] - 2019-02-24
### Added
- Support for configurable JSON parser, with Jason as default by @chulkilee.
### Fixed
- Remove redundant time output for worker log by @akira.
- Fix deprecated time warning by @gvl.
## [0.13.0] - 2019-01-21
### Removed
- Due to library dependencies, support for Elixir 1.3, Elixir 1.4 and OTP 18.0, OTP 19.0 has been removed.
- Redix version older than 0.8.1 is no longer supported.
- Config options `reconnect_on_sleep` and `redis_timeout` are now removed.
### Added
- Support for Redix >= 0.8.1 by @ryansch and @ananthakumaran.
- Configuration for Mix Format by @chulkilee.
- Use :microsecond vs :microseconds by @KalvinHom.
### Changed
- Redis options are now passed in via `redis_options` by @ryansch and @ananthakumaran.
- Removed redix_sentinel dependency, now supported by new Redix version by @ananthakumaran.
## [0.12.2] - 2018-10-14
### Fixed
- Don't assume redis_opts is enumerable by @ryansch.
### Added
- Add {:system, VAR} format support for more config params by @LysanderGG
- Allow setting mode to both [:enqueuer, :api] by @buob
### Changed
- Specify less than 0.8.0 on redix version in mix.exs by @buob
## [0.12.1] - 2018-07-13
### Fixed
- Cleanup packaging for `elixir_uuid` change.
## [0.12.0] - 2018-07-12
### Fixed
- Change `uuid` to `elixir_uuid` which has been renamed. This will prevent future namespace clashes by @tzilist.
## [0.11.0] - 2018-05-12
### Added
- Trim dead jobs queue after certain size by @ananthakumaran.
- Add an api to list all subscriptions (active queues) by @robobakery.
- Have top supervisor wait for worker drainer to gracefully terminate @frahugo.
## [0.10.1] - 2018-02-11
### Fixed
- Fix retry for Sidekiq job format using retry => true by @deepfryed.
## [0.10.0] - 2018-02-11
### Fixed
- Remove Password logging by @akira.
### Added
- Redis Sentinel support by @ananthakumaran.
- Make redis module name and start_link args configurable @ananthakumaran.