release-notes/3.8.1.md
RabbitMQ 3.8.1 is a maintenance release that focuses on bug fixes.
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.
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.
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.
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
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
Peak quorum queue memory usage was reduced by up to 25% on some workloads.
GitHub issue: rabbitmq/rabbitmq-server#2138
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
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 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
Some metrics were omitted in the UI for queues that did not have x-queue-type set.
GitHub issue: rabbitmq/rabbitmq-management#741
Errors were not propagated back to the client correctly in case of an LDAP server authentication failure.
GitHub issue: rabbitmq/rabbitmq-auth-backend-ldap#116
Requests to Kubernetes API endpoints failed with an nxdomain (domain name resolution failure)
in an IPv6-only environment.
GitHub issue: rabbitmq/rabbitmq-peer-discovery-k8s#55
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
Client ID tracking is now more resilient to node failures and decomissioning.
GitHub issue: rabbitmq/rabbitmq-mqtt#213
The x-queue-type header is now accepted from STOMP clients.
GitHub issue: rabbitmq/rabbitmq-stomp#138
stomp.hide_server is now available in the new style configuration format.
GitHub issue: rabbitmq/rabbitmq-stomp#140
The plugin emitted a warning on start.
GitHub issue: rabbitmq/rabbitmq-web-stomp#115
The plugin emitted a warning on start.
GitHub issue: rabbitmq/rabbitmq-web-mqtt#59
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
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.8.1.tar.xz.