2026.09.47 — 2026-09-27
Added
Release a consumed message without spending a delivery attempt (c10c1c09)
A plugin consumer can now answer
Disposition.RELEASE: it is not done with the message, and the message is not the reason (the service it calls is down). The message goes back to its queue with its delivery count unchanged, so the broker'smax-delivery-attemptsnever dead-letters it for a release. Before, the only way back wasREJECT, which counts: on a broker with no redelivery delay, a plugin backing off could exhaust a message's attempts, on every node, without ever processing it.Plugin consumer sessions now acknowledge each message on its own (
INDIVIDUAL_ACKNOWLEDGE), so a message stays delivering on the broker until the handler answers.ACCEPTandREJECTbehave as before: a rejected message is still bounded bymax-delivery-attempts. A tapped copy that is released is discarded, as a rejected one is. The plugin guide says when to release and when to reject.