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

RabbitMQ `3.12.5` is a maintenance release in the `3.12.x` . All users are encouraged to skip this version in favor of . Please refer to the upgrade section from the if upgrading from a version prior to 3.12.0. This release requires Erlang 25 and supports Erlang versions up to `26.1.x`. has more details on Erlang version requirements for RabbitMQ. As of 3.12.0, RabbitMQ requires Erlang 25. Nodes will fail to start on older Erlang releases. Users upgrading from 3.11.x (or older releases) on Erlang 25 to 3.12.x on Erlang 26 (both RabbitMQ and Erlang are upgraded at the same time) must consult the first. Release notes can be found on GitHub at . Quorum queue leader changes are now correctly observed in certain network failure scenarios. GitHub issues: , High consumer churn with reused consumer tag on quorum queues could result in some messages not being delivered after a period of time. This did not affect environments where consumer churn does not exist or where it does but consumer tags vary. GitHub issue: Three environment variables, `LOGBASE`, `MNESIABASE`, `CONFIG_FILE`, were not picked up when set in `rabbitmq-env-conf.bat` on Windows. Gi9158issue: Avoids a potential exception when autoheal partition handling process was initiated. GitHub issue: Avoids a potential exception in the credit flow subsystem. Contributed by @Ayanda-D. GitHub issue: Classic queues v2 (CQv2) that had priorities enabled were reporting their storage version incorrectly. Contributed by @gomoripeti (CloudAMQP). GitHub issue: Channels that had many thousands of consumers (usually due to a consumer leak in the application) now consume a lot less CPU resources when the channel is closed. As part of this optimization, individual `consumer.deleted` internal events are no longer emitted when a channel is closed, only a `channel.closed` event is. This also help reduce audit event log size, since those `consumer.deleted` events provided no useful information in this context. Contributed by @SimonUnge (AWS). GitHub issue: Initial forward compatibility with later Erlang 26.x and 27.0 releases. GitHub issue: Nodes now log boot time at info level instead of debug. This piece of information can be useful during root cause analysis. Contributed by @johanrhodin (CloudAMQP). GitHub issue: Channel interceptors (defined by plugins) now can return one more type of errors. Contributed by @Ayanda-D. GitHub issue: `rabbitmqctl delete_queue` now handles more queue replica failure scenarios (that were previously handled by client operations and the HTTP API but not CLI tools). Contributed by @Ayanda-D. GitHub issue: `rabbitmq-streams delete_replica` now handles scenarios where the replica is hosted on a node that is not accessiable (reachable). GitHub issue: If a socket write fails, close the connection quickly to avoid producing a lot of log noise. GitHub issue: Listing AMQP 1.0 connections in a system that had both AMQP 1.0 and AMQP 0-9-1 clients connected resulted in exceptions logged and partial results returned to CLI tools. GitHub issue: The plugin now exposes a new gauge, `rabbitmqunreachableclusterpeerscount`, that indicates how many cluster peers cannot be reached by this node. Contributed by @gomoripeti (CloudAMQP). GitHub issues: , `osiris` was upgraded to None in this release. To obtain source code of the entire distribution, please download the archive named `rabbitmq-server-3.12.5.tar.xz` instead of the source tarball produced by GitHub.