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 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234
|
## RabbitMQ 3.6.6
`3.6.6` is a maintenance release that includes a fix for an **important security vulnerability** ([CVE-2016-9877](https://pivotal.io/security/cve-2016-9877)) in the MQTT plugin.
### Upgrades and Compatibility
> :warning:
> **Upgrading from versions between 3.6.0 and 3.6.5 to this release requires a cluster shutdown.**
This is also true for versions prior to 3.6.0.
See the ["Upgrading clusters" section of the documentation](https://www.rabbitmq.com/clustering.html#upgrading).
### Server
#### Bug Fixes
* Changing queue mode to `lazy` could block queue process in certain circumstances.
GitHub issue: [rabbitmq-server#850](https://github.com/rabbitmq/rabbitmq-server/issues/850)
* Mirroring implementation didn't handle certain internal protocol messages arriving
out of order.
GitHub issue: [rabbitmq-server#922](https://github.com/rabbitmq/rabbitmq-server/issues/922)
* Mirror set changes weren't handled gracefully in certain circumstances (e.g. in the middle of a mirror promotion).
GitHub issue: [rabbitmq-server#914](https://github.com/rabbitmq/rabbitmq-server/issues/914)
* Mirrored queue could terminate after promotion if HA policy was reapplied during sync.
GitHub issue: [rabbitmq-server#803](https://github.com/rabbitmq/rabbitmq-server/issues/803)
* Autoheal partition handling mode could run into a multi-node deadlock.
GitHub issue: [rabbitmq-server#928](https://github.com/rabbitmq/rabbitmq-server/issues/928)
* Queue mirror group membership now correctly handles certain partial partition cases.
GitHub issues: [rabbitmq-server#950](https://github.com/rabbitmq/rabbitmq-server/issues/950),
[rabbitmq-server#953](https://github.com/rabbitmq/rabbitmq-server/issues/953)
* Eager queue sync will now stop as soon as a mirror shutdown/unavailability is detected.
GitHub issue: [rabbitmq-server#975](https://github.com/rabbitmq/rabbitmq-server/issues/975)
* Lazy queues now trigger runtime GC significantly less frequently, making moving data
to the message store more efficient.
GitHub issue: [rabbitmq-server#973](https://github.com/rabbitmq/rabbitmq-server/issues/973)
* Mirroring policies now respect the `nodes` parameter when re-electing a master.
GitHub issue: [](https://github.com/rabbitmq/rabbitmq-server/issues/990)
* After a partial network partitions, nodes with newly elected masters will now be more defensive
about the (no longer relevant) policy change notifications.
GitHub issue: [rabbitmq-server#1007](https://github.com/rabbitmq/rabbitmq-server/issues/1007)
* Late responses from peers in certain partial network partition scenarios are now
ignored by channels.
GitHub issue: [rabbitmq-server#1005](https://github.com/rabbitmq/rabbitmq-server/issues/1005)
* After a partial network partitions, nodes with newly elected masters will now be more defensive
about the (no longer relevant) synchronization start requests.
GitHub issue: [rabbitmq-server#1006](https://github.com/rabbitmq/rabbitmq-server/issues/1006)
* Network partition triggered late and duplicate acknowledgements are now ignored/filterd out
by queue leader processes.
GitHub issue: [rabbitmq-server#960](https://github.com/rabbitmq/rabbitmq-server/issues/960)
* Queue mirrors now try detect leader replica changes during partial partitions and do a clean stop
instead of failing because their state is in sync with the old leader and not the newly promoted one.
GitHub issue: [rabbitmq-server#944](https://github.com/rabbitmq/rabbitmq-server/issues/944)
* `rabbitmqctl` and server startup could be affected by some DNS configurations.
GitHub issue: [rabbitmq-server#890](https://github.com/rabbitmq/rabbitmq-server/issues/890)
* RPM package was split into two: for CentOS 6 and 7. The latter includes systemd support.
GitHub issue: [rabbitmq-server#932](https://github.com/rabbitmq/rabbitmq-server/issues/932)
* Workaround for Erlang/OTP bug OTP-13425 where crash dump generation failed on UNIX
platforms.
GitHub issue: [rabbitmq-server#956](https://github.com/rabbitmq/rabbitmq-server/issues/956)
#### Enhancements
* Inter-node traffic buffer increased to 32 MB by default, configurable with `RABBITMQ_DISTRIBUTION_BUFFER_SIZE` (in kilobytes).
This improves network bandwidth utilization for inter-node traffic and reduces the probability
of spurious network partitions due to latency spikes caused by the buffer being full.
GitHub issue: [rabbitmq-server#908](https://github.com/rabbitmq/rabbitmq-server/issues/908)
* Default flow control settings were increased to `{200, 100}`. This helps with consumer throughput
in some cases. The value still can be configured using the `rabbit.credit_flow_default_credit` setting.
GitHub issue: [rabbitmq-server#949](https://github.com/rabbitmq/rabbitmq-server/issues/949)
* `rabbitmqctl list_queues` now has more filtering options.
GitHub issue: [rabbitmq-server#851](https://github.com/rabbitmq/rabbitmq-server/issues/851)
* `RABBITMQ_IGNORE_SIGINT` is a new environment variable that lets the user disable the
`+B` VM flag that is known to have issues in Erlang 18.x series (prevents crash dumps from being produced).
GitHub issue: [rabbitmq-server#956](https://github.com/rabbitmq/rabbitmq-server/issues/956)
* The `pg2_fixed` module is now replaced by the standard `pg2` from a newer Erlang/OTP release.
GitHub issue: [rabbitmq-server#980](https://github.com/rabbitmq/rabbitmq-server/issues/980)
### MQTT Plugin
#### Bug Fixes
* Authentication with correct username but omitted password succeeded when TLS/x509
certificate wasn't provided by the client. CVE allocation for this vulnerability is pending.
GitHub issue: [rabbitmq-mqtt#96](https://github.com/rabbitmq/rabbitmq-mqtt/issues/96)
### JMS Topic Exchange Plugin
#### Bug Fixes
* The plugin no longer tries to check if JMS client's version is identical/compatible.
This caused certain legitimate use cases, such as exchange declaration over HTTP API, to fail.
GitHub issue: [rabbitmq-jms-topic-exchange#9](https://github.com/rabbitmq/rabbitmq-jms-topic-exchange/issues/9)
### Java Client
#### Bug Fixes
* Fixed a NPE that can occur when a thread attempts to create a new channel after a connection
has been recovered but before channel recovery has completed.
GitHub issue: [rabbitmq-java-client#197](https://github.com/rabbitmq/rabbitmq-java-client/pull/197)
Contributed by Michael Dent.
* Binding cache entries of auto-delete queues should be cleaned up when the last consumer is cancelled.
GitHub issue: [rabbitmq-java-client#199](https://github.com/rabbitmq/rabbitmq-java-client/pull/199)
Contributed by Michael Dent.
* When a channel is closed, consumers will be correctly cleaned up from AutorecoveringConnection cache.
GitHub issue: [rabbitmq-java-client#208](https://github.com/rabbitmq/rabbitmq-java-client/issues/208)
* `junit` is no longer listed as a dependency in the OSGi manifest
GitHub issue: [rabbitmq-java-client#211](https://github.com/rabbitmq/rabbitmq-java-client/issues/211)
#### Enhancements
* `com.rabbitmq.client.AddressResolver` is a new interface that can be used to "expand"
endpoints into groups of IP addresses, e.g. to a list of IP addresses resolved from a DNS
record.
GitHub issue: [rabbitmq-java-client#153](https://github.com/rabbitmq/rabbitmq-java-client/issues/153)
* Building on the new `AddressResolver` interface, the client now includes a resolver
that uses DNS SVR records to discover endpoints.
GitHub issue: [rabbitmq-java-client#104](https://github.com/rabbitmq/rabbitmq-java-client/issues/104)
* `com.rabbitmq.client.BuiltinExchangeType` is an enum that contains built-in exchange types.
GitHub issue: [rabbitmq-java-client#150](https://github.com/rabbitmq/rabbitmq-java-client/issues/150)
### .NET Client
#### Bug Fixes
* Fixed a possible `NullReferenceException` in `HeartbeatReadTimerCallback` during
connection closure.
GitHub issue: [rabbitmq-dotnet-client#257](https://github.com/rabbitmq/rabbitmq-dotnet-client/issues/257)
* Fixed a potential race condition in `EventingBasicConsumer`
GitHub issue: [rabbitmq-dotnet-client#242](https://github.com/rabbitmq/rabbitmq-dotnet-client/issues/242)
### Federation Plugin
#### Enhancements
* Federation links now specify a name which makes them easier to tell from other connections
in the management UI (requires RabbitMQ 3.6.3+).
GitHub issue: [rabbitmq-federation#39](https://github.com/rabbitmq/rabbitmq-federation/issues/39)
### Shovel Plugin
#### Enhancements
* Shovel connections now specify a name which makes them easier to tell from other connections
in the management UI (requires RabbitMQ 3.6.3+).
GitHub issue: [rabbitmq-shovel#19](https://github.com/rabbitmq/rabbitmq-shovel/issues/19)
## Release Artifacts
Available from:
* GitHub (see below)
* [Bintray](https://bintray.com/rabbitmq/)
* [Package Cloud](https://packagecloud.io/rabbitmq/)
* [rabbitmq.com](https://www.rabbitmq.com/download.html)
## Upgrading
To upgrade a non-clustered RabbitMQ simply install the new version. All configuration and persistent message data are retained. When upgrading using definitions export/import from versions earlier than 3.6.0, see http://rabbitmq.com/passwords.html.
To upgrade a RabbitMQ cluster, follow the instructions [in RabbitMQ documentation](https://www.rabbitmq.com/clustering.html#upgrading).
## 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-3.6.6.tar.gz`.
|