Project: RabbitMQ (App Definition and Development / Streaming & Messaging)
File: 3.8.9.md

RabbitMQ `3.8.9` is a maintenance release. It focuses on bug fixes and usability improvements. This release . This release is with . This release or later. `22.3` or `23.0` releases are recommended. explains what package repositories and tools can be used to provision latest patch versions of Erlang `22.3.x`. See upgrade and compatibility notes first if upgrading from an earlier release series (e.g. `3.7.x`). See the for general documentation on upgrades and for release notes of other releases. 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. Any questions about this release, upgrades or RabbitMQ in general are welcome on the . 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: Raft implementation's default polling interval has been increased from 1s to 5s. 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: 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. explains why this health check is no longer recommended and what the alternatives are. GitHub issue: 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: When a classic mirrored queue with a replica on every cluster node (this is ) was federated, multiple links could be started by the plugin, potentially making message transfers concurrent and affecting ordering. GitHub issue: 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: Kubernetes API events registered by this plugin mixed up reason and message fields. Contributed by Gabriele Santomaggio. GitHub issue: 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: 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`.