RabbitMQ 4.2.7
- It is now possible to cap the maximum number of concurrent Stream Protocol client connections using the stream.max_connections configuration key
- It is now possible to cap the maximum number of concurrent HTTP API connections using management.tcp.max_connections and management.ssl.max_connections configuration keys
- It is now possible to cap the maximum number of concurrent HTTP API connections using prometheus.tcp.max_connections and prometheus.ssl.max_connections configuration keys
- It is now possible to cap the maximum number of concurrent MQTT client connections using the mqtt.max_connections configuration key
- New rabbitmq.conf configuration settings for TLS cipher suites: auth_ldap.ssl_options.ciphers
- New rabbitmq.conf configuration settings for TLS cipher suites: auth_http.ssl_options.ciphers
- Stream queue argument validation was improved
- channel_max was renamed to max_channels in rabbitmq.conf with the original name still supported as an alias
- connection_max was renamed to max_connections in rabbitmq.conf with the original name still supported as an alias
- The per-node max_connections limit is now enforced for AMQP 1.0 connections as well as AMQP 0-9-1 ones
- The permission cache is now traversed less often during AMQP 1.0 management and AMQP 0-9-1 channel checks
- The peer certificate serial number is now exposed in the management UI and select CLI commands
- A virtual host could be falsely considered to be deleted in certain metadata store error and timeout scenarios
- Passive queue and exchange declarations are now allowed for users that have any permission on the virtual host, not only configure
- Classic queue message store garbage collection is now stopped cleanly during node shutdown
- Fixed a bug where quorum queue's at-least-once dead lettering could direct commands to the wrong member
- Stream protocol open frame with empty properties is now handled correctly
- HTTP API GET /api/connections could return a 500 response when STOMP connections were present
- The MQTT connection process no longer fails and logs an exception when keepalive checks encounter socket errors on an already-closed connection
- Federation links could fail to start during rolling cluster restarts
- The cache was not effective for reconnecting clients in the Auth Backend Cache Plugin
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 the
stream.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_connectionsconfiguration 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