rabbitmq-server/release-notes/3.8.1.md

7.6 KiB

RabbitMQ 3.8.1

RabbitMQ 3.8.1 is a maintenance release that focuses on bug fixes.

Erlang/OTP Compatibility Notes

This release requires Erlang/OTP 21.3 or later. 22.x series is recommended.

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.

Compatibility Notes

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 21.x or 22.x, then to RabbitMQ 3.8.x.

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.

Getting Help

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

Changes

Core Server

Bug Fixes

  • 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

  • Avoid pattern expansion when logging connection closure reason.

    GitHub issue: rabbitmq/rabbitmq-server#2155

  • Improved error handling in a module that continuously registers the node with epmd avoids log noise.

    GitHub issue: rabbitmq/rabbitmq-server#2130

Enhancements

CLI Tools

Bug Fixes

  • 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 list_unresponsive_queues failed in environments that had quorum queues.

    GitHub issue: rabbitmq/rabbitmq-cli#386

  • 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

Enhancements

  • rabbitmq-diagnostics consume_event_stream is a new command that makes it easier to consume a stream of internal commands. This can be useful for troubleshooting and auditing. Previously this was only possible via the rabbitmq-event-exchange plugin.

    GitHub issue: rabbitmq/rabbitmq-cli#299

  • rabbitmq-diagnostics check_certificate_expiration is a new health check command that fails when any of the certificates used by target node expire within a specified time window.

    rabbitmq-diagnostics certificates is its diagnostics (informative) counterpart that displays all CA and leaf certificates used by target node.

    GitHub issue: rabbitmq/rabbitmq-cli#305

Prometheus Plugin

Bug Fixes

  • Prometheus scraping API endpoint was unreasonably strict about the set of content types it accepts from clients, which caused Telegraf Prometheus input requests to fail with an406 Not Acceptable response.

    GitHub issue: rabbitmq/rabbitmq-prometheus#12

Management Plugin

Bug Fixes

LDAP Plugin

Enhancements

Kubernetes Peer Discovery Plugin

Bug Fixes

Consul Peer Discovery Plugin

Enhancements

MQTT Plugin

STOMP Plugin

Enhancements

Bug Fixes

Web STOMP Plugin

Bug Fixes

Web MQTT Plugin

Bug Fixes

Erlang Client

Bug Fixes

  • 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

Tracing Plugin

Bug Fixes

  • On Windows, deleting the file used by an active (running) trace resulted in an EACCES exception.

    GitHub issue: rabbitmq/rabbitmq-tracing#31

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.1.tar.xz.