RabbitMQ 4.2.7 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
-
A virtual host could be falsely considered to be deleted in certain metadata store error and timeout scenarios.
GitHub issue: #16422
-
Passive queue and exchange declarations are now allowed for users that have any permission
on the virtual host (configure,write, orread), not onlyconfigure.GitHub issue: #16272
-
Classic queue message store: garbage collection is now stopped cleanly during node shutdown.
GitHub issue: #15498
-
Fixed a bug where quorum queue's at-least-once dead lettering could direct commands to
the wrong member (replica).GitHub issue: #16203
-
Stream queue argument validation was improved.
GitHub issue: #16285
Enhancements
-
channel_maxwas renamed tomax_channelsinrabbitmq.conf. The original name is
still supported as an alias.GitHub issue: #16347
-
connection_maxwas renamed tomax_connectionsinrabbitmq.conf. The original name is
still supported as an alias.GitHub issue: #16347
-
The per-node
max_connectionslimit is now enforced for AMQP 1.0 connections as well as AMQP 0-9-1 ones.GitHub issue: #16300
-
The permission cache is now traversed less often during AMQP 1.0 management and AMQP 0-9-1 channel checks.
GitHub issue: #16274
Stream Plugin
Bug Fixes
-
Stream protocol: an
openframe with empty properties is now handled correctly.GitHub issue: #16341
Enhancements
-
It is now possible to cap the maximum number of concurrent Stream Protocol client
connections using thestream.max_connectionsconfiguration key inrabbitmq.conf.GitHub issue: #16341
Management Plugin
Bug Fixes
-
HTTP API
GET /api/connectionscould return a 500 response when STOMP connections were present.GitHub issue: #16435
Enhancements
-
It is now possible to cap the maximum number of concurrent HTTP API connections using the
management.tcp.max_connections,
management.ssl.max_connectionsconfiguration keys inrabbitmq.conf.GitHub issue: #16407
-
The peer (client) certificate serial number is now exposed in the management UI and select CLI commands.
GitHub issue: #16463
Prometheus Plugin
Enhancements
-
It is now possible to cap the maximum number of concurrent HTTP API connections using the
prometheus.tcp.max_connections,
prometheus.ssl.max_connectionsconfiguration keys inrabbitmq.conf.GitHub issue: #16407
MQTT Plugin
Bug Fixes
-
The MQTT connection process no longer fails and logs an exception when keepalive checks encounter socket errors on
an already-closed connection.GitHub issue: #16391
Enhancements
-
It is now possible to cap the maximum number of concurrent MQTT client connections using the
mqtt.max_connections
configuration key inrabbitmq.conf.GitHub issue: #16367
Federation Plugin
Bug Fixes
LDAP Plugin
Enhancements
-
New
rabbitmq.confconfiguration settings for TLS cipher suites:auth_ldap.ssl_options.ciphers.*.GitHub issue: #16226
HTTP Auth Backend Plugin
Enhancements
-
New
rabbitmq.confconfiguration settings for TLS cipher suites:auth_http.ssl_options.ciphers.*.GitHub issue: #16226
Auth Backend Cache Plugin
Bug Fixes
Trust Store Plugin
Bug Fixes
-
A user-provided
fail_if_no_peer_certvalue in the plugin's TLS options is now respected. Previously,
an internal default could override the configured value.GitHub issue: #16201
Enhancements
-
New
rabbitmq.confconfiguration settings for TLS cipher suites:trust_store.ssl_options.ciphers.*.GitHub issue: #16226