release-notes/3.7.20.md
RabbitMQ 3.7.20 is a maintenance release that focuses on bug fixes.
RabbitMQ 3.7.x series is supported through March 2020.
Per the new Erlang version support policy in effect starting with January 2019, this release no longer supports Erlang/OTP 20.3. Make sure a supported Erlang version is used before upgrading.
Provisioning Latest Erlang Releases explains
what package repositories and tools can be used to provision latest patch versions of Erlang 21.3.x and 22.x.
When upgrading to this release and upgrading Erlang to 21.x or later 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 or later, RabbitMQ must be upgraded before Erlang.
See 3.7.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.
Any questions about this release, upgrades or RabbitMQ in general are welcome on the RabbitMQ mailing list.
Rolling cluster upgrade could fail if new versions were deployed to all cluster nodes at once instead of a rolling upgrade-then-restart for each node individually.
GitHub issue: rabbitmq/rabbitmq-server#2132
Improved error handling in a module that continuously registers the node with epmd avoids log noise.
GitHub issue: rabbitmq/rabbitmq-server#2130
rabbitmqctl await_startup failed with an exception when effective timeout was set to infinity.
GitHub issue: rabbitmq/rabbitmq-server#2144
rabbitmq-diagnostics check_port_connectivity produced a false positive in an IPv6-only environment.
Contributed by Gabriele Santomaggio.
GitHub issue: rabbitmq/rabbitmq-cli#385
rabbitmq-diagnostics status, rabbitmq-diagnostics cluster_status, rabbitmq-diagnostics listeners now support
--formatter=erlang (raw Erlang data structure output)
GitHub issue: rabbitmq/rabbitmq-cli#383
Requests to Kubernetes API endpoints failed with an nxdomain (domain name resolution failure)
in an IPv6-only environment. Now the plugin will configure its HTTP[S] client to use IPv6 if
the inetrc file tells it to.
See Using IPv6 for Inter-node Communication (and CLI Tools) to learn more.
GitHub issue: rabbitmq/rabbitmq-peer-discovery-k8s#55
The plugin will now configure its HTTP[S] client to use IPv6 if the inetrc file tells it to. See Using IPv6 for Inter-node Communication (and CLI Tools) to learn more.
GitHub issue: rabbitmq/rabbitmq-peer-discovery-aws#32
It is now possible to specify service metadata values:
cluster_formation.consul.svc_meta.key1 = value1
cluster_formation.consul.svc_meta.key2 = value2
GitHub issue: rabbitmq/rabbitmq-peer-discovery-consul#34
The plugin will now configure its HTTP[S] client to use IPv6 if the inetrc file tells it to. See Using IPv6 for Inter-node Communication (and CLI Tools) to learn more.
GitHub issue: rabbitmq-peer-discovery-consul#36
The plugin will now configure its HTTP[S] client to use IPv6 if the inetrc file tells it to. See Using IPv6 for Inter-node Communication (and CLI Tools) to learn more.
GitHub issue: rabbitmq/rabbitmq-peer-discovery-etcd#19
Connection could not be restarted after a heartbeat timeout due to strict pattern matching.
Contributed by Giuseppe D'Anna (@larrywax).
GitHub issue: rabbitmq/rabbitmq-erlang-client#126
The plugin will no log a warning when DN lookup settings are incomplete.
GitHub issue: rabbitmq/rabbitmq-auth-backend-ldap#114
On Windows, deleting the file used by an active (running) trace resulted in an EACCES exception.
GitHub issue: rabbitmq/rabbitmq-tracing#31
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.7.20.tar.xz.