Skip to content

Releases: rabbitmq/rabbitmq-server

RabbitMQ 3.11.4

28 Nov 16:27
62cd7d6
Compare
Choose a tag to compare

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

Enhancements

  • 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

Enhancements

  • 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

Enhancements

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.

RabbitMQ 3.10.12

28 Nov 14:07
7281271
Compare
Choose a tag to compare

RabbitMQ 3.10.12 is a maintenance release in the 3.10.x release series.

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

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

Minimum Supported Erlang Version

Erlang 23 support has reached its end of support.

This release of RabbitMQ requires Erlang 24.2 or later versions. Nodes will fail to start on older Erlang releases.

Erlang 25 is recommended: it offers much improved performance on ARM64 architectures, profiling with flame graphs
across all architectures, and the most recent TLS 1.3 implementation.

Changes Worth Mentioning

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

Core Server

Enhancements

  • 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

Enhancements

  • 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

Enhancements

Source Code Archives

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

RabbitMQ 3.9.26

28 Nov 12:26
9ff167c
Compare
Choose a tag to compare

RabbitMQ 3.9.26 is a maintenance release in the 3.9.x release series.

Please refer to the Upgrading to 3.9 section from v3.9.0 release notes if upgrading from a version prior to 3.9.0.

This release requires at least Erlang 24.2, and supports Erlang 25. RabbitMQ and Erlang/OTP Compatibility Matrix has more details on Erlang version requirements for RabbitMQ.

Minimum Supported Erlang Version

Erlang 23 support has reached its end of support.

Starting with this release, RabbitMQ requires Erlang 24.2 or later versions. Nodes will fail to start on older Erlang releases.

Changes Worth Mentioning

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

Core Server

Bug Fixes

  • Fixed a type analyzer definition.

    Contributed by @illotum (AWS).

    GitHub issue: #6401

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

Dependency Upgrades

None in this release.

Source Code Archives

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

RabbitMQ 3.11.3

09 Nov 17:55
e36160d
Compare
Choose a tag to compare

RabbitMQ 3.11.3 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

Bug Fixes

  • Stream unsubscription leaked metric counters.

    GitHub issue: #6325

  • Stream could become unavailable in certain node or network failure scenarios.

    GitHub issue: #6179

Enhancements

  • It is now possible to pre-configure virtual host limits for groups of virtual hosts.
    This is done using a set of new keys supported by rabbitmq.conf:

    default_limits.vhosts.1.pattern = ^device
    default_limits.vhosts.1.max_connections = 10
    default_limits.vhosts.1.max_queues = 10
    
    default_limits.vhosts.2.pattern = ^system
    default_limits.vhosts.2.max_connections = 100
    default_limits.vhosts.2.max_queues = -1
    
    default_limits.vhosts.3.pattern = .*
    default_limits.vhosts.3.max_connections = 20
    default_limits.vhosts.3.max_queues = 20

    Contributed by @illotum (AWS).

    GitHub issue: #4999

  • Quorum queue replicas no longer try to contact their unreachable peers for metrics.
    Previously this could result in a 30-40s delay for certain HTTP API requests that list queue metrics
    if one or more cluster members were down or stopped.

    GitHub issues: #6282, #6285

CLI Tools

Bug Fixes

  • rabbitmq-diagnostics status now handles server responses where free disk space
    is not yet computed. This is the case with nodes early in the boot process.

    GitHub issue: #6303

  • When a plugin was enabled as a dependency (e.g. rabbitmq_shovel as a dependency of rabbitmq_shovel_management),
    CLI tools previously did not discover commands in such plugins. Only explicitly enabled or pre-configured
    plugins were scanned for commands.

    This behavior was confusing. Now all enabled (explicitly or as a dependency) plugins are scanned.

    Contributed by @SimonUnge (AWS).

    GitHub issue: #6020

  • rabbitmq-diagnostics memory_breakdown now returns results much faster in environments with a large number
    of quorum queues (say, tens or hundreds of thousands).

    GitHub issue: #6390

Stream Plugin

Bug Fixes

  • Addition of a stream member could fail if the node being added was very early in its boot process
    (and doesn't have a certain stream-related components started).

    GitHub issue: #6182

AMQP 1.0 Plugin

Enhancements

  • Support for "modified" disposition outcome used by some client libraries (such as QPid).

    GitHub issue: #6243

Prometheus Plugin

Bug Fixes

  • Abruptly closed client connections resulted in incorrect updates of certain global
    metric counters.

    GitHub issue: #5462

Management Plugin

Bug Fixes

  • Management UI links now include "noopener" and "noreferrer" attributes to protect
    them against reverse tabnabbing.
    Note that since management UI only includes a small number of external links to trusted resources,
    reverse tabnabbing is unlikely to affect most users. However, it can show up in security scanner results
    and become an issue in environments where a modified version of RabbitMQ is offered as a service.

    Contributed by @illotum (AWS).

    GitHub issue: #6211

Shovel Plugin

Bug Fixes

  • Plugin could stop in environments where no static Shovels were defined and a specific
    sequence of events happens at the same time.

    Contributed by @gomoripeti (CloudAMQP).

    GitHub issue: #6286

Enhancements

  • Shovel now handles connection.blocked and connection.unblocked notifications
    from remote destination nodes. This means fewer messages are kept in Shovel buffers when
    a resource alarm goes into affect on the destination node.

    Contributed by @gomoripeti (CloudAMQP).

    GitHub issue: #6224

Windows Installer

Bug Fixes

  • When installation directory was overridden,
    the plugins directory did not respect the updated
    base installation path.

    GitHub issue: rabbitmq/rabbitmq-packaging#29

Dependency Upgrades

Source Code Archives

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

RabbitMQ 3.10.11

09 Nov 10:59
d95bd08
Compare
Choose a tag to compare

RabbitMQ 3.10.11 is a maintenance release in the 3.10.x release series.

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

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

Minimum Supported Erlang Version

Erlang 23 support has reached its end of support.

This release of RabbitMQ requires Erlang 24.2 or later versions. Nodes will fail to start on older Erlang releases.

Erlang 25 is recommended: it offers much improved performance on ARM64 architectures, profiling with flame graphs
across all architectures, and the most recent TLS 1.3 implementation.

Changes Worth Mentioning

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

Core Server

Bug Fixes

  • Stream unsubscription leaked metric counters.

    GitHub issue: #6325

Enhancements

  • Quorum queue replicas no longer try to contact their unreachable peers for metrics.
    Previously this could result in a 30-40s delay for certain HTTP API requests that list queue metrics
    if one or more cluster members were down or stopped.

    GitHub issues: #6282, #6285

CLI Tools

Bug Fixes

  • rabbitmq-diagnostics status now handles server responses where free disk space
    is not yet computed. This is the case with nodes early in the boot process.

    GitHub issue: #6303

  • When a plugin was enabled as a dependency (e.g. rabbitmq_shovel as a dependency of rabbitmq_shovel_management),
    CLI tools previously did not discover commands in such plugins. Only explicitly enabled or pre-configured
    plugins were scanned for commands.

    This behavior was confusing. Now all enabled (explicitly or as a dependency) plugins are scanned.

    Contributed by @SimonUnge (AWS).

    GitHub issue: #6020

Stream Plugin

Bug Fixes

  • Addition of a stream member could fail if the node being added was very early in its boot process
    (and doesn't have a certain stream-related components started).

    GitHub issue: #6182

AMQP 1.0 Plugin

Enhancements

  • Support for "modified" disposition outcome used by some client libraries (such as QPid).

    GitHub issue: #6243

Management Plugin

Bug Fixes

  • Management UI links now include "noopener" and "noreferrer" attributes to protect
    them against reverse tabnabbing.
    Note that since management UI only includes a small number of external links to trusted resources,
    reverse tabnabbing is unlikely to affect most users. However, it can show up in security scanner results
    and become an issue in environments where a modified version of RabbitMQ is offered as a service.

    Contributed by @illotum (AWS).

    GitHub issue: #6211

Shovel Plugin

Bug Fixes

  • Plugin could stop in environments where no static Shovels were defined and a specific
    sequence of events happens at the same time.

    Contributed by @gomoripeti.

    GitHub issue: #6286

Windows Installer

Bug Fixes

  • When installation directory was overridden, the plugins directory did not respect the
    updated base installation path.

    GitHub issue: rabbitmq/rabbitmq-packaging#29

Dependency Upgrades

Source Code Archives

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

RabbitMQ 3.9.25

09 Nov 09:53
bd6eee6
Compare
Choose a tag to compare

RabbitMQ 3.9.25 is a maintenance release in the 3.9.x release series.

Please refer to the Upgrading to 3.9 section from v3.9.0 release notes if upgrading from a version prior to 3.9.0.

This release requires at least Erlang 24.2, and supports Erlang 25. RabbitMQ and Erlang/OTP Compatibility Matrix has more details on Erlang version requirements for RabbitMQ.

Minimum Supported Erlang Version

Erlang 23 support has reached its end of support.

Starting with this release, RabbitMQ requires Erlang 24.2 or later versions. Nodes will fail to start on older Erlang releases.

Changes Worth Mentioning

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

CLI Tools

Bug Fixes

  • rabbitmq-diagnostics status now handles server responses where free disk space
    is not yet computed. This is the case with nodes early in the boot process.

    GitHub issue: #6303

Management Plugin

Bug Fixes

  • Management UI links now include "noopener" and "noreferrer" attributes to protect
    them against reverse tabnabbing.
    Note that since management UI only includes a small number of external links to trusted resources,
    reverse tabnabbing is unlikely to affect most users. However, it can show up in security scanner results
    and become an issue in environments where a modified version of RabbitMQ is offered as a service.

    Contributed by @illotum (AWS).

    GitHub issue: #6211

Shovel Plugin

Bug Fixes

  • Plugin could stop in environments where no static Shovels were defined and a specific
    sequence of events happens at the same time.

    Contributed by @gomoripeti.

    GitHub issue: #6286

Windows Installer

Bug Fixes

  • When installation directory was overridden, the plugins directory did not respect the
    updated base installation path.

    GitHub issue: rabbitmq/rabbitmq-packaging#29

Dependency Upgrades

None in this release.

Source Code Archives

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

RabbitMQ 3.11.2

19 Oct 06:01
a699353
Compare
Choose a tag to compare

RabbitMQ 3.11.2 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

Bug Fixes

  • Partially reverts an unsafe inter-node communication optimization that could affect
    classic mirrored queue operation ordering.

    Kudos to @bording for providing an automated way to reproduce the issue.

    GitHub issue: #6115

  • Classic mirrored queue leader replica issued to much credit to follower replicas,
    resulting in an uneven load and memory footprint between them.

    GitHub issue: #6110

  • Intra-cluster communication link metric collector could run into an exception when
    peer connection has just been re-established, e.g. after a peer node restart.

    GitHub issue: #6127

MQTT Plugin

Bug Fixes

  • When a node was put into maintenance mode, it closed all MQTT client connections
    cluster-wide instead of just local client connections.

    GitHub issue: #6108

Dependency Upgrades

None in this release.

Source Code Archives

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

RabbitMQ 3.10.10

18 Oct 19:00
382cb63
Compare
Choose a tag to compare

RabbitMQ 3.10.10 is a maintenance release in the 3.10.x release series.

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

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

Minimum Supported Erlang Version

Erlang 23 support has reached its end of support.

This release of RabbitMQ requires Erlang 24.2 or later versions. Nodes will fail to start on older Erlang releases.

Erlang 25 is recommended: it offers much improved performance on ARM64 architectures, profiling with flame graphs
across all architectures, and the most recent TLS 1.3 implementation.

Changes Worth Mentioning

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

Core Server

Bug Fixes

  • Partially reverts an unsafe inter-node communication optimization that could affect
    classic mirrored queue operation ordering.

    Kudos to @bording for providing an automated way to reproduce the issue.

    GitHub issue: #6115

  • Classic mirrored queue leader replica issued to much credit to follower replicas,
    resulting in an uneven load and memory footprint between them.

    GitHub issue: #6110

  • Intra-cluster communication link metric collector could run into an exception when
    peer connection has just been re-established, e.g. after a peer node restart.

    GitHub issue: #6127

MQTT Plugin

Bug Fixes

  • When a node was put into maintenance mode, it closed all MQTT client connections
    cluster-wide instead of just local client connections.

    GitHub issue: #6108

Dependency Upgrades

None in this release.

Source Code Archives

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

RabbitMQ 3.9.24

18 Oct 15:09
f6d10b6
Compare
Choose a tag to compare

RabbitMQ 3.9.24 is a maintenance release in the 3.9.x release series.

Please refer to the Upgrading to 3.9 section from v3.9.0 release notes if upgrading from a version prior to 3.9.0.

This release requires at least Erlang 24.2, and supports Erlang 25. RabbitMQ and Erlang/OTP Compatibility Matrix has more details on Erlang version requirements for RabbitMQ.

Minimum Supported Erlang Version

Erlang 23 support has reached its end of support.

Starting with this release, RabbitMQ requires Erlang 24.2 or later versions. Nodes will fail to start on older Erlang releases.

Changes Worth Mentioning

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

Core Server

Bug Fixes

  • Intra-cluster communication link metric collector could run into an exception when
    peer connection has just been re-established, e.g. after a peer node restart.

    GitHub issue: #6127

MQTT Plugin

Bug Fixes

  • When a node was put into maintenance mode, it closed all MQTT client connections
    cluster-wide instead of just local client connections.

    GitHub issue: #6108

Dependency Upgrades

None in this release.

Source Code Archives

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

RabbitMQ 3.11.1

13 Oct 10:59
0959ed7
Compare
Choose a tag to compare

RabbitMQ 3.11.1 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

Bug Fixes

  • A rolling upgrade on Kubernetes could hang.

    GitHub issue: #6034

  • In mixed 3.11/3.10 clusters, channels that performed operations on classic queues could
    run into an exception.

    GitHub issue: #5931

  • A quorum queue consumer was cancelled and immediately re-registered while some
    deliveries were in flight could result in a channel exception.

    GitHub issue: #5927

  • More strings from external sources are converted to Unicode-aware representation
    internally, in log messages, CLI tools output and UI, and so on.

    GitHub issues: #5551

  • During plugin activation on a running node, plugins with dependencies were added to runtime code path
    in an order that could break if a plugin had hard transitive dependencies (that must be loaded first).

    Contributed by @gomoripeti.

    GitHub issue: #6019

Enhancements

  • Support for paths with non-ASCII (Unicode) characters in paths.

  • rabbitmq-diagnostics observer now includes a new tab that provides access to internal classic queue
    metrics.

    GitHub issue: #6074

  • More free disk space monitor resilience improvements.

    GitHub issue: #5831

Stream Plugin

Bug Fixes

  • Replicas of a stream that had a Single Active Consumer on it could run into an exception.

    GitHub issue: #5889

  • Stream protocol implementation used incorrect keys in RouteResponse and PartitionResponse frames.

    GitHub issue: #5956

Enhancements

  • When a superstream (partitioned stream) is added using CLI tools, its primary replica will now
    be placed according to the balanced leader placement strategy. Previously it was using "node local"
    which resulted in much less even superstream leader replica distribution across cluster nodes.

    GitHub issue: #5966

AMQP 1.0 Plugin

Bug Fixes

  • rabbitmqctl list_amqp10_connections were not listing connections correctly.

    GitHub issue: #4238

Shovel Management Plugin

Bug Fixes

  • Shovel management HTTP API endpoint could run into an exception.

    Contributed by @gomoripeti.

    GitHub issue: #5892

Dependency Upgrades

  • cuttlefish upgraded to 3.1.0

Source Code Archives

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