Skip to content

Commit 320d8ae

Browse files
committed
Add AMQP 0.9.1 x-death header to breaking changes
Starting with RabbitMQ 4.0, the AMQP 0.9.1 x-death header won't be interpreted anymore by RabbitMQ when clients publish new messages to RabbitMQ. Relates to * #10709 * #11331 * #11339
1 parent 692f299 commit 320d8ae

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

release-notes/4.0.1.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,17 @@ the delivery limit can be disabled by setting a delivery limit configuration of
6767
strongly recommends keeping the delivery limit in place to ensure cluster availability isn't
6868
accidentally sacrificed.
6969

70+
### AMQP 0.9.1 x-death header
71+
72+
Up to RabbitMQ 3.13, when an AMQP 0.9.1 client (re-)published a message to RabbitMQ, RabbitMQ interpreted the
73+
AMQP 0.9.1 [x-death](https://www.rabbitmq.com/docs/dlx#effects) header in the published message's `basic_message.content.properties.headers` field.
74+
75+
RabbitMQ 4.x will not interpret this `x-death` header anymore when clients (re-)publish a message.
76+
Note that RabbitMQ 4.x will continue to set and update the `x-death` header every time a message is dead-lettered, including when a client **rejects** the message.
77+
78+
If you have a use case where you relied on RabbitMQ incrementing the `count` fields within the `x-death` header array elements for new messages **(re-)published**
79+
(instead of existing messages being rejected), consider introducing and incrementing [your own custom non `x-` header](https://github.com/rabbitmq/rabbitmq-server/issues/10709#issuecomment-1997083246) instead.
80+
7081
### CQv1 Storage Implementation was Removed
7182

7283
CQv1, [the original classic queue storage layer, was removed](https://github.com/rabbitmq/rabbitmq-server/pull/10656)

0 commit comments

Comments
 (0)