2023-06-20 14:48:28 +08:00
RabbitMQ `3.11.19` is a maintenance release in the `3.11.x` [release series ](https://www.rabbitmq.com/versions.html ).
Please refer to the upgrade section from [v3.11.0 release notes ](https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.11.0 )
if upgrading from a version prior to 3.11.0.
This release requires Erlang 25 and supports Erlang versions up to `25.3.x` .
[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
As of 3.11.0, RabbitMQ requires Erlang 25. Nodes **will fail to start** on older Erlang releases.
Erlang 25 as our new baseline means 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 available to all RabbitMQ 3.11 users.
## Changes Worth Mentioning
Release notes can be found on GitHub at [rabbitmq-server/release-notes ](https://github.com/rabbitmq/rabbitmq-server/tree/v3.11.x/release-notes ).
### Core Server
#### Bug Fixes
2023-06-21 03:48:16 +08:00
* Declaration of a classic queue could run into an exception.
GitHub issue: [#8629 ](https://github.com/rabbitmq/rabbitmq-server/pull/8629 )
2023-06-20 14:48:28 +08:00
* Nodes that had a large number of quorum queues could observe accumulation of Erlang processes
under significant load. A follow-up change to [#7389 ](https://github.com/rabbitmq/rabbitmq-server/issues/7389 ).
GitHub issue: [#8591 ](https://github.com/rabbitmq/rabbitmq-server/pull/8591 )
* Feature flag discovery operations will now be retried multiple times in case of network failures.
GitHub issue: [#8491 ](https://github.com/rabbitmq/rabbitmq-server/pull/8491 )
* Feature flag discovery on a newly added node could discover an incomplete inventory of feature flags.
GitHub issue: [#8487 ](https://github.com/rabbitmq/rabbitmq-server/pull/8487 )
* Nodes in clusters that had quorum queues and non-mirrored classic queues on stopped (or failed) nodes
could run into an exception.
The same exception could affect `rabbitmqctl list_queues` .
GitHub issue: [#8596 ](https://github.com/rabbitmq/rabbitmq-server/pull/8596 )
2023-06-24 04:26:43 +08:00
* Proxy Protocol v2 LOCAL packets were not supported.
GitHub issue: [#8668 ](https://github.com/rabbitmq/rabbitmq-server/pull/8668 )
2023-06-21 03:48:16 +08:00
#### Enhancements
* When a quorum queue does not find its local replica data files on boot, it will now log
a warning.
GitHub issue: [#8630 ](https://github.com/rabbitmq/rabbitmq-server/pull/8630 )
2023-06-20 14:48:28 +08:00
### Management Plugin
#### Bug Fixes
* An attempt to clear limits of a non-existent virtual host failed with a 500 status code.
GitHub issue: [#8523 ](https://github.com/rabbitmq/rabbitmq-server/pull/8523 )
#### Enhacements
* Management UI will now display node maintenance status.
Contributed by @SimonUnge (AWS).
GitHub issue: [#8558 ](https://github.com/rabbitmq/rabbitmq-server/issues/8558 )
* The "Queues" tab in the UI was renamed to "Queue and Streams" to better reflect
its contents.
GitHub issue: [#8520 ](https://github.com/rabbitmq/rabbitmq-server/pull/8520 )
* New HTTP API endpoints for quorum queue replica management, equivalent to
the `rabbitmq-queues` commands that manage replicas.
```
POST /api/queues/quorum/{vhost}/{name}/replicas/add
DELETE /api/queues/quorum/{vhost}/{name}/replicas/remove
2023-06-26 18:07:43 +08:00
POST /api/queues/quorum/replicas/on/{node}/grow
DELETE /api/queues/quorum/replicas/on/{node}/shrink
2023-06-20 14:48:28 +08:00
```
GitHub issue: [#8561 ](https://github.com/rabbitmq/rabbitmq-server/pull/8561 )
### Stream Plugin
#### Bug Fixes
* Stream client connections that authenticated using x.509 certificates
failed.
GitHub issue: [#8488 ](https://github.com/rabbitmq/rabbitmq-server/pull/8488 )
### OAuth 2 Plugin
#### Bug Fixes
* Only set OAuth 2 client's CA certificate file setting when it is defined.
GitHub issue: [#8548 ](https://github.com/rabbitmq/rabbitmq-server/pull/8548 )
#### Enhancements
* The plugin will now accept JWT tokens without a `scope` . Such tokens would only be useful when the plugin
is used exclusively for authentication and not authorization.
GitHub issue: [#8391 ](https://github.com/rabbitmq/rabbitmq-server/issues/8391 )
* `oauth2` is now an accepted alias for the OAuth 2 authentication and authorization backend:
```
auth_backends.1 = oauth2
```
Previously the only option for OAuth 2 was using a full module name,
`rabbit_auth_backend_oauth2` .
GitHub issue: [#8513 ](https://github.com/rabbitmq/rabbitmq-server/pull/8513 )
### STOMP Plugin
#### Bug Fixes
* STOMP plugin log entries had an extra line feed character.
GitHub issue: [#2568 ](https://github.com/rabbitmq/rabbitmq-server/issues/2568 )
## Dependency Upgrades
2023-06-21 04:01:37 +08:00
* `ra` was upgraded to [`2.6.2` ](https://github.com/rabbitmq/ra/releases )
* `osiris` was upgraded [from `1.5.1` to `1.6.0` ](https://github.com/rabbitmq/osiris/tags )
2023-06-20 14:48:28 +08:00
## Source Code Archives
To obtain source code of the entire distribution, please download the archive named `rabbitmq-server-3.11.19.tar.xz`
instead of the source tarball produced by GitHub.