@@ -11,10 +11,16 @@ All notable changes to this project will be documented in this file.
1111Breaking Changes
1212^^^^^^^^^^^^^^^^
1313
14+ Major Breaking Changes
15+ ~~~~~~~~~~~~~~~~~~~~~~
16+
17+ These are breaking changes we believe are most likely to effect your project.
18+
1419* The |Prometheus | middleware is no longer in the default middleware list.
15- To keep exporting the Prometheus stats , you must now install the ``prometheus `` extra
20+ To keep exporting the Prometheus statistics , you must now install the ``prometheus `` extra
1621 (e.g. ``pip install 'dramatiq[prometheus]' ``)
1722 and add the |Prometheus | middleware (see :ref: `customizing-middleware `).
23+ If you are not using the Promotheus statistics, no action is needed.
1824 (`#95 `_, `#345 `_, `#688 `_, `@azmeuk `_)
1925* The ``backend `` argument to the |Results | middleware is now required.
2026 Previously, not supplying this argument would result in a non-functional |Results | middleware.
@@ -26,6 +32,28 @@ Breaking Changes
2632.. _@azmeuk : https://github.com/azmeuk
2733.. _#728 : https://github.com/Bogdanp/dramatiq/pull/728
2834
35+ Minor Breaking Changes
36+ ~~~~~~~~~~~~~~~~~~~~~~
37+
38+ These are changes that while technically breaking, we believe are unlikely to effect your project.
39+
40+ * Removed the ``dev `` installable extra from the project metadata.
41+ Instead the development dependencies are defined in a `PEP-735 `_
42+ ``[dependency-groups] `` table in ``pyproject.toml ``.
43+ These can be installed in development environments with ``pip install --group dev ``.
44+ (`#766 `_, `@LincolnPuzey `_)
45+ * The ``keys `` argument to ``RateLimiterBackend.incr_and_sum `` must now be a callable
46+ that returns a list of keys.
47+ This is only relevant if you have written custom code (such as a custom Rate Limiter)
48+ that uses a ``RateLimiterBackend ``.
49+ (`#741 `_, `#772 `_, `@mikeroll `_)
50+
51+ .. _#766 : https://github.com/Bogdanp/dramatiq/pull/766
52+ .. _PEP-735 : https://peps.python.org/pep-0735/
53+ .. _#741 : https://github.com/Bogdanp/dramatiq/issues/741
54+ .. _#772 : https://github.com/Bogdanp/dramatiq/pull/772
55+ .. _@mikeroll : https://github.com/mikeroll
56+
2957Fixed
3058^^^^^
3159
@@ -40,20 +68,73 @@ Fixed
4068 1 fewer retries are now made.
4169 This fixes a regression introduced by `#669 `_ released in ``1.18.0 ``.
4270 (`#734 `_, `@LincolnPuzey `_)
71+ * When adding middleware to a Broker that already has actors declared,
72+ call the ``after_declare_actor `` middleware hook with the correct argument.
73+ (`#743 `_, `@jenstroeger `_)
74+ * Made dramatiq robust against non-numeric values for the ``eta `` option.
75+ This should only be necessary when manually enqueuing messages.
76+ (`#759 `_, `#761 `_, `@gurelkaynak `_)
77+ * Fixed edge case where the |StubBroker_join | would try to raise ``None `` as an exception.
78+ (`#763 `_, `@LincolnPuzey `_)
4379
80+
81+ .. _@gurelkaynak : https://github.com/gurelkaynak
4482.. _#651 : https://github.com/Bogdanp/dramatiq/issues/651
4583.. _#721 : https://github.com/Bogdanp/dramatiq/pull/721
4684.. _#734 : https://github.com/Bogdanp/dramatiq/pull/734
85+ .. _#743 : https://github.com/Bogdanp/dramatiq/pull/743
86+ .. _#759 : https://github.com/Bogdanp/dramatiq/issues/759
87+ .. _#761 : https://github.com/Bogdanp/dramatiq/pull/761
88+ .. _#763 : https://github.com/Bogdanp/dramatiq/pull/763
4789
4890Added
4991^^^^^
5092
93+ * Add Python 3.14 to test matrix and project classifiers.
94+ (`#751 `_, `@LincolnPuzey `_)
5195* Added type annotations for the external API of the |Worker | and |Broker | classes.
52- (`#727 `_, `#731 `_, `@jenstroeger `_)
96+ (`#727 `_, `#731 `_, `#744 `_, `@jenstroeger `_)
97+ * Added type annotations for the external API of the |Middleware | class and its subclasses.
98+ (`#521 `_, `#735 `_, `@jenstroeger `_)
99+ * Added ``message_datetime `` property to the ``Message `` class to retrieve ``message_timestamp ``
100+ as an aware ``datetime.datetime `` instance.
101+ (`#736 `_, `@karolinepauls `_)
102+ * Added ``dramatiq_worker_timeout `` environment variable.
103+ (`#773 `_, `@ksoviero-zengrc `_)
104+
53105
106+ .. _#751 : https://github.com/Bogdanp/dramatiq/pull/751
54107.. _#727 : https://github.com/Bogdanp/dramatiq/issues/727
55108.. _#731 : https://github.com/Bogdanp/dramatiq/pull/731
109+ .. _#744 : https://github.com/Bogdanp/dramatiq/pull/744
110+ .. _#521 : https://github.com/Bogdanp/dramatiq/issues/521
111+ .. _#735 : https://github.com/Bogdanp/dramatiq/pull/735
112+ .. _#736 : https://github.com/Bogdanp/dramatiq/pull/736
113+ .. _#773 : https://github.com/Bogdanp/dramatiq/pull/773
114+ .. _@ksoviero-zengrc : https://github.com/ksoviero-zengrc
115+
116+ Changed
117+ ^^^^^^^
118+
119+ * Promoted ``ConsumerThread `` and ``WorkerThread `` classes to public names,
120+ since they are used in the |Middleware | interface type hints.
121+ The previous names ``_ConsumerThread `` and ``_WorkerThread `` are still
122+ available for backwards compatibility.
123+ (`#760 `_, `@synweap15 `_)
124+ * Increased the minimum ``redis-py `` library version to ``4.0.0 ``.
125+ (`#738 `_, `#764 `_, `@LincolnPuzey `_)
126+
127+ .. _#760 : https://github.com/Bogdanp/dramatiq/pull/760
128+ .. _#738 : https://github.com/Bogdanp/dramatiq/issues/738
129+ .. _#764 : https://github.com/Bogdanp/dramatiq/pull/764
130+
131+ Packaging
132+ ^^^^^^^^^
133+
134+ * The project now defines a PEP-518 build backend in the ``pyproject.toml `` file.
135+ (`#750 `_, `@LincolnPuzey `_)
56136
137+ .. _#750 : https://github.com/Bogdanp/dramatiq/pull/750
57138
58139Documentation
59140^^^^^^^^^^^^^
@@ -67,6 +148,8 @@ Documentation
67148 (`#724 `_, `#725 `_, `@LincolnPuzey `_)
68149* Add documentation section about environment variables.
69150 (`#720 `_, `@LincolnPuzey `_)
151+ * Improve documentation for ``before_enqueue `` and ``after_enqueue `` |Middleware | hooks.
152+ (`#753 `_, `@karolinepauls `_)
70153
71154.. _#718 : https://github.com/Bogdanp/dramatiq/pull/718
72155.. _#723 : https://github.com/Bogdanp/dramatiq/pull/723
@@ -75,6 +158,7 @@ Documentation
75158.. _#724 : https://github.com/Bogdanp/dramatiq/issues/724
76159.. _#725 : https://github.com/Bogdanp/dramatiq/pull/725
77160.. _#720 : https://github.com/Bogdanp/dramatiq/pull/720
161+ .. _#753 : https://github.com/Bogdanp/dramatiq/pull/753
78162
79163
80164`1.18.0 `_ -- 2025-05-29
0 commit comments