release-notes/4.1.1.md
RabbitMQ 4.1.1 is a maintenance release in the 4.1.x release series.
It is strongly recommended that you read 4.1.0 release notes
in detail if upgrading from a version prior to 4.1.0.
RabbitMQ and Erlang/OTP Compatibility Matrix has more details on Erlang version requirements for RabbitMQ.
Nodes will fail to start on older Erlang releases.
Release notes can be found on GitHub at rabbitmq-server/release-notes.
Default queue type is now injected into virtual host metadata when the virtual host is created.
This seemingly subtle change elimiantes confusing inconsistencies between different definition export methods and scenarios.
GitHub issue: #13854
Empty classic queues init faster after a clean shutdown.
GitHub issue: #13870
Classic queue message store compaction could fall behind (not be able to keep up with) very busy publishers.
GitHub issue: #13987
Classic queue message store could run into a rare exception when a message was routed to multiple queues.
GitHub issue: #13758
Quorum queue commit map operation order was Erlang-version specific, potentially leading to confusing inconsistencies between replica behaviors.
GitHub issue: #14025
Quorum queue failed to recover from a rare timeout during cluster formation.
GitHub issue: #13828
RabbitMQ could fail to log certain client connection errors for TLS-enabled listeners.
GitHub issue: #13985
Private key password could appear in certain exceptions at (failed) node boot time.
When an MQTTv5 client that had a QoS 0 subscription is closed, the transient queue that was backing it will now be deleted.
GitHub issue: #14006
Stream producer could run into an exception (accept_chunk_out_of_order) when a publishing filter
was enabled.
GitHub issue: #13897
Stream SAC coordinator failed when a super stream consumer was added next to a SAC consumer.
GitHub issue: #13835
rabbitmq-queues force_checkpoint [--vhost-pattern <pattern>] [--queue-pattern <pattern>]
is a new command that forces a group of quorum queues to take a checkpoint and
delete its on disk segment files, where possible.
GitHub issue: #13938
A separate chain for authentication and authorization backends now can be used used exclusively for the HTTP API and the management UI.
GitHub issue: #13819
Reduced memory footprint of the plugin for certain workloads.
GitHub issue: #13900
When UI session expires, the user is redirected to the login page.
GitHub issue: #13975
GET /api/health/checks/below-node-connection-limit is a new health check
that responds a 200 OK if the target node has fewer connections to the AMQP
and AMQPS ports than the configured maximum.
GitHub issue: #13782
GET /api/health/checks/ready-to-serve-clients is a new health check
that responds a 200 OK if the target node is ready to serve clients
(booted, not above the connection limit, not in maintenance mode).
GitHub issue: #13782
Protocol listener health check now supports comma-separated lists of protocol names.
GitHub issue: #13874
New page for declaring super streams (partitioned streams).
GitHub issue: #13852
Select variables now can be used in scopes, for example: "rabbitmq.write:*/x-{vhost}-*/u-{sub}-*"
GitHub issue: #14008
Shovels could fail to convert messages published by an AMQP 0-9-1 client to AMQP 1.0 if the headers had a complex structure.
GitHub issue: #13801
To obtain source code of the entire distribution, please download the archive named rabbitmq-server-4.1.1.tar.xz
instead of the source tarball produced by GitHub.