RabbitMQ 3.11.5
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
-
Backported a number of improvements for non-ASCII character handling in paths on Windows.
GitHub issue: #5551
-
Backported a number of free disk space monitor resiliency improvements.
GitHub issue: #5831
-
If
handle.exe
is not available, free disk space monitor will now shell out to PowerShell
to retrieve the number of open file handles used by the node.GitHub issue: #6613
-
raft.adaptive_failure_detector.poll_interval
exposesaten
'spoll_interval
setting to
RabbitMQ users. Increasing it can reduce the probability of false positives in clusters where
inter-node communication links are used at close to maximum capacity.
The default is5000
(5 seconds).GitHub issue: #6632
-
When both
disk_free_limit.relative
anddisk_free_limit.absolute
,
or bothvm_memory_high_watermark.relative
andvm_memory_high_watermark.absolute
are set,
the absolute settings will now take precedence.Contributed by @SimonUnge (AWS).
GitHub issue: #4980
-
Closing channels will now log a warning if they had any messages pending a confirmation from the server.
Contributed by @Kiruamvp.
GitHub issue: #1399
-
New quorum queue option for in-memory table (MemTable) compression.
GitHub issue: #6590
-
Default queue type (a virtual host setting) is now applied when importing definitions
into a single virtual host.GitHub issue: #6599
Bug Fixes
-
Feature flags provided by plugins were mistakingly disabled after node restart.
GitHub issue: #6500
-
Classic queues with Single Active Consumer enabled could run into an exception.
GitHub issue: #6502
-
When a global parameter was cleared,
nodes emitted an internal event of the wrong type.GitHub issue: #6538
CLI Tools
Bug Fixes
-
rabbitmq-queues grow
andrabbitmq-queues shrink
misformatted the errors
they could encounter.Contributed by @gomoripeti (CloudAMQP).
GitHub issue: #6601
Enhancements
-
Implicit
help
command (when CLI tools were invoked without a command name)
now respects all global flags (such as--node
). For example, previously
the--node
flag inrabbitmqctl --node rabbit@ns1.rabbitmq.cluster.local
was ignored but now CLI tools would discover what plugins are enabled
on noderabbit@ns1.rabbitmq.cluster.local
and include them intohelp
output.GitHub issue: #6598
-
New key supported by
rabbitmqctl list_queues
:effective_policy_definition
that returns
merged definitions of regular and operator policies effective for the queue.GitHub issue: #6556
Management Plugin
Enhancements
-
It is now possible to omit explicitly specifying queue type when declaring
a queue (or stream) in the management UI, and rely on the default queue type
configured for the selected virtual host.GitHub issue: #6600
-
New HTTP API endpoint,
GET /api/config/effective
, returns effective node configuration.
This is an HTTP API counterpart ofrabbitmq-diagnostics environment
.Contributed by @SimonUnge (AWS).
GitHub issue: #6016
Shovel Plugin
Enhancements
-
Flow control state for Shovels is now reported with higher fidelity
(of 1 second vs. several seconds previously). This means it should be easier
to spot Shovels that run into flow control using management UI.Contributed by @gomoripeti (CloudAMQP).
GitHub issue: #6615
Sharding Plugin
Bug Fixes
-
Plugin could fail to boot and halt node boot due to incorrect boot step
metadata.GitHub issue: #6583
Dependency Upgrades
ra
was upgraded from2.4.1
to2.4.5
Source Code Archives
To obtain source code of the entire distribution, please download the archive named rabbitmq-server-3.11.5.tar.xz
instead of the source tarball produced by GitHub.