RabbitMQ `3.10.11` is a maintenance release in the `3.10.x` [release series](https://www.rabbitmq.com/versions.html).

Please refer to the upgrade section from [v3.10.0 release notes](https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.10.0)
if upgrading from a version prior to 3.10.0.

This release requires Erlang 24.2 and supports Erlang 25.
[RabbitMQ and Erlang/OTP Compatibility Matrix](https://www.rabbitmq.com/which-erlang.html) has more details on
Erlang version requirements for RabbitMQ.


### Minimum Supported Erlang Version

Erlang 23 support has reached its [end of support](https://www.rabbitmq.com/which-erlang.html).

This release of RabbitMQ requires Erlang 24.2 or later versions. Nodes **will fail to start** on older Erlang releases.

Erlang 25 is recommended: it offers much improved performance on ARM64 architectures, [profiling with flame graphs](https://blog.rabbitmq.com/posts/2022/05/flame-graphs/)
across all architectures, and the most recent TLS 1.3 implementation.


## Changes Worth Mentioning

Release notes can be found on GitHub at [rabbitmq-server/release-notes](https://github.com/rabbitmq/rabbitmq-server/tree/v3.10.x/release-notes).

### Core Server

#### Bug Fixes

 * Stream unsubscription leaked metric counters.

   GitHub issue: [#6325](https://github.com/rabbitmq/rabbitmq-server/pull/6325)

#### Enhancements

 * Quorum queue replicas no longer try to contact their unreachable peers for metrics.
   Previously this could result in a 30-40s delay for certain HTTP API requests that list queue metrics
   if one or more cluster members were down or stopped.

   GitHub issues: [#6282](https://github.com/rabbitmq/rabbitmq-server/pull/6282), [#6285](https://github.com/rabbitmq/rabbitmq-server/pull/6285)


### CLI Tools

#### Bug Fixes

  * `rabbitmq-diagnostics status` now handles server responses where free disk space
    is not yet computed. This is the case with nodes early in the boot process.

    GitHub issue: [#6303](https://github.com/rabbitmq/rabbitmq-server/pull/6303)

  * When a plugin was enabled as a dependency (e.g. `rabbitmq_shovel` as a dependency of `rabbitmq_shovel_management`),
    CLI tools previously did not discover commands in such plugins. Only explicitly enabled or [pre-configured]()
    plugins were scanned for commands.

    This behavior was confusing. Now all enabled (explicitly or as a dependency) plugins are scanned.

    Contributed by @SimonUnge (AWS).

    GitHub issue: [#6020](https://github.com/rabbitmq/rabbitmq-server/issues/6020)


### Stream Plugin

#### Bug Fixes

  * Addition of a stream member could fail if the node being added was very early in its boot process
    (and doesn't have a certain stream-related components started).

    GitHub issue: [#6182](https://github.com/rabbitmq/rabbitmq-server/pull/6182)


### AMQP 1.0 Plugin

#### Enhancements

  * Support for "modified" disposition outcome used by some client libraries (such as QPid).

    GitHub issue: [#6243](https://github.com/rabbitmq/rabbitmq-server/pull/6243)


### Management Plugin

#### Bug Fixes

  * Management UI links now include "noopener" and "noreferrer" attributes to protect
    them against [reverse tabnabbing](https://owasp.org/www-community/attacks/Reverse_Tabnabbing).
    Note that since management UI only includes a small number of external links to trusted resources,
    reverse tabnabbing is unlikely to affect most users. However, it can show up in security scanner results
    and become an issue in environments where a modified version of RabbitMQ is offered as a service.

    Contributed by @illotum (AWS).

    GitHub issue: [#6211](https://github.com/rabbitmq/rabbitmq-server/pull/6211)

### Shovel Plugin

#### Bug Fixes

  * Plugin could stop in environments where no static Shovels were defined and a specific
    sequence of events happens at the same time.

    Contributed by @gomoripeti.

    GitHub issue: [#6286](https://github.com/rabbitmq/rabbitmq-server/pull/6286)

### Windows Installer

#### Bug Fixes

 * When installation directory was overridden, the plugins directory did not respect the
   updated base installation path.

   GitHub issue: [rabbitmq/rabbitmq-packaging#29](https://github.com/rabbitmq/rabbitmq-packaging/pull/29)

## Dependency Upgrades

 * `ra` was upgraded [from `2.3.0` to `2.4.1`](https://github.com/rabbitmq/ra/releases)
 * `osiris` was upgraded [from `1.3.1` to `1.3.3`](https://github.com/rabbitmq/osiris/tags)
 * `seshat` was upgraded [from `0.3.2` to `0.4.0`](https://github.com/rabbitmq/seshat/tags)
 * `credentials_obfuscation` was upgraded [from `3.0.0` to `3.2.0`](https://github.com/rabbitmq/credentials-obfuscation/releases)


## Source Code Archives

To obtain source code of the entire distribution, please download the archive named `rabbitmq-server-3.10.11.tar.xz`
instead of the source tarball produced by GitHub.
