RabbitMQ 4.2.5 is a maintenance release in the 4.2.x release series.
It is strongly recommended that you read 4.2.0 release notes
in detail if upgrading from a version prior to 4.2.0.
Minimum Supported Erlang Version
RabbitMQ and Erlang/OTP Compatibility Matrix has more details on Erlang version requirements for RabbitMQ.
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
-
Classic queues could terminate and restart during recovery in certain rare conditions.
GitHub issue: #15595
-
Quorum queues could incorrectly reject messages during deletion.
GitHub issue: #15554
-
Peer discovery could run into a crash when
rabbit_nodes:list_members/0returned
an empty list due to an error or a timeout.GitHub issue: #15568
-
Definition import now strips a leading UTF-8 BOM if the input file has one.
-
Exceptions thrown by decorator callbacks (such as those used by federation)
during policy change notifications were silently suppressed. They are now logged.GitHub issue: #15525
Enhancements
-
Improved Mnesia-to-Khepri migration throughput.
GitHub issue: #15480
-
Additional aten settings are now exposed in
rabbitmq.conf.
Previously only the poll interval was configurable.GitHub issue: #15564
Stream Plugin
Bug Fixes
-
parse_command/1crashed with afunction_clauseerror when receiving a zero-size frame,
such as those sent by load balancer probes or port scanners.GitHub issue: #15703
-
rabbit_stream_managercould crash with acase_clauseerror when a stream declaration
failed due to a metadata store timeout.GitHub issue: #15699
Enhancements
-
Less log noise from load balancer and port scanner probes (that do not perform an AMQP 1.0 or AMQP 0-9-1 handshake)
GitHub issue: #15715
Management Plugin
Bug Fixes
-
Request bodies above the configured maximum limit are now rejected earlier.
GitHub issue: #15712
-
Validation improvements for several API endpoints.
They now ignore node names that do not refer to existing cluster members,
reject unknown fields, etc. -
Queue API responses now include policy-related fields (
policy,operator_policy,
effective_policy_definition) anddelivery_limitwhen management stats collection
is disabled viarabbitmq.conf.
CLI Tools
Bug Fixes
-
rabbitmq-diagnostics statusandrabbitmqctl statuscrashed when targeting a node
in maintenance mode becausevm_memory_high_watermarkwasnil
(thevm_memory_monitorprocess does not run in that state).
Enhancements
-
rabbitmq-pluginsnow produces a clearer error message when run by a non-rootuser.GitHub issue: #15701
Federation Management Plugin
Bug Fixes
-
The
x-internal-purposeandconsumer_timeoutargument values are now correctly escaped.
Prometheus Plugin
Bug Fixes
-
Per-object metrics endpoint (
/metrics/per-object) no longer emits duplicateHELP
andTYPEmetadata lines for Raft metrics when both quorum queues and Khepri are in use,
which caused scraper parser errors.
Grafana Dashboards
Enhancements
-
The
Overviewdashboard's "TCP sockets available" panel was replaced with a "File descriptors available" panel
that uses two modern metrics,rabbitmq_process_max_fdsandrabbitmq_process_open_fds.
Shovel Plugin
Bug Fixes
-
An attempt to declare a dynamic shovel with multiple
src-queue-argsordest-queue-argsvalues
configured could run into an exception during validation.
Web STOMP Plugin
Bug Fixes
-
A terminated heartbeat monitor process could cause a crash during connection shutdown.
GitHub issue: #15607
Dependency Changes
None in this release.