release-notes/4.0.6.md
RabbitMQ 4.0.6 is a maintenance release in the 4.0.x release series.
Starting June 1st, 2024, community support for this series will only be provided to regularly contributing users and those who hold a valid commercial support license.
It is strongly recommended that you read 4.0 release notes
in detail if upgrading from a version prior to 4.0.0.
This release requires Erlang 26 and supports Erlang versions up to 27.2.x.
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.
When a quorum queue leader has changed, followers were not always notified of unapplied [for/by them] log commands.
GitHub issue: #13095
Default cluster formation timeout with Khepri now matches that of Mnesia (5 minutes by default).
Discovered and reported by @evolvedlight.
GitHub issue: #13195
When stream consumer was cancelled, an internal event was not emitted.
Stream consumer metrics were not cleared when its respective connection was closed.
GitHub issue: #13086
Quorum queues could return a list of members (replicas) with duplicates in some cases.
GitHub issue: #13168
Classic queues with priorities could run into an exception.
GitHub issue: #13088
Corrected a log message.
GitHub issue: #13155
A new mechanism for protecting a virtual host from deletion using metadata.
rabbitmqctl import_definitions hanged when definitions were provided via the standard input
instead of a file.
GitHub issue: #13157
rabbitmqadmin v2 has matured enough to recommend
it over the original version of the tool
rabbitmq-diagnostics CLI documentation was improved to clarify that all certificates
discovered will be checked for expiration.
GitHub issue: #13038
New health checks for metadata store initialization:
rabbitmq-diagnostics check_if_metadata_store_is_initializedrabbitmq-diagnostics check_if_metadata_store_is_initialized_with_dataGitHub issue: #13169
Improved metric description.
GitHub issue: #13178
Pagination-related sections of the HTTP API reference were clarified to explain that the maximum page size cannot exceed 500.
GitHub issue: #13042
Empty channel_details objects are now serialized as empty objects and not empty arrays.
GitHub issue: #13091
New health checks for metadata store initialization:
/api/health/checks/metadata-store/initialized/api/health/checks/metadata-store/initialized/with-dataGitHub issue: #13169
The original HTTP API One True Health Check™ is now a no-op. A comparable "mega health check"
has long been deprecated in CLI tools and was made a no-op in 4.0.0.
This endpoint was using a deprecated feature: a classic non-exclusive transient (non-durable) queue.
See Health Checks for modern focused alternatives.
GitHub issue: #13047
cluster_formation.registration.enabled is a new configuration setting that allows the backend to skip registration.
This is useful when Consul is used for peer discovery but a different tool such as Nomad is used to keep track of the services and their registration, unregistration.
Contributed by @frederikbosch.
GitHub issue: #13201
Purging an non-existing queue now returns a 404 response.
GitHub issue: #13148
To obtain source code of the entire distribution, please download the archive named rabbitmq-server-4.0.6.tar.xz
instead of the source tarball produced by GitHub.