RabbitMQ 4.2.4 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 queue message store could run into an exception when a file was concurrently deleted by a compaction operation.
GitHub issue: #15411
-
rabbit_quorum_queue:stat/2could fail when the quorum queue leader was undefined. -
The
amq.rabbitmq.ogexchange is now declared unconditionally at node boot,
avoiding a potential deadlock between feature flag enablement and logging to the exchange sink.GitHub issue: #15320
MQTT Plugin
Bug Fixes
-
Variable interpolation in topic permissions now.
escapes the special regular expression characters before interpolation.GitHub issue: #15442
Stream Plugin
Bug Fixes
-
Single Active Consumer coordinator
could deadlock when a consumer being deactivated would lose its connection, leaving the consumer group
without an active consumer.GitHub issue: #15353
Management Plugin
Bug Fixes
-
The Policies page in the management UI incorrectly displayed quorum queue arguments
twice on the declaration form in place of stream queue arguments.GitHub issue: #15335
-
The clustering listener now correctly reports its TLS enablement status.
GitHub issue: #15399
Enhancements
-
GET /api/overviewandGET /api/nodesnow report crypto library (such as OpenSSL) version.GitHub issue: #15468
-
RabbitMQ and Erlang/OTP versions are now included in
GET /api/nodesresponses.GitHub issue: #15454
-
Login page usability improvements: autofocus on the username field and
autocompleteattributes
for browser password manager integration.GitHub issue: #15398
CLI Tools
Enhancements
-
rabbitmq-upgrade has_reached_target_cluster_sizeis a new command that checks whether
the cluster has reached its target size, as provided inrabbitmq.conf.This is useful for automating rolling upgrades, particularly on Kubernetes.
GitHub issue: #15404
Shovel Plugin
Bug Fixes
-
Stopping and deleting a shovel could fail with a
badmatchexception
when the underlying worker process no longer existed.GitHub issue: #15408
Trust Store Plugin
Enhancements
-
HTTPS endpoint requests now have a configurable timeout (20 seconds by default),
preventing the plugin from hanging indefinitely when a provider fails to respond.
AWS Peer Discovery Plugin
Bug Fixes
-
Nodes on EC2 instances in non-running states (
stopping,stopped,shutting-down,terminated)
are now filtered out from peer discovery results.GitHub issue: #15388
Enhancements
-
Multiple hostname resolution paths can now be configured. This is an upgrade pathway
for scenarios where resolution hostnames have to change.GitHub issue: #14705
Tracing Plugin
Bug Fixes
-
The plugin now uses UTF-8 encoding for traced messages.
GitHub issue: #15439
Dependency Changes
rawas upgraded to2.17.2