release-notes/3.12.11.md
RabbitMQ 3.12.11 is a maintenance release in the 3.12.x release series.
Please refer to the upgrade section from the 3.12.0 release notes if upgrading from a version prior to 3.12.0.
This release requires Erlang 25 and supports Erlang versions up to 26.1.x.
RabbitMQ and Erlang/OTP Compatibility Matrix 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 v3.12.0 release notes first.
Release notes can be found on GitHub at rabbitmq-server/release-notes.
Quorum queue declared when one of cluster nodes was down could trigger connection exceptions.
GitHub issue: #10007
Avoids a rare exception that could stop TCP socket writes on a client connection.
queue_deleted and queue_created internal events now include queue type as a module name,
and not an inconsistent (with the other queue and stream types) value classic.
GitHub issue: #10142
Definition files that are virtual host-specific cannot be imported on boot. Such files will now be detected early and the import process will terminate after logging a more informative message.
Previously the import process would run into an obscure exception.
Several AMQP 1.0 application properties are now more correctly converted to AMQP 0-9-1 headers by cross-protocol Shovels.
The priority property now populates an AMQP 1.0 header with the same name, per AMQP 1.0 spec.
This is a potentially breaking change.
Contributed by @luos (Erlang Solutions).
Metric label values now escape certain non-ASCII characters.
Contributed by @gomoripeti (CloudAMQP).
GitHub issue: #10196
Avoids an exception when an MQTT client that used a QoS 0 subscription reconnects and its original connection node is down.
GitHub issue: #10205
Avoids an exception when an MQTT client connection was force-closed via the HTTP API.
GitHub issue: #10140
Certain CLI commands could not be run in a shell script loop, unless the script explicitly redirected standard input.
GitHub issue: #10131
rabbitmq-diagnostics cluster_status now responds much quicker when a cluster node
has gone down, were shut down, or otherwise has become unreachable by the rest of the cluster.
GitHub issue: #10126
Reverted a change to DELETE /api/queues/{vhost}/{name} that allowed removal of
exclusive queues and introduced unexpected side effects.
GitHub issue: #10178
DELETE /api/policies/{vhost}/{policy} returned a 500 response instead of a 404 one
when target virtual host did not exist.
GitHub issue: #9983
Avoid log noise when an HTTP API request is issued against a booting or very freshly booted node.
Contributed by @gomoripeti (CloudAMQP).
GitHub issue: #10187
HTTP API endpoints that involves contacting multiple nodes now respond much quicker when a cluster node has gone down, were shut down, or otherwise has become unreachable by the rest of the cluster
GitHub issue: #10123
Definition exported for just one virtual host cannot be imported at node boot time. Now such files are detected early with a clear log message and immediate node boot process termination.
Type spec and test corrections.
Contributed by @illotum (AWS).
GitHub issue: #10134
osiris was updated to 1.7.2To obtain source code of the entire distribution, please download the archive named rabbitmq-server-3.12.11.tar.xz
instead of the source tarball produced by GitHub.