release-notes/4.2.5.md
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.
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.
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/0 returned
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
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
parse_command/1 crashed with a function_clause error when receiving a zero-size frame,
such as those sent by load balancer probes or port scanners.
GitHub issue: #15703
rabbit_stream_manager could crash with a case_clause error when a stream declaration
failed due to a metadata store timeout.
GitHub issue: #15699
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
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) and delivery_limit when management stats collection
is disabled via rabbitmq.conf.
rabbitmq-diagnostics status and rabbitmqctl status crashed when targeting a node
in maintenance mode because vm_memory_high_watermark was nil
(the vm_memory_monitor process does not run in that state).
rabbitmq-plugins now produces a clearer error message when run by a non-root user.
GitHub issue: #15701
The x-internal-purpose and consumer_timeout argument values are now correctly escaped.
Per-object metrics endpoint (/metrics/per-object) no longer emits duplicate HELP
and TYPE metadata lines for Raft metrics when both quorum queues and Khepri are in use,
which caused scraper parser errors.
The Overview dashboard's "TCP sockets available" panel was replaced with a "File descriptors available" panel
that uses two modern metrics, rabbitmq_process_max_fds and rabbitmq_process_open_fds.
An attempt to declare a dynamic shovel with multiple src-queue-args or dest-queue-args values
configured could run into an exception during validation.
A terminated heartbeat monitor process could cause a crash during connection shutdown.
GitHub issue: #15607
None in this release.