Project: RabbitMQ (App Definition and Development / Streaming & Messaging)
File: 3.7.12.md

RabbitMQ `3.7.12` is a maintenance release. It focuses on bug fixes and minor usability improvements. This release or later. Per the new Erlang version support policy in effect starting with January 2019, this release . Make sure a is used before upgrading. explains what package repositories and tools can be used to provision latest patch versions of Erlang `20.3.x` and `21.x`. This release requires Erlang/OTP 20.3 or later. In earlier releases, when `rabbitmqctl shutdown` was used against a remote node, it would successfully shut down the node but won't actually wait for its termination because the pid file path reported by the remote node is not available locally. This is because `rabbitmqctl shutdown` was meant to be used as a `rabbitmqctl stop` alternative that doesn't require the caller to know the pid file path. Starting with this version, `rabbitmqctl shutdown` will refuse to run against a remote node by default. If the earlier behavior is desired and expected, it can be restored by passing `--no-wait`: ``` shell rabbitmqctl shutdown -n rabbit@hostname.different.from.local --longnames rabbitmqctl shutdown -n rabbit@hostname.different.from.local --longnames --no-wait ``` `inetdistlistenmin` and `inetdistlistenmax` were removed from new style configuration. They wouldn't have any effect due to how configuration translation is performed. Use `advanced.config` or the `RABBITMQDISTPORT` env variable to configure these settings: ``` erlang [ {kernel, [ {inetdistlisten_min, 33672}, {inetdistlisten_max, 33672} ]}, {rabbit, [ %% ... ]} ]. ``` Note that some runtime parameters, e.g. `net_ticktime`, can be set via new style configuration. This change is specific to the distirbution port settings. When upgrading to this release and upgrading Erlang to 21.x at the same time, extra care has to be taken. Since CLI tools from RabbitMQ releases older than 3.7.7 will fail on Erlang 21, RabbitMQ must be upgraded before Erlang. See upgrade and compatibility notes if upgrading from an earlier release. See the for general documentation on upgrades and for release notes of other releases. Any questions about this release, upgrades or RabbitMQ in general are welcome on the

When a node was configured to allow for unlimited frame size, an empty message published via HTTP API resulted in an infinite recursion loop in the parser. GitHub issue: `inet_dist_listen_min` and `inet_dist_listen_max` were removed from new style configuration*. They wouldn't have any effect due to how configuration translation is performed. Use `advanced.config` or the `RABBITMQDISTPORT` env variable to configure these settings: ``` erlang [ {kernel, [ {inetdistlisten_min, 33672}, {inetdistlisten_max, 33672} ]}, {rabbit, [ %% ... ]} ]. ``` Note that some runtime parameters, e.g. `net_ticktime`, can be set via new style configuration. This change is specific to the distirbution port settings. Contributed by . GitHub issue: `rabbitmqctl` and other CLI tools could fail when used with nodes using long node names. GitHub issue: `rabbitmqctl --help` now exits with exit code of 0. `rabbitmqctl` (no arguments) uses code 64 (`EX_USAGE`). GitHub issue: `rabbitmqctl shutdown` now requires the user to opt in and provide `--no-wait` to be used with remote nodes. There are no behavior changes when the command is invoked against a locally running node. See also the compatibility note to this release. GitHub issue: Large HTTP API request bodies (e.g. importing a large ) were not guaranteed to be fully consumed before parsing. GitHub issue: `managementdbcache_multiplier` configuration setting was ignored due to a typo. Contributed by . GitHub issue: When a retained message is published, its topic is now correctly translated to use MQTT topic separators (a slash) regardless of the internal representation. Contributed by . GitHub issue: When a client sent a duplicate `CONNECT` frame (tried to "reauthenticate"), connection failed . Now the frame is ignored (reauthentication is therefore still impossible) and a warning is logged but the connection is kept open. Kudos to Grigory Starinkin for confirming our original hypothesis and providing the steps to reproduce. GitHub issue: . Clearer and shorter log messages when a socket write fails. GitHub issue: The plugin now uses its own , which makes it possible to direct all LDAP logs to a separate file. Contributed by . GitHub issue: Configurating a Shovel with a valid AMQP 1.0 destination could fail with an exception. GitHub issue: 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.12.tar.gz`.