All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
0.12.0 - 2024-12-29
- Set thread count to 8 as per dramatiq default. Fix #153. (@andrewgy8, #170)
- Use ArgumentDefaultsHelpFormatter to show the defaults for rundramatiq options. (#167)
- Display task details in the admin when JSONEncoder is not used. Fix #135. (@huubbouma, #136)
- Support for Python 3.13
- Support for Django 5.1
- Support for Python 3.8
- Support for Django 3.2
- Support for Python 3.12
- Support for Django 5.0
- Fix exception traceback on Python 3.8
- Support for Django 4.2
- Add skip-logging flag to
rundramatiq
command
- Store traceback in django admin even when retries=0
- Support for Python 3.7
- Support for Django 4.0
- Support for Python 3.10 and 3.11
- Support for Django 4.0 and 4.1
- Fixed issue #123 in deferred
DjangoDramatiqConfig
initialization. Dramatiq configuration now happens before loading importing all Django apps models, so loaded tasks will use the correct Dramatiq settings. (@amureki, #126)
- Support for Python 3.6
- Support for Django 2.2 and 3.1
- The
DRAMATIQ_AUTODISCOVER_MODULES
setting. (@thebjorn, #97, #98, #99) - The
--worker-shutdown-timeout
flag torundramatiq
. (@b1ngz, #110)
- Initialization is now deferred until the application is ready. This is somewhat of a major change to how configuration works, but it's more in line with what Django expects from apps. If you run into issues importing your tasks, consider deferring your imports as much as you can (eg. import tasks in your methods instead of at the top level). (#103)
0.10.0 - 2021-03-21
- Added the
--fork-function
flag torundramatiq
. (@timdrijvers, #63) - Added support for setting middleware kwargs at runtime. (@dnmellen, #83)
0.9.1 - 2020-02-04
- Added a missing migration for the Tasks table. (#60)
0.9.0 - 2020-02-01
- The admin middleware now stores the queue and actor name in the database, improving filtering performance for databases containing lots of tasks. (@Sovetnikov, #56)
- Skipped messages are now properly handled by the admin middleware. (@Sovetnikov, #59)
rundramatiq
now properly respectsDRAMATIQ_IGNORED_MODULES
. (@OrazioPirataDelloSpazio, #57)
0.8.0 - 2019-08-31
rundramatiq
now discovers task packages. (@AceFire6, #46)- Tasks in the admin can now be filtered by
queue_name
andactor_name
. (@jcass77, #50)
--no-reload
command line flag has been changed to--reload
. This is a breaking change to therundramatiq
command. (@ramonsaraiva, #42)
- The 'ETA' column for Tasks in the admin now checks the Django
USE_TZ
configuration setting to ensure that dates are displayed using the same timezone as the Django standard columns. (#51, @jcass77)
0.7.1 - 2019-06-06
- Tasks in the admin can now be filtered by
status
. (@MightySCollins, #37) - The build now includes Django-specific classifiers. (@OmenApps, #39)
0.7.0 - 2019-03-28
DRAMATIQ_IGNORED_MODULES
setting. (@denizdogan, #33, #34)
- Tasks are now read-only. (@CapedHero, #29, #30)
0.6.0 - 2019-02-21
- The broker is set up as soon as the
django_dramatiq
application is loaded. This fixes issue #26 and is technically a breaking change for middleware writers.
0.5.3 - 2019-01-31
- A default rate limiter backend can now be configured. (#25, @StasEvseev)
0.5.2 - 2019-01-05
- Expired connections are now closed before and after each message. (#19)
0.5.1 - 2018-11-10
- Tasks are now upserted more safely. (#23, [@aericson])
0.5.0 - 2018-09-22
- Support for configuring result backends in settings via
DRAMATIQ_RESULT_BACKEND
. (#18, @xdmiodz) --queue
,--pid-file
and--log-file
arguments are now passed through to thedramatiq
command. (#20, @MattBlack85)
0.4.1 - 2018-07-15
- Instances can now be passed to middleware list in settings. (#14)
0.4.0 - 2018-07-11
DRAMATIQ_ENCODER
setting.
0.3.0 - 2018-04-14
DramatiqTestCase
0.2.2 - 2018-01-06
--path
is now the first to be passed todramatiq
. This fixes an issue where the workers wouldn't boot when the-no-reload
flag was set.
--path
command line argument.
- The broker is now set up by
DjangoDramatiqConfig.ready
. - The minimum dramatiq version is now 0.18.
BASE_DIR
is no longer a required setting.
Task.message
no handlesmemoryview
s properly.
0.1.5 - 2017-12-22
- Python 3.5 is now supported.
0.1.4 - 2017-12-08
- Fixed use of
tobytes()
inTask.message
for Django 2.0.
0.1.3 - 2017-11-20
--reload-use-polling
flag to force a poll-based file watcher instead of a OS-native one. This is useful inside of Vagrant and Docker. (Dramatiq #18)
0.1.2 - 2017-11-20
- Tasks modules and packages are now detected using Django's built-in
module_has_submodule
helper. (@rakanalh)
0.1.1 - 2017-11-15
dramatiq
anddramatiq-gevent
are now resolved according tosys.executable
(@rakanalh).