rabbitmq-server/release-notes/3.7.6.md

5.5 KiB

RabbitMQ 3.7.6

RabbitMQ 3.7.6 a maintenance release that primarily includes bug fixes.

Upgrades and Compatibility

This release includes one potential incompatibility with earlier 3.7.x releases. Only systems that use a high number (hundreds) of queue priorities are affected.

See 3.7.0 release notes upgrade and compatibility notes if upgrading from an earlier release.

See the Upgrading guide for general documentation on upgrades.

See RabbitMQ change log for release notes of other releases.

Changes

Core Server

Bug Fixes

  • Max priority cap for queues is now enforced and set to 255. Applications that rely on a higher number of priorities will break. Such applications must be updated to use no more than 255 priorities.

    GitHub issue: rabbitmq-server#1590

  • Bulk deletion of exclusive queues when their owning connection closes has been optimized.

    GitHub issues: rabbitmq/rabbitmq-server#1566, rabbitmq/rabbitmq-server#1513

Enhancements

  • On Erlang 20.2.3 or later, more optimal memory allocators will be used. On some workloads that leads to significant reduction in node's RAM consumption. The change is workload-specific, however, on the workloads tested that do introduce a negative effect (more RAM used) the difference was very small (about 1%).

    It is possible to go back to the previous settings, +MBas aoffcbf +MHas aoffcbf +MBlmbcs 5120 +MHlmbcs 5120 +MMmcs 10, by specifying them in the RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS environment variable.

    On Erlang/OTP releases older than 20.2.3 there will be no default changes.

    GitHub issue: rabbitmq/rabbitmq-server#1604

  • Logging to Syslog without 3rd party plugins.

    GitHub issue: rabbitmq-server#1600

  • connection.closed events now include client-provided connection name and more client details. That information is in turn available via the rabbitmq_event_exchange.

    GitHub issue: rabbitmq-server#1596

CLI Tools

Enhancements

  • await_online_nodes <count> [--timeout <timeout>] is a new command that will wait until the target node's cluster has at least <count> nodes. The command supports a timeout. It is meant to simplify cluster provisioning automation and can be used as the very first check performed after starting a node.

    Note that the command requires at least one node to be running and reachable.

    GitHub issue: rabbitmq-cli#235

  • rabbitmq-diagnostics ping [--node <target> --timeout <timeout>] is a new minimalistic health check command. It only verifies if the target node is up, registered with epmd and accepts/authenticates CLI tool connections. It fills the gap between rabbitmq-diagnostics node_health_check, which performs a lot of checks, take a lot more time and is fairly opinionated in what it does. ping is more suitable in environments where failing aliveness checks will result in node restarts, namely Kubernetes.

    GitHub issue: rabbitmq-cli#253

Management and Management Agent Plugins

Bug Fixes

  • Queue metrics could be missing after a node restart or plugin [re-]enablement.

    GitHub issue: rabbitmq/rabbitmq-management-agent#58

  • rabbitmqadmin now correctly percent-encodes spaces in connection names.

    GitHub issue: rabbitmq/rabbitmq-management#576

  • When creating a new vhost, user permissions will only be granted to the users that exist in the internal database. If an external authentication/authorisation service is used, the step is skipped.

    GitHub issue: rabbitmq-management#531

  • Virtual host imported from definitions or created via HTTP API will explicitly await for the vhost to initialise on all cluster nodes.

    GitHub issue: rabbitmq/rabbitmq-management#575

LDAP Plugin

Bug Fixes

  • LDAP connection pool now correctly purges connections in more failure scenarios (e.g. LDAP server restart)

    GitHub issue: rabbitmq-auth-backend-ldap#92

HTTP Authentication/authorisation Plugin

Enhancements

Source code archives

Warning: The source code archive provided by GitHub only contains the source of the broker, not the plugins or the client libraries. Please download the archive named rabbitmq-3.7.6.tar.gz.