release-notes/4.0.5.md
RabbitMQ 4.0.5 is a maintenance release in the 4.0.x release series.
Starting June 1st, 2024, community support for this series will only be provided to regularly contributing users and those who hold a valid commercial support license.
It is strongly recommended that you read 4.0 release notes
in detail if upgrading from a version prior to 4.0.0.
This release requires Erlang 26 and supports Erlang versions up to 27.2.x.
RabbitMQ and Erlang/OTP Compatibility Matrix has more details on
Erlang version requirements for RabbitMQ.
Nodes will fail to start on older Erlang releases.
Release notes can be found on GitHub at rabbitmq-server/release-notes.
Reintroduced transient flow control between classic queue replicas and AMQP 0-9-1 channels, MQTT connections.
Flow control between these specific parts of the core were unintentionally
removed in 4.0.0 together with classic queue mirroring.
Contributed by @gomoripeti.
GitHub issue: #12907
The feature that warns when deprecated features are used in the cluster had a false positive that treated (and reported) any queue as a "transient non-exclusive classic queue", even if the queue was of a different type, was not transient, and so on.
GitHub issue: #12802
AMQP 1.0 clients with close to peak consumption rates with a high max_link_creadit setting could run into an exception because RabbitMQ could set the incoming window size to a negative value.
AMQP 0-9-1 channel exception generator could not handle entity names (say, queue or stream names) that contained non-ASCII characters.
This affected applications that use passive queue declarations, such as the Shovel plugin.
Contributed by @bpint.
GitHub issue: #12888
Peer discovery resilience improvements.
Deadlettering of some messages could result in an exception.
For virtual hosts that have a default queue type configured, the DQT value is now injected into queue definitions in exported definition documents.
GitHub issue: #12776
Definition export files now have an additional "type" markers that help distinguish a cluster-wide definition file from that of a single virtual host.
GitHub issue: #12835
Two new stream metrics for streams.
Contributed by @gomoripeti and @markus812498.
GitHub issue: #12765
Fixes a false positive that incorrectly reported deprecated feature use, specifically the use of non-exclusive transient classic queues.
GitHub issue: #12840
GET /api/overview did not format empty cluster and node list tags as an empty JSON object,
which was problematic for HTTP API clients with statically typed response data structures.
GitHub issue: #12797
When a logged in user's JWT token was refreshed, the user identity displayed in the UI was changed.
GitHub issue: #12818
When a logged in user's JWT token was refreshed, the user identity displayed in the UI was changed.
GitHub issue: #12818
Avoids an exception during automatic removal of cluster members that are no longer returned by peer discovery (an opt-in feature).
GitHub issue: #12809
Avoids an exception during automatic removal of cluster members that are no longer returned by peer discovery (an opt-in feature).
GitHub issue: #12809
Avoids an exception during automatic removal of cluster members that are no longer returned by peer discovery (an opt-in feature).
GitHub issue: #12809
Avoids an exception during automatic removal of cluster members that are no longer returned by peer discovery (an opt-in feature).
GitHub issue: #12809
osiris was upgraded to 1.8.5To obtain source code of the entire distribution, please download the archive named rabbitmq-server-4.0.5.tar.xz
instead of the source tarball produced by GitHub.