Fixed
* TimeLimit middleware support for Python 3.13. ([656](https://github.com/Bogdanp/dramatiq/issues/656), [#659](https://github.com/Bogdanp/dramatiq/pull/659), [amureki](https://github.com/amureki))
Added
* The Retries middleware now supports an on_retries_exhausted target actor to execute when retries on a message have been exhausted. ([630](https://github.com/Bogdanp/dramatiq/pull/630), [dbowring](https://github.com/dbowring))
Changed
* The actor decorator now checks for duplicate actor names. ([640](https://github.com/Bogdanp/dramatiq/issues/640), [#641](https://github.com/Bogdanp/dramatiq/pull/641), [z0z0r4](https://github.com/z0z0r4))
* The Retries middleware now tracks when a message was last requeued on retry. ([629](https://github.com/Bogdanp/dramatiq/pull/629), [kuba-lilz](https://github.com/kuba-lilz))