RabbitMQ - v3.11.4

RabbitMQ 3.11.4 is a maintenance release in the 3.11.x release series.

Please refer to the upgrade section from v3.11.0 release notes
if upgrading from a version prior to 3.11.0.

This release requires Erlang 25.
RabbitMQ and Erlang/OTP Compatibility Matrix has more details on
Erlang version requirements for RabbitMQ.

Minimum Supported Erlang Version

As of 3.11.0, RabbitMQ requires Erlang 25. Nodes will fail to start on older Erlang releases.

Erlang 25 as our new baseline means much improved performance on ARM64 architectures, profiling with flame graphs
across all architectures, and the most recent TLS 1.3 implementation available to all RabbitMQ 3.11 users.

Changes Worth Mentioning

Release notes can be found on GitHub at rabbitmq-server/release-notes.

Core Server


  • Import of definition files with many streams is now more efficient.

GitHub issue: #6436

  • Lower CPU footprint in clusters with many mostly idle streams.

GitHub issue: #6436

  • Streams with max_age retention now attempt to reclaim disk space every hour.
    This is relevant in environments with a lot of mostly inactive streams that
    set max_age.

GitHub issue: #6436

  • Quorum queues are now more resilient to WAL log growth with workloads that
    involve clients that register a consumer and then close the channel
    or connection without ever consuming any deliveries or cancelling
    the consumer.

GitHub issue: #6447

Bug Fixes

  • When a node encouters an invalid definitions.local.file on boot,
    it will refuse to start instead of ignoring the file.

GitHub issue: #2610

  • Fixed a type analyzer definition.

Contributed by @illotum (AWS).

GitHub issue: #6401

CLI Tools


  • rabbitmq-diagnostics check_if_node_is_quorum_critical and
    rabbitmq-upgrade await_online_quorum_plus_one now consider
    stream (not just quorum queues) replica placement when determining
    if target node is quorum-critical.

GitHub issue: #6448

  • Queue info keys now support more inclusive property names related
    to (deprecated) classic mirrored queues. For example, mirror_pids
    can now be used instead of slave_pids.

Contributed by @illotum (AWS).

GitHub issue: #2635

  • rabbitmq-diagnostics memory_breakdown now executes significantly faster
    in environments with a large number (say, tens or hundreds of thousands) of
    quorum queues. Two orders of magnitude faster, in fact.

GitHub issue: #6388

Bug Fixes

  • Definition export in JSON failed on nodes that used definitions.skip_if_unchanged.

GitHub issue: #6424

  • Using quorum queue-specific commands on streams now results in clearer error messages.

Contributed by @gomoripeti (CloudAMQP).

GitHub issue: #6488

LDAP Plugin

Bug Fixes

  • LDAP server password could end up in the logs in certain types of exceptions.

Contributed by @SimonUnge (AWS).

GitHub issue: #4842

STOMP Plugin


Dependency Upgrades

Source Code Archives

To obtain source code of the entire distribution, please download the archive named rabbitmq-server-3.11.4.tar.xz
instead of the source tarball produced by GitHub.


Nov. 28, 2022, 4:27 p.m.
RabbitMQ 3.11.4
Register or login to:
  • 🔍View and search all RabbitMQ releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google