release-notes/4.3.1.md
RabbitMQ 4.3.1 is a maintenance release in the 4.3.x release series.
It is strongly recommended that you read 4.3.0 release notes
in detail if upgrading from a version prior to 4.3.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.
If a queue was bound to a topic exchange using an empty binding key (""),
messages published to any topic exchange with an empty
routing key would be incorrectly routed to that queue.
To apply the fix, enable the new topic_binding_projection_v5 feature flag after upgrading all cluster nodes.
GitHub issue: #16271
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, or read), not only configure.
Classic queue shared message store GC could fall behind other queue activity under heavy load
Classic queue message store: garbage collection is now stopped cleanly during node shutdown.
GitHub issue: #15498
Quorum queues now gracefully handle negative priority values.
GitHub issue: #16280
Quorum queues: delayed retry-related policy keys are now accepted in policy definitions.
Fixed a bug where quorum queue's at-least-once dead lettering could direct commands to the wrong member (replica).
GitHub issue: #16203
Quorum queues: reintroduced Raft WAL max entries default of 500K.
GitHub issue: #16382
A quorum queue could crash during recovery after an unclean shutdown
PR: rabbitmq/ra#629
Stream queue argument validation was improved.
GitHub issue: #16285
channel_max was renamed to max_channels in rabbitmq.conf. The original name is
still supported as an alias.
GitHub issue: #16347
connection_max was renamed to max_connections in rabbitmq.conf. The original name is
still supported as an alias.
GitHub issue: #16347
The per-node max_connections limit is now enforced for AMQP 1.0 connections as well as AMQP 0-9-1 ones.
GitHub issue: #16300
When a plain-text client connects to a TLS listener (or vice versa) for AMQP 0-9-1, MQTT, STOMP, and the Stream protocol, target node will log a more useful message.
The permission cache is now traversed less often during AMQP 1.0 management and AMQP 0-9-1 channel checks.
GitHub issue: #16274
Stream protocol: an open frame with empty properties is now handled correctly.
GitHub issue: #16341
It is now possible to cap the maximum number of concurrent Stream Protocol client
connections using the stream.max_connections configuration key in rabbitmq.conf.
GitHub issue: #16341
HTTP API GET /api/connections could return a 500 response when STOMP connections were present.
GitHub issue: #16435
It is now possible to cap the maximum number of concurrent HTTP API connections using the management.tcp.max_connections,
management.ssl.max_connections configuration keys in rabbitmq.conf.
GitHub issue: #16407
The peer (client) certificate serial number is now exposed in the management UI and select CLI commands.
GitHub issue: #16463
It is now possible to cap the maximum number of concurrent HTTP API connections using the prometheus.tcp.max_connections,
prometheus.ssl.max_connections configuration keys in rabbitmq.conf.
GitHub issue: #16407
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
It is now possible to cap the maximum number of concurrent MQTT client connections using the mqtt.max_connections
configuration key in rabbitmq.conf.
GitHub issue: #16367
New rabbitmq.conf configuration settings for TLS cipher suites: auth_ldap.ssl_options.ciphers.*.
GitHub issue: #16226
New rabbitmq.conf configuration settings for TLS cipher suites: auth_http.ssl_options.ciphers.*.
GitHub issue: #16226
A user-provided fail_if_no_peer_cert value in the plugin's TLS options is now respected. Previously,
an internal default could override the configured value.
GitHub issue: #16201
New rabbitmq.conf configuration settings for TLS cipher suites: trust_store.ssl_options.ciphers.*.
GitHub issue: #16226