2022-10-12 19:30:02 +08:00
RabbitMQ `3.11.1` 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.
[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
2022-10-19 14:21:37 +08:00
As of 3.11.0, RabbitMQ requires Erlang 25. Nodes **will fail to start** on older Erlang releases.
2022-10-12 19:30:02 +08:00
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
* A rolling upgrade on Kubernetes could hang.
GitHub issue: [#6034 ](https://github.com/rabbitmq/rabbitmq-server/issues/6034 )
* In mixed 3.11/3.10 clusters, channels that performed operations on classic queues could
run into an exception.
GitHub issue: [#5931 ](https://github.com/rabbitmq/rabbitmq-server/issues/5931 )
* A quorum queue consumer was cancelled and immediately re-registered while some
deliveries were in flight could result in a channel exception.
GitHub issue: [#5927 ](https://github.com/rabbitmq/rabbitmq-server/issues/5927 )
* More strings from external sources are converted to Unicode-aware representation
internally, in log messages, CLI tools output and UI, and so on.
GitHub issues: [#5551 ](https://github.com/rabbitmq/rabbitmq-server/pull/5551 )
* During plugin activation on a running node, plugins with dependencies were added to runtime code path
in an order that could break if a plugin had hard transitive dependencies (that must be loaded first).
Contributed by @gomoripeti .
GitHub issue: [#6019 ](https://github.com/rabbitmq/rabbitmq-server/pull/6019 )
#### Enhancements
* Support for paths with non-ASCII (Unicode) characters in paths.
* `rabbitmq-diagnostics observer` now includes a new tab that provides access to internal classic queue
metrics.
GitHub issue: [#6074 ](https://github.com/rabbitmq/rabbitmq-server/pull/6074 )
### Stream Plugin
#### Bug Fixes
* Replicas of a stream that had a Single Active Consumer on it could run into an exception.
GitHub issue: [#5889 ](https://github.com/rabbitmq/rabbitmq-server/issues/5889 )
* Stream protocol implementation used incorrect keys in `RouteResponse` and `PartitionResponse` frames.
GitHub issue: [#5956 ](https://github.com/rabbitmq/rabbitmq-server/issues/5956 )
#### Enhancements
* When a superstream (partitioned stream) is added using CLI tools, its primary replica will now
be placed according to the `balanced` leader placement strategy. Previously it was using "node local"
which resulted in much less even superstream leader replica distribution across cluster nodes.
GitHub issue: [#5966 ](https://github.com/rabbitmq/rabbitmq-server/pull/5966 )
### AMQP 1.0 Plugin
#### Bug Fixes
* `rabbitmqctl list_amqp10_connections` were not listing connections correctly.
GitHub issue: [#4238 ](https://github.com/rabbitmq/rabbitmq-server/issues/4238 )
### Shovel Management Plugin
#### Bug Fixes
* Shovel management HTTP API endpoint could run into an exception.
Contributed by @gomoripeti .
GitHub issue: [#5892 ](https://github.com/rabbitmq/rabbitmq-server/pull/5892 )
## Dependency Upgrades
* `cuttlefish` upgraded to [`3.1.0` ](https://github.com/Kyorai/cuttlefish/releases )
## Source Code Archives
To obtain source code of the entire distribution, please download the archive named `rabbitmq-server-3.11.1.tar.xz`
instead of the source tarball produced by GitHub.