1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219
|
## 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**](https://www.rabbitmq.com/which-erlang.html) or later.
`22.x` series is recommended.
[Provisioning Latest Erlang Releases](https://www.rabbitmq.com/which-erlang.html#erlang-repositories) 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](https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.0) upgrade
and compatibility notes first if upgrading from an earlier release.
See the [Upgrading guide](https://www.rabbitmq.com/upgrade.html) for general documentation on upgrades
and [RabbitMQ change log](https://www.rabbitmq.com/changelog.html) 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](https://groups.google.com/forum/#!forum/rabbitmq-users).
## 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](https://github.com/rabbitmq/rabbitmq-server/issues/2132)
* Avoid pattern expansion when logging connection closure reason.
GitHub issue: [rabbitmq/rabbitmq-server#2155](https://github.com/rabbitmq/rabbitmq-server/pull/2155)
* Improved error handling in a module that continuously registers the node with [epmd](https://www.rabbitmq.com/clustering.html) avoids
log noise.
GitHub issue: [rabbitmq/rabbitmq-server#2130](https://github.com/rabbitmq/rabbitmq-server/issues/2130)
#### Enhancements
* Peak [quorum queue](https://www.rabbitmq.com/quorum-queues.html) memory usage was reduced by up to 25% on some workloads.
GitHub issue: [rabbitmq/rabbitmq-server#2138](https://github.com/rabbitmq/rabbitmq-server/pull/2138)
### CLI Tools
#### Bug Fixes
* `rabbitmqctl await_startup` failed with an exception when effective timeout was set to `infinity`.
GitHub issue: [rabbitmq/rabbitmq-server#2144](https://github.com/rabbitmq/rabbitmq-server/pull/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](https://github.com/rabbitmq/rabbitmq-cli/pull/385)
* `rabbitmq-diagnostics list_unresponsive_queues` failed in environments that had quorum queues.
GitHub issue: [rabbitmq/rabbitmq-cli#386](https://github.com/rabbitmq/rabbitmq-cli/issues/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](https://github.com/rabbitmq/rabbitmq-cli/issues/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](https://github.com/rabbitmq/rabbitmq-event-exchange) plugin.
GitHub issue: [rabbitmq/rabbitmq-cli#299](https://github.com/rabbitmq/rabbitmq-cli/issues/299)
* `rabbitmq-diagnostics check_certificate_expiration` is a new [health check](https://www.rabbitmq.com/monitoring.html#health-checks) 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](https://github.com/rabbitmq/rabbitmq-cli/issues/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](https://github.com/rabbitmq/rabbitmq-prometheus/issues/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](https://github.com/rabbitmq/rabbitmq-management/issues/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](https://github.com/rabbitmq/rabbitmq-auth-backend-ldap/issues/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](https://github.com/rabbitmq/rabbitmq-peer-discovery-k8s/issues/55)
### Consul Peer Discovery Plugin
#### Enhancements
* It is now possible to specify service metadata values:
``` ini
cluster_formation.consul.svc_meta.key1 = value1
cluster_formation.consul.svc_meta.key2 = value2
```
GitHub issue: [rabbitmq/rabbitmq-peer-discovery-consul#34](https://github.com/rabbitmq/rabbitmq-peer-discovery-consul/issues/34)
### MQTT Plugin
* Client ID tracking is now more resilient to node failures and decomissioning.
GitHub issue: [rabbitmq/rabbitmq-mqtt#213](https://github.com/rabbitmq/rabbitmq-mqtt/issues/213)
### STOMP Plugin
#### Enhancements
* The [`x-queue-type` header](https://www.rabbitmq.com/quorum-queues.html) is now accepted from STOMP clients.
GitHub issue: [rabbitmq/rabbitmq-stomp#138](https://github.com/rabbitmq/rabbitmq-stomp/issues/138)
#### Bug Fixes
* `stomp.hide_server` is now available in the new style configuration format.
GitHub issue: [rabbitmq/rabbitmq-stomp#140](https://github.com/rabbitmq/rabbitmq-stomp/issues/140)
### Web STOMP Plugin
#### Bug Fixes
* The plugin emitted a warning on start.
GitHub issue: [rabbitmq/rabbitmq-web-stomp#115](https://github.com/rabbitmq/rabbitmq-web-stomp/issues/115)
### Web MQTT Plugin
#### Bug Fixes
* The plugin emitted a warning on start.
GitHub issue: [rabbitmq/rabbitmq-web-mqtt#59](https://github.com/rabbitmq/rabbitmq-web-mqtt/issues/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](https://github.com/rabbitmq/rabbitmq-erlang-client/pull/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](https://github.com/rabbitmq/rabbitmq-tracing/issues/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`.
|