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

RabbitMQ `3.8.6` is a maintenance release. It focuses on bug fixes and usability improvements. Starting with this release, core RabbitMQ server and all are under the (previously used license: the Mozilla Public License 1.1). The permissiveness of the MPL 2.0 is largely the same as of the MPL 1.1. See the and to learn more. This release is with . This release or later. `22.3` or `23.0` releases are recommended. explains what package repositories and tools can be used to provision latest patch versions of Erlang `22.3.x`. This release removed HiPE precompilation support. HiPE has been deprecated and mostly unmaintained since Erlang 22, and will be replaced with a JIT in 2021. ``` shell rabbitmqctl hipe_compile ``` and ``` ini hipe_compile = true ``` are both retained for backwards compatibility but they won't have any effect. See upgrade and compatibility notes first if upgrading from an earlier release. See the for general documentation on upgrades and for release notes of other releases. When upgrading to this release from `3.7.6` or an older version, extra care has to be taken. Since CLI tools from RabbitMQ releases older than 3.7.7 will fail on Erlang 21 or later, RabbitMQ must be upgraded at the same time as Erlang. Alternatively the node can be upgraded to `3.7.18` first, then Erlang 22.x or 23.x, then RabbitMQ to most recent 3.8.x release. Any questions about this release, upgrades or RabbitMQ in general are welcome on the . RabbitMQ has been under the (previously used license: the Mozilla Public License 1.1). The permissiveness of the MPL 2.0 is largely the same as of the MPL 1.1. See the and to learn more. Removed HiPE pre-compilation support. GitHub issue: Definition import on node boot (via the built-in `load_definitions` configuration setting*) is now performed after plugins are enabled. This resolves a long-standing chicken-and-egg dependency problem that prevented definitions that depend on plugins being functional from being successfully imported during node boot. Note that definition import via the management plugin (`management.load_definitions`) is still performed during management plugin activation time and therefore can not offer any guarantees as some plugins may be enabled after the management one. Some affected features include * exchanges of types provided by plugins such as GitHub issue: Similarly, client connection listeners (both TCP and TLS-enabled) are now started after plugin activation. This makes certain configurations that use the trust store plugin behave as expected. GitHub issue: Environment variables prefixed with `RABBITMQ_` were ignored when used in the , while their prefixless counterparts worked as expected. GitHub issue: `rabbitmq.conf` config parser now accepts lines that only consist of whitespace. GitHub issue: `rabbitmqctl hipe_compile` is now a no-op. HiPE support has been deprecated in Erlang 22 . GitHub issue: The use of the `` environment variable to configure the is now

Use the option instead or, if the value absolutely must be provided on the command line, the `--erlang-cookie [value]` switch. GitHub issue: `rabbitmqctl export_definitions` incorrectly serialised runtime parameter values. GitHub issue: `CTLERLARGS` environment variable was unintentionally ignored starting with version `3.8.4`. GitHub issue: `[command] --help` and `help [command]` output had minor unintentional inconsistencies. GitHub issue: `rabbitmq-queues checkifnodeisquorumcritical` and `rabbitmq-queues checkifnodeismirrorsync_critical` checks have been adjusted. They now special case single node clusters as the check does not make much sense in those environments. `rabbitmq-queues checkifnodeismirrorsynccritical` now also excludes exclusive queues from consideration as they, even if matched by a policy that enables classic queue mirroring, would not actually be mirrored. GitHub issue: `rabbitmq-diagnostics status` now includes the total amount of memory used by the node in its regular output. It was previously only available when `--formatter=json` switch was used. GitHub issue: `rabbitmq-diagnostics erlangcookiesources` is a new command that helps with troubleshooting CLI tool authentication to nodes by listing relevant environment information about the . The actual secret is not displayed for obvious security reasons. GitHub issue: `rabbitmqct eval_file` is a new command that evaluates Erlang code expressions from a local file on the target node: ``` shell rabbitmqctl evalfile /path/to/codesnippet.escript ``` GitHub issue: `rabbitmqct eval` now accepts code snippets from standard input: ``` shell rabbitmqctl eval <<EOF io:format("~p~n", [ rabbit:product_info() ]). ``` ``` shell rabbitmqctl eval < code_snippet.escript ``` GitHub issue: `rabbitmq-diagnostics resolve_hostname` is a new command that resolves a hostname either locally or on the node, and returns the resolved IPv4 or IPv6 addresses. The command can help quickly detect hostname resolution irregularities on a node, including the effects of settings. Hostname resolution issues can cause CLI tools, cluster formation and peer reconnection to not work as expected. Some examples: ``` shell rabbitmq-diagnostics resolve_hostname "google.com" --address-family ipv4 rabbitmq-diagnostics resolve_hostname "google.com" --address-family ipv6 --offline ``` GitHub issue: All CLI tools now provide an `autocomplete [prefix]` command that lists command completion options. It is intended to be used to implement autocompletion of command names in shells. GitHub issue: The plugin could send the `authorization` header as `null` in some cases before a successful login. Contributed by @furkhat. GitHub issue: The UI now uses more human-friendly information units when displaying client network traffic rate values. Contribute by @seadog007. GitHub issue: In environments where `rabbitmqfederation.pgroupnameclusterid` is not set or set to `undefined`, links will treat such values as a `false` (the default) instead of failing with an exception. GitHub issue: The plugin could fail to accept new client connections with an exception in some cases. GitHub issue: Certain Web Socket errors are now handled more gracefully. GitHub issue: Certain Web Socket errors are now handled more gracefully. GitHub issue: Virtual host access checks failed in certain complex configurations. GitHub issue: `cuttlefish` was upgraded `credentials_obfuscation` was upgraded 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-server-3.8.6.tar.xz`.