release-notes/3.13.7.md
RabbitMQ 3.13.7 is a maintenance release in the 3.13.x release series.
This upgrade is highly recommended to all users currently on earlier 3.13.x series and
in particular between 3.13.3 and 3.13.5, inclusive.
Starting June 1st, 2024, community support for this series will only be provided to regularly contributing users and those who hold a valid commercial support license.
Please refer to the upgrade section from the 3.13.0 release notes if upgrading from a version prior to 3.13.0.
This release requires Erlang 26 and supports Erlang versions up to 26.2.x.
RabbitMQ and Erlang/OTP Compatibility Matrix has more details on
Erlang version requirements for RabbitMQ.
As of 3.13.0, RabbitMQ requires Erlang 26. Nodes will fail to start on older Erlang releases.
Users upgrading from 3.12.x (or older releases) on Erlang 25 to 3.13.x on Erlang 26 (both RabbitMQ and Erlang are upgraded at the same time) must consult the v3.12.0 release notes and v3.13.0 release notes first.
Release notes can be found on GitHub at rabbitmq-server/release-notes.
Streams recover better from certain node process failures that may leave behind orphaned segment files (that is, segment files that do not have a corresponding index file) or index files without a corresponding segment file.
Kudos to @sysupbda for providing detailed reproduction steps and verifying the fix in the affected environment.
GitHub issue: #12073
Config file peer discovery now logs warnings for certain common user mistakes.
Queue declaration operations now return more useful errors when Khepri is enabled and there's only a minority of nodes online.
Logging is now more defensive around exception handling. Previously a (very rare) logger exception could
lead to the amq.rabbitmq.log handler and exchange to be removed.
Contributed by @gomoripeti.
GitHub issue: #12107
rabbitmq-upgrade revive unintentionally tried to perform operations on replicas that are not local to the node.
This could result in an exceptions some of which were not handled and the command failed.
Re-running the command usually helped.
GitHub issue: #12038
Enabling an experimental feature flag now involves an explicit confirmation.
GitHub issue: #12059
Khepri projections are registered in a safer manner during node boot.
GitHub issue: #11837
Clients that use JWT tokens are now disconnected when their token expires. Previously all newly attempted operations with an expired token would be rejected but a completely passive connection was not closed.
GitHub issue: #11869
Connection that provide incorrect credentials now closed with a delay, just like for several other protocols supported by RabbitMQ, as a throttling mechanism.
GitHub issue: #11906
When the Khepri feature flag is not enabled, rabbitmq-diagnostics metadata_store_status will not try to retrieve
and display its status.
GitHub issue: #12103
rabbitmq-upgrade await_quorum_plus_one now produces more log messages when the operation times out.
When Khepri is enabled, it now also treats Khepri as a critical Raft-based component that may depend on replica quorum
just like queues and streams do.
GitHub issue: #12117
When no virtual host limits are set, the limits collection was returned as a JSON array (and not a JSON object)
by GET /api/vhost-limits.
GitHub issue: #12084
GET /api/queues/quorum/{vhost}/{name}/status is a new endpoint that allows clients to retrieve several key quorum queue
replica and Raft metrics.
Contributed by @SimonUnge.
GitHub issue: #12072
GET /api/shovels/{vhost}/{name} now correctly returns a single shovel instead of all shovels in the target
virtual host.
GitHub issue: #12040
For an exchange declared with a hash-header, publishing failed with an exception when the client (usually unintentionally)
did not set that header.
GitHub issue: #11808
1.8.33.4.0observer_cli was upgraded to 1.7.5To obtain source code of the entire distribution, please download the archive named rabbitmq-server-3.13.7.tar.xz
instead of the source tarball produced by GitHub.