RabbitMQ v3.8.9 Release Notes

Release Date: 2020-09-24 // over 3 years ago
  • RabbitMQ 3.8.9

    ๐Ÿš€ RabbitMQ 3.8.9 is a maintenance release.
    ๐Ÿ›  It focuses on bug fixes and usability improvements.

    ๐Ÿ‘ This release no longer supports Erlang 21.3.

    Erlang 23 Compatibility

    ๐Ÿš€ This release is compatible with Erlang 23.

    Erlang/OTP Compatibility Notes

    This release requires Erlang/OTP 22.0 or later.
    ๐Ÿš€ 22.3 or 23.0 releases are recommended.

    ๐Ÿš€ Provisioning Latest Erlang Releases explains
    ๐Ÿ“ฆ what package repositories and tools can be used to provision latest patch versions of Erlang 22.3.x.

    โฌ†๏ธ Upgrade and Compatibility Notes

    โฌ†๏ธ Upgrade Doc Guides and Change Log

    ๐Ÿš€ See 3.8.0 release notes upgrade and
    ๐Ÿš€ compatibility notes first if upgrading from an earlier release series (e.g. 3.7.x).

    ๐Ÿ“š See the Upgrading guide for general documentation on upgrades and
    ๐Ÿš€ RabbitMQ change log for release notes of other releases.

    โฌ†๏ธ Upgrading to Erlang 22.x or Later Versions

    ๐Ÿš€ When upgrading to this release from 3.7.15 or an older version, extra care has to be taken.

    ๐Ÿš€ Because older RabbitMQ CLI tools can be incompatible with Erlang 22+ releases,
    โฌ†๏ธ RabbitMQ must be upgraded at the same time as Erlang.

    โฌ†๏ธ Alternatively the node can be upgraded to 3.7.18 on Erlang 21.3 first,
    ๐Ÿš€ then Erlang 22.x or 23.x, then RabbitMQ to most recent 3.8.x release.

    Getting Help

    ๐Ÿš€ Any questions about this release, upgrades or RabbitMQ in general are welcome on the RabbitMQ mailing list.

    ๐Ÿ”„ Changes Worth Mentioning

    Core Server

    ๐Ÿ› Bug Fixes

    Starting with 3.8.0, an unintentionally introduced assertion could prevent classic mirrored queue
    mirrors from starting successfully in case the primary replica changed concurrently with their startup.

    GitHub issue: rabbitmq/rabbitmq-server#2449

    โœจ Enhancements

    0๏ธโƒฃ Raft implementation's failure detector default polling interval has been increased from 1s to 5s.
    0๏ธโƒฃ The previously used default results in too frequent leader elections in networks with high packet loss
    (say, double digit percent).

    โœ… This has no correctness or safety ramifications, however, automated tests that assert on Raft properties
    or expect a very fast leader re-election may have to set it back so that peer failures are detected quicker.

    GitHub issue: rabbitmq/rabbitmq-server#2450

    ๐Ÿ”Œ Management Plugin

    ๐Ÿ› Bug Fixes

    ๐Ÿ—„ The now deprecated intrusive health check endpoint, GET /api/healthchecks/node, reported failures in the response
    but always set the status to 200 OK. It now uses the status of 500 in case of a failure.

    RabbitMQ Monitoring guide explains why
    this health check is no longer recommended and what the alternatives are.

    GitHub issue: rabbitmq/rabbitmq-management#840

    โœจ Enhancements

    ๐Ÿ”Œ When a client doubly encodes a request into JSON, the plugin tries to detect that and will produce a more
    helpful 400 response instead of a 500.

    GitHub issue: rabbitmq/rabbitmq-management#839

    ๐Ÿ”Œ Federation Plugin

    ๐Ÿ› Bug Fixes

    When a classic mirrored queue with a replica on every cluster node (this is highly discouraged) was federated,
    ๐Ÿ”Œ multiple links could be started by the plugin, potentially making message transfers concurrent
    and affecting ordering.

    GitHub issue: rabbitmq/rabbitmq-federation#114

    โœจ Enhancements

    It is now possible to federate exchanges in different virtual hosts in the same cluster for more than one hop.
    For example, federate messages from an exchange in virtual host B to C, while B itself is federated from
    virtual host A. Previously such messages would have been filtered by the message cycle detection algorithm
    which assumed that exchanges are only federated across clusters.

    GitHub issue: rabbitmq/rabbitmq-federation#116

    ๐Ÿ”Œ Kubernetes Peer Discovery Plugin

    ๐Ÿ› Bug Fixes

    ๐Ÿ”Œ Kubernetes API events registered by this plugin mixed up reason and message fields.

    Contributed by Gabriele Santomaggio.

    GitHub issue: rabbitmq/rabbitmq-peer-discovery-k8s#70

    ๐Ÿ”Œ OAuth 2 AuthN/AuthZ Plugin

    โœจ Enhancements

    ๐Ÿ‘Œ Improved compatibility with Azure AD. This plugin can now be configured to fetch scopes from a non-standard
    field in the decoded token value (other than the standard scopes field).

    Contributed by @Robert-Gustafsson.

    GitHub issue: rabbitmq/rabbitmq-auth-backend-oauth2#53

    Source code archives

    โš  Warning : The source code archive provided by GitHub only contains the source of the broker, not the plugins or the client libraries.
    Please download the archive named rabbitmq-server-3.8.9.tar.xz.