RabbitMQ v3.8.6-rc.1 Release Notes

Release Date: 2020-07-28 // over 3 years ago
  • RabbitMQ 3.8.6-rc.1

    ๐Ÿš€ RabbitMQ 3.8.6-rc.1 is a preview of a maintenance release.
    ๐Ÿ›  It focuses on bug fixes and usability improvements.

    RabbitMQ Adopts the Mozilla Public License 2.0

    ๐Ÿš€ Starting with this release, core RabbitMQ server and all tier 1 plugins
    are relicensed under the Mozilla Public License 2.0
    (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 MPL 2.0 FAQ and
    ๐Ÿ™‹ MPL 2.0 Revision and Changes FAQ to learn more.

    Erlang 23 Compatibility

    ๐Ÿš€ This release is compatible with Erlang 23.

    Erlang/OTP Compatibility Notes

    This release requires Erlang/OTP 21.3 or later.
    ๐Ÿš€ 22.3 or 23.0 releases are recommended.

    ๐Ÿš€ Provisioning Latest Erlang Releases explains
    ๐Ÿ“ฆ what package repositories and tools can be used to provision latest patch versions of Erlang 22.3.x.

    โฌ†๏ธ Upgrade and Compatibility Notes

    ๐Ÿ—„ Deprecations

    ๐Ÿš€ This release removed HiPE precompilation support. HiPE has been deprecated and
    mostly unmaintained since Erlang 22, and will be replaced with a JIT in Erlang 24
    in 2021.

    rabbitmqctl hipe\_compile
    

    and

    hipe\_compile = true
    

    are both retained for backwards compatibility but they won't have any effect.

    โฌ†๏ธ Upgrade Doc Guides and Change Log

    ๐Ÿš€ See 3.8.0 release notes upgrade and
    ๐Ÿš€ compatibility notes first if upgrading from an earlier release.

    ๐Ÿ“š See the Upgrading guide for general documentation on upgrades and
    ๐Ÿš€ RabbitMQ change log for release notes of other releases.

    โฌ†๏ธ Upgrading to Erlang 21.x or Later Versions

    ๐Ÿš€ 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.

    Getting Help

    ๐Ÿš€ Any questions about this release, upgrades or RabbitMQ in general are welcome on the RabbitMQ mailing list.

    ๐Ÿ”„ Changes Worth Mentioning

    Core Server

    License Change

    RabbitMQ has been relicensed under the Mozilla Public License 2.0
    (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 MPL 2.0 FAQ and
    ๐Ÿ™‹ MPL 2.0 Revision and Changes FAQ to learn more.

    ๐Ÿ—„ Deprecations

    โœ‚ Removed HiPE pre-compilation support.

    GitHub issue: rabbitmq/rabbitmq-server#2392

    ๐Ÿ› Bug Fixes

    ๐Ÿ”ง Definition import on node boot (via 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.

    Some affected features include

    GitHub issue: rabbitmq/rabbitmq-server#2384

    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: rabbitmq/rabbitmq-server#2405

    ๐Ÿ›  Environment variables prefixed with RABBITMQ_ were ignored when used in the rabbitmq-env.conf file,
    while their prefixless counterparts worked as expected.

    GitHub issue: rabbitmq/rabbitmq-common#401

    โœจ Enhancements

    ๐Ÿ“œ rabbitmq.conf config parser now accepts lines that only consist of whitespace.

    GitHub issue: rabbitmq/rabbitmq-server#2393

    CLI Tools

    ๐Ÿ—„ Deprecations

    ๐Ÿ—„ rabbitmqctl hipe_compile is now a no-op. HiPE support has been deprecated in Erlang 22
    ๐Ÿšš will be removed in Erlang 24.

    GitHub issue: rabbitmq/rabbitmq-cli#433

    ๐Ÿ”ง The use of the `environment variable to configure the [shared secret](https://www.rabbitmq.com/cli.html#erlang-cookie) is now deprecated. ๐Ÿ‘‰ Use the [local file](https://www.rabbitmq.com/cli.html#cookie-file-locations) option instead or, if the value absolutely must be provided on the command line, the--erlang-cookie [value]` switch.

    GitHub issue: rabbitmq/rabbitmq-cli#443

    ๐Ÿ› Bug Fixes

    rabbitmqctl export_definitions incorrectly serialised runtime parameter values.

    GitHub issue: rabbitmq/rabbitmq-cli#435

    CTL_ERL_ARGS environment variable was unintentionally ignored starting with version 3.8.4.

    GitHub issue: rabbitmq/rabbitmq-server#2394

    [command] --help and help [command] output had minor unintentional inconsistencies.

    GitHub issue: rabbitmq/rabbitmq-cli#437

    โœจ Enhancements

    rabbitmq-queues check_if_node_is_quorum_critical and rabbitmq-queues check_if_node_is_mirror_sync_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 check_if_node_is_mirror_sync_critical 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/rabbitmq-cli#432

    rabbitmq-diagnostics erlang_cookie_sources is a new command that helps with troubleshooting
    CLI tool authentication to nodes by listing relevant environment information about the
    shared secret. The actual secret
    is not displayed for obvious security reasons.

    GitHub issue: rabbitmq/rabbitmq-cli#446

    rabbitmqct eval_file is a new command that evaluates Erlang code expressions from a local file
    on the target node:

    rabbitmqctl eval\_file /path/to/code\_snippet.escript
    

    GitHub issue: rabbitmq/rabbitmq-cli#438

    rabbitmqct eval now accepts code snippets from standard input:

    rabbitmqctl eval \<\<EOF io:format("~p~n", [rabbit:product\_info()]).
    
    rabbitmqctl eval \< code\_snippet.escript
    

    GitHub issue: rabbitmq/rabbitmq-cli#438

    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 Erlang inetrc file settings.
    Hostname resolution issues can cause CLI tools, cluster formation and peer reconnection to
    not work as expected.

    Some examples:

    rabbitmq-diagnostics resolve\_hostname "google.com" --address-family ipv4 rabbitmq-diagnostics resolve\_hostname "google.com" --address-family ipv6 --offline
    

    GitHub issue: rabbitmq/rabbitmq-cli#431

    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: rabbitmq/rabbitmq-cli#439

    ๐Ÿ”Œ Management Plugin

    ๐Ÿ› Bug Fixes

    ๐Ÿ”Œ The plugin could send the authorization header as null in some cases before a successful login.

    Contributed by @furkhat.

    GitHub issue: rabbitmq/rabbitmq-management#833

    โœจ Enhancements

    ๐Ÿ™‹โ€โ™‚ The UI now uses more human-friendly information units when displaying client network traffic rate values.

    Contribute by @seadog007.

    GitHub issue: rabbitmq/rabbitmq-management#827

    ๐Ÿ”Œ Federation Plugin

    ๐Ÿ› Bug Fixes

    In environments where rabbitmq_federation.pgroup_name_cluster_id 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: rabbitmq/rabbitmq-federation#109

    ๐Ÿ”Œ MQTT Plugin

    ๐Ÿ› Bug Fixes

    ๐Ÿ”Œ The plugin could fail to accept new client connections with an exception in some cases.

    GitHub issue: rabbitmq/rabbitmq-mqtt#235

    ๐Ÿ”Œ Web STOMP Plugin

    โœจ Enhancements

    ๐ŸŒ Certain Web Socket errors are now handled more gracefully.

    ๐ŸŒ GitHub issue: rabbitmq/rabbitmq-web-stomp#123

    ๐Ÿ”Œ Web MQTT Plugin

    โœจ Enhancements

    ๐ŸŒ Certain Web Socket errors are now handled more gracefully.

    ๐ŸŒ GitHub issue: rabbitmq/rabbitmq-web-mqtt#64

    ๐Ÿ”Œ AuthN/AuthZ Backend HTTP Plugin

    ๐Ÿ› Bug Fixes

    ๐Ÿ”ง Virtual host access checks failed in certain complex configurations.

    GitHub issue: rabbitmq/rabbitmq-auth-backend-http#100

    โฌ†๏ธ Dependency Upgrades

    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-server-3.8.6.tar.xz.