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_startupfailed with an exception when effective timeout was set toinfinity.GitHub issue: rabbitmq/rabbitmq-server#2144 
- 
rabbitmq-diagnostics check_port_connectivityproduced a false positive in an IPv6-only environment.Contributed by Gabriele Santomaggio. GitHub issue: rabbitmq/rabbitmq-cli#385 
- 
rabbitmq-diagnostics list_unresponsive_queuesfailed in environments that had quorum queues.GitHub issue: rabbitmq/rabbitmq-cli#386 
- 
rabbitmq-diagnostics status,rabbitmq-diagnostics cluster_status,rabbitmq-diagnostics listenersnow support--formatter=erlang(raw Erlang data structure output)GitHub issue: rabbitmq/rabbitmq-cli#383 
Enhancements
- 
rabbitmq-diagnostics consume_event_streamis 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_expirationis a new health check command that fails when any of the certificates used by target node expire within a specified time window.rabbitmq-diagnostics certificatesis 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 Acceptableresponse.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-typeset.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 = value2GitHub 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-typeheader is now accepted from STOMP clients.GitHub issue: rabbitmq/rabbitmq-stomp#138 
Bug Fixes
- 
stomp.hide_serveris 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 EACCESexception.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.