github rabbitmq/rabbitmq-server v4.0.6
RabbitMQ 4.0.6

13 hours ago

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.

Minimum Supported Erlang Version

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.

Changes Worth Mentioning

Release notes can be found on GitHub at rabbitmq-server/release-notes.

Core Broker

Bug Fixes

  • 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.

    GitHub issues: #13085, #9356, #13097

  • 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

Enhancements

CLI Tools

Bug Fixes

  • rabbitmqctl import_definitions hanged when definitions were provided via the standard input
    instead of a file.

    GitHub issue: #13157

Enhancements

  • 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:

    1. rabbitmq-diagnostics check_if_metadata_store_is_initialized
    2. rabbitmq-diagnostics check_if_metadata_store_is_initialized_with_data

    GitHub issue: #13169

Prometheus Plugin

Bug Fixes

  • Improved metric description.

    GitHub issue: #13178

Management Plugin

Bug Fixes

  • 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

Enhancements

  • New health checks for metadata store initialization:

    1. GET /api/health/checks/metadata-store/initialized
    2. GET /api/health/checks/metadata-store/initialized/with-data

    GitHub issue: #13169

Deprecations

  • 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

Consul Peer Discovery Plugin

Enhancements

  • 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

Erlang AMQP 1.0 Client

Bug Fixes

  • Purging an non-existing queue now returns a 404 response.

    GitHub issue: #13148

Dependency Changes

  • ra was upgraded to 2.15.1
  • observer_cli was upgraded to 1.8.2

Source Code Archives

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.

Don't miss a new rabbitmq-server release

NewReleases is sending notifications on new releases.