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
-
Peak quorum queue memory usage was reduced by up to 25% on some workloads.
GitHub issue: rabbitmq/rabbitmq-server#2138
CLI Tools
Bug Fixes
-
rabbitmqctl await_startup
failed with an exception when effective timeout was set toinfinity
.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 an
406 Not Acceptable
response.GitHub issue: rabbitmq/rabbitmq-prometheus#12
Management Plugin
Bug Fixes
-
Some metrics were omitted in the UI for queues that did not have
x-queue-type
set.GitHub issue: rabbitmq/rabbitmq-management#741
LDAP Plugin
Enhancements
-
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
Kubernetes Peer Discovery Plugin
Bug Fixes
-
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
Consul Peer Discovery Plugin
Enhancements
-
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
MQTT Plugin
-
Client ID tracking is now more resilient to node failures and decomissioning.
GitHub issue: rabbitmq/rabbitmq-mqtt#213
STOMP Plugin
Enhancements
-
The
x-queue-type
header is now accepted from STOMP clients.GitHub issue: rabbitmq/rabbitmq-stomp#138
Bug Fixes
-
stomp.hide_server
is now available in the new style configuration format.GitHub issue: rabbitmq/rabbitmq-stomp#140
Web STOMP Plugin
Bug Fixes
-
The plugin emitted a warning on start.
GitHub issue: rabbitmq/rabbitmq-web-stomp#115
Web MQTT Plugin
Bug Fixes
-
The plugin emitted a warning on start.
GitHub issue: rabbitmq/rabbitmq-web-mqtt#59
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
.