rabbitmq-server/release-notes/3.11.5.md

6.2 KiB

RabbitMQ 3.11.5 is a maintenance release in the 3.11.x release series.

Please refer to the upgrade section from v3.11.0 release notes if upgrading from a version prior to 3.11.0.

This release requires Erlang 25. RabbitMQ and Erlang/OTP Compatibility Matrix 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 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.

Core Server

Enhancements

  • Backported a number of improvements for non-ASCII character handling in paths on Windows.

    GitHub issue: #5551

  • Backported a number of free disk space monitor resiliency improvements.

    GitHub issue: #5831

  • If handle.exe is not available, free disk space monitor will now shell out to PowerShell to retrieve the number of open file handles used by the node.

    GitHub issue: #6613

  • raft.adaptive_failure_detector.poll_interval exposes aten's poll_interval setting to RabbitMQ users. Increasing it can reduce the probability of false positives in clusters where inter-node communication links are used at close to maximum capacity. The default is 5000 (5 seconds).

    GitHub issue: #6632

  • When both disk_free_limit.relative and disk_free_limit.absolute, or both vm_memory_high_watermark.relative and vm_memory_high_watermark.absolute are set, the absolute settings will now take precedence.

    Contributed by @SimonUnge (AWS).

    GitHub issue: #4980

  • Closing channels will now log a warning if they had any messages pending a confirmation from the server.

    Contributed by @Kiruamvp.

    GitHub issue: #1399

  • New quorum queue option for in-memory table (MemTable) compression.

    GitHub issue: #6590

  • Default queue type (a virtual host setting) is now applied when importing definitions into a single virtual host.

    GitHub issue: #6599

Bug Fixes

CLI Tools

Bug Fixes

  • rabbitmq-queues grow and rabbitmq-queues shrink misformatted the errors they could encounter.

    Contributed by @gomoripeti (CloudAMQP).

    GitHub issue: #6601

Enhancements

  • Implicit help command (when CLI tools were invoked without a command name) now respects all global flags (such as --node). For example, previously the --node flag in

    rabbitmqctl --node rabbit@ns1.rabbitmq.cluster.local
    

    was ignored but now CLI tools would discover what plugins are enabled on node rabbit@ns1.rabbitmq.cluster.local and include them into help output.

    GitHub issue: #6598

  • New key supported by rabbitmqctl list_queues: effective_policy_definition that returns merged definitions of regular and operator policies effective for the queue.

    GitHub issue: #6556

Management Plugin

Enhancements

  • It is now possible to omit explicitly specifying queue type when declaring a queue (or stream) in the management UI, and rely on the default queue type configured for the selected virtual host.

    GitHub issue: #6600

  • New HTTP API endpoint, GET /api/config/effective, returns effective node configuration. This is an HTTP API counterpart of rabbitmq-diagnostics environment.

    Contributed by @SimonUnge (AWS).

    GitHub issue: #6016

Shovel Plugin

Enhancements

  • Flow control state for Shovels is now reported with higher fidelity (of 1 second vs. several seconds previously). This means it should be easier to spot Shovels that run into flow control using management UI.

    Contributed by @gomoripeti (CloudAMQP).

    GitHub issue: #6615

Sharding Plugin

Bug Fixes

  • Plugin could fail to boot and halt node boot due to incorrect boot step metadata.

    GitHub issue: #6583

Dependency Upgrades

Source Code Archives

To obtain source code of the entire distribution, please download the archive named rabbitmq-server-3.11.5.tar.xz instead of the source tarball produced by GitHub.