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 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375
|
## RabbitMQ 3.6.2
RabbitMQ `3.6.2` is a maintenance release that includes a [new statistics
collector in the management plugin](https://github.com/rabbitmq/rabbitmq-management/issues/41).
### Management Plugin Incompatibility with Earlier 3.6.x Releases
Because this version includes significant changes to the management plugin,
it should not be deployed into clusters with mixed `3.6.x` node versions
unless **all nodes that have the management plugin enabled** run `3.6.2`.
Otherwise HTTP API requests will fail with exceptions in some scenarios and parts of
management UI may not be updated.
There are no other known incompatibilities with earlier `3.6.x` releases.
### OpenSSL Requirement for Standalone Mac Release
Standalone Mac OS X package now requires OpenSSL 1.0.x to be provided by the system, for example,
from Homebrew.
### Optional `socat` Package Dependency for Distributions that Use `systemd`
Starting with `3.6.2`, RabbitMQ Debian and RPM packages have an optional
[dependency on socat](https://groups.google.com/forum/#!searchin/rabbitmq-users/socat/rabbitmq-users/ktzOsgNEBkY/cOlF_eP6AAAJ). When
installing using `dpkg`, this dependency won't be automatically installed. To install it manually, use
sudo apt-get install socat
### Server
#### Bug Fixes
* Channel operations that time out no longer produce noisy crash reports in
RabbitMQ log files
GitHub issue: [rabbitmq-common#63](https://github.com/rabbitmq/rabbitmq-common/issues/63)
* Channel operation timeout default is bumped to 15 seconds
GitHub issue: [rabbitmq-server/issues/667](https://github.com/rabbitmq/rabbitmq-server/issues/667)
* Windows service will pick up RabbitMQ config file regardless of whether
it was present during service installation
GitHub issue: [rabbitmq-server#659](https://github.com/rabbitmq/rabbitmq-server/issues/659)
* Erlang distribution failures for `rabbitmqctl` and cross-node links will
provide more detail when running on Erlang 19 (scheduled for release in Q3 2016).
GitHub issue: [rabbitmq-server#401](https://github.com/rabbitmq/rabbitmq-server/issues/401)
* `rabbitmqctl list_consumers` now lists all consumers on a given queue
Previously it would only list one.
Contributed by Alexey Lebedeff (Mirantis).
GitHub issue: [rabbitmq-server#701](https://github.com/rabbitmq/rabbitmq-server/issues/701)
* `rabbitmqctl list_queues` now correctly outputs rows for unavailable queues
Contributed by Alexey Lebedeff (Mirantis).
GitHub issue: [rabbitmq-server#696](https://github.com/rabbitmq/rabbitmq-server/issues/696)
* `rabbitmqctl set_disk_free_limit mem_relative` erroneously rejected values greater than `1.0`
GitHub issue: [rabbitmq-server#717](https://github.com/rabbitmq/rabbitmq-server/issues/717)
* Messages with an invalid client-provided `x-death` header value caused queue process termination
GitHub issue: [rabbitmq-server#767](https://github.com/rabbitmq/rabbitmq-server/issues/767)
* Messages with priorities higher than queue max are now assigned max configured priority
and no longer cause an unhandled exception that results in queue process restart
GitHub issue: [rabbitmq-server#795](https://github.com/rabbitmq/rabbitmq-server/issues/795)
* Policy-related `rabbitmqctl` commands could return unformatted messages
GitHub issue: [rabbitmq-server#742](https://github.com/rabbitmq/rabbitmq-server/issues/742)
* `RABBITMQ_IO_THREAD_POOL_SIZE` is no longer ignored by `rabbitmq-server.bat`
GitHub issue: [rabbitmq-server#705](https://github.com/rabbitmq/rabbitmq-server/issues/705)
* Deleting a vhost in parallel with updating a policy in it resulted
in unhandled exceptions
GitHub issues: [rabbitmq-server#755](https://github.com/rabbitmq/rabbitmq-server/issues/755),
[rabbitmq-server#759](https://github.com/rabbitmq/rabbitmq-server/issues/759),
[rabbitmq-server#744](https://github.com/rabbitmq/rabbitmq-server/issues/744)
#### Enhancements
* Connections now emit stats unconditionally when they are blocked and unblocked
by resource alarms. This makes management UI and HTTP API-reported data to be more up-to-date
GitHub issue: [rabbitmq-server#679](https://github.com/rabbitmq/rabbitmq-server/issues/679)
* New (node-local) health check command
`rabbitmqctl node_health_check` is a new command that performs basic health check of a node
GitHub issue: [rabbitmq-server#398](https://github.com/rabbitmq/rabbitmq-server/issues/398)
* Automatic restart policy enabled for Windows service
GitHub issue: [rabbitmq-server#645](https://github.com/rabbitmq/rabbitmq-server/issues/645)
* Default number of async I/O VM threads is now calculated based on the
number of available CPU cores
GitHub issue: [rabbitmq-server#151](https://github.com/rabbitmq/rabbitmq-server/issues/151)
* `rabbitmqctl list_queues` now supports new flags, `--offline` and `--online`, that limit
result to only unavailable or available queues (queue leaders, to be more precise)
Contributed by Alexey Lebedeff (Mirantis).
GitHub issue: [rabbitmq-server#688](https://github.com/rabbitmq/rabbitmq-server/issues/688)
* RabbitMQ will no longer log a warning about disabled kernel polling on Windows
The runtime does not support kernel polling (I/O completion ports) on Windows,
so there is nothing the user can do about it.
GitHub issue: [rabbitmq-server#695](https://github.com/rabbitmq/rabbitmq-server/issues/695)
* Queue index is now updated in batches when messages are requeued
GitHub issue: [rabbitmq-server#343](https://github.com/rabbitmq/rabbitmq-server/issues/343)
### Management plugin
#### Bug Fixes
* Samples (stats) for abnormally terminated connections and channels will now be cleaned up more aggressively
GitHub issue: [rabbitmq-management#198](https://github.com/rabbitmq/rabbitmq-management/issues/198)
* Cluster name could be returned by HTTP API as a non-string value
GitHub issue: [rabbitmq-management#143](https://github.com/rabbitmq/rabbitmq-management/issues/143)
* Improved IE 11 compatibility
GitHub issue: [rabbitmq-management#123](https://github.com/rabbitmq/rabbitmq-management/issues/123)
#### Enhancements
* Management plugin has a new, better parallelised event collector which is less likely to
fall behind.
GitHub issues: [rabbitmq-management#41](https://github.com/rabbitmq/rabbitmq-management/issues/41),
[rabbitmq-management#166](https://github.com/rabbitmq/rabbitmq-management/issues/166),
[rabbitmq-management#173](https://github.com/rabbitmq/rabbitmq-management/issues/173),
[rabbitmq-management#185](https://github.com/rabbitmq/rabbitmq-management/issues/185),
[rabbitmq-management#174](https://github.com/rabbitmq/rabbitmq-management/issues/174)
* Clients now can provide a human-readable connection name that will be displayed
in the management UI. Currently Java, .NET and Erlang clients support this.
In order to use this feature, set the `connection_name` key in client properties.
Note that this name doesn't have to be unique and cannot be used as a connection identifier,
for example, in HTTP API requests.
GitHub issue: [rabbitmq-server#104](https://github.com/rabbitmq/rabbitmq-server/issues/104)
* `GET /api/nodes/{node}/memory` and `GET /api/nodes/{node}/memory/relative` are new HTTP API
endpoints that return memory usage breakdown in absolute (same as `rabbitmqctl status`) and
relative terms.
GitHub issue: [rabbitmq-management#161](https://github.com/rabbitmq/rabbitmq-management/issues/161)
* HTTPS related improvements in `rabbitmqadmin`.
GitHub issues: [rabbitmq-management#152](https://github.com/rabbitmq/rabbitmq-management/issues/152), [rabbitmq-management#151](https://github.com/rabbitmq/rabbitmq-management/issues/151), [rabbitmq-management#149](https://github.com/rabbitmq/rabbitmq-management/issues/149).
* Policies now can be listed (read) by the users tagged with `management` and `monitoring`
As well as those tagged with `policymaker` and `administrator`, of course.
GitHub issue: [rabbitmq-management#156](https://github.com/rabbitmq/rabbitmq-management/issues/156)
* Effective rates mode is now displayed for cluster nodes by default
GitHub issue: [rabbitmq-management#177](https://github.com/rabbitmq/rabbitmq-management/issues/177)
### MQTT plugin
#### Bug Fixes
* Resource alarms are handled correctly by MQTT connections
GitHub issues: [rabbitmq-mqtt#62](https://github.com/rabbitmq/rabbitmq-mqtt/issues/62)
* Session [pre-existing] presence is now correctly communicated to clients
GitHub issue: [rabbitmq-mqtt#61](https://github.com/rabbitmq/rabbitmq-mqtt/issues/61)
#### Enhancements
* Connections now emit stats unconditionally when they are blocked and unblocked
by resource alarms. This makes management UI and HTTP API-reported data to be more up-to-date.
GitHub issue: [rabbitmq-mqtt#71](https://github.com/rabbitmq/rabbitmq-mqtt/issues/71)
* More connection details for MQTT connections reported to management UI
GitHub issue: [rabbitmq-mqtt#66](https://github.com/rabbitmq/rabbitmq-mqtt/pull/66)
### STOMP plugin
#### Bug Fixes
* Resource alarms are handled correctly by STOMP connections
GitHub issues: [rabbitmq-stomp#68](https://github.com/rabbitmq/rabbitmq-stomp/issues/68),
[rabbitmq-stomp#67](https://github.com/rabbitmq/rabbitmq-stomp/issues/67)
#### Enhancements
* Connections now emit stats unconditionally when they are blocked and unblocked
by resource alarms. This makes management UI and HTTP API-reported data to be more up-to-date.
GitHub issue: [rabbitmq-stomp#70](https://github.com/rabbitmq/rabbitmq-stomp/issues/70)
* More connection details for STOMP connections reported to management UI
GitHub issue: [rabbitmq-stomp#55](https://github.com/rabbitmq/rabbitmq-stomp/issues/55)
### Web STOMP plugin
#### Enhancements
* More connection details for STOMP-over-WebSockets connections reported to management UI
GitHub issue: [rabbitmq-web-stomp#45](https://github.com/rabbitmq/rabbitmq-web-stomp/pull/45)
* The plugin now sends a protocol header (`Sec-WebSocket-Protocol`) response when
client presents it.
GitHub issue: [rabbitmq-web-stomp#53](https://github.com/rabbitmq/rabbitmq-web-stomp/issues/53)
### Web MQTT plugin
#### Bug Fixes
* More connection details for MQTT-over-WebSockets connections reported to management UI
GitHub issue: [rabbitmq-web-mqtt#3](https://github.com/rabbitmq/rabbitmq-web-mqtt/pull/3)
* Plugin deactivation now correctly stops TCP listener
GitHub issue: [rabbitmq-web-mqtt#7](https://github.com/rabbitmq/rabbitmq-web-mqtt/issues/7)
### .NET client
#### Bug Fixes
* Compatibility with SQL Server 2014 CLR restored
GitHub issue: [rabbitmq-dotnet-client#167](https://github.com/rabbitmq/rabbitmq-dotnet-client/issues/167)
* Autorecovering connections now respect all provided hostnames
when reconnecting.
GitHub issue: [rabbitmq-dotnet-client#157](https://github.com/rabbitmq/rabbitmq-dotnet-client/issues/157)
* `ConnectionFactory#CreateConnection` now respects all provided hostnames
when automatic connection recovery is disabled.
GitHub issue: [rabbitmq-dotnet-client#176](https://github.com/rabbitmq/rabbitmq-dotnet-client/issues/176)
### Erlang client
#### Bug Fixes
* Certain channel failures resulted in a race condition during process [tree] shutdown.
GitHub issue: [rabbitmq-erlang-client#42](https://github.com/rabbitmq/rabbitmq-erlang-client/issues/42)
### LDAP Authentication/Authorisation Backend
#### Bug Fixes
* LDAP connection pool is now more resilient to TCP connection closure/loss on Erlang/OTP 18.3
GitHub issue: [rabbitmq-auth-backend-ldap#41](https://github.com/rabbitmq/rabbitmq-auth-backend-ldap/issues/41)
* Non-existent group in `tag_queries` shouldn't terminate authorisation
GitHub issue: [rabbitmq-auth-backend-ldap#15](https://github.com/rabbitmq/rabbitmq-auth-backend-ldap/issues/15)
* `attribute` query should not fail when multiple values are returned
GitHub issue: [rabbitmq-auth-backend-ldap#16](https://github.com/rabbitmq/rabbitmq-auth-backend-ldap/issues/16)
#### Enhancements
* Virtual host is now available as a variable in `tag_queries`
GitHub issue: [rabbitmq-auth-backend-ldap#13](https://github.com/rabbitmq/rabbitmq-auth-backend-ldap/issues/13)
* Default LDAP connection pool size was increased from `10` to `64`
GitHub issue: [rabbitmq-auth-backend-ldap#35](https://github.com/rabbitmq/rabbitmq-auth-backend-ldap/issues/35)
### HTTP Authentication/Authorisation Backend
#### Enhancements
* The plugin now uses HTTP 1.1 and keep-alive connections for requests.
GitHub issue: [rabbitmq-auth-backend-http#20](https://github.com/rabbitmq/rabbitmq-auth-backend-http/issues/20)
* It is now possible to configure the plugin to use `POST` requests instead of
`GET`, so that no sensitive information is logged.
GitHub issue: [rabbitmq-auth-backend-http#7](https://github.com/rabbitmq/rabbitmq-auth-backend-http/issues/7)
* The plugin now supports HTTP client TLS options, so authenticating apps can use HTTPS
GitHub issue: [rabbitmq-auth-backend-http#29](https://github.com/rabbitmq/rabbitmq-auth-backend-http/issues/29)
* Vhost access requests now include client IP address
GitHub issue: [rabbitmq-auth-backend-http#33](https://github.com/rabbitmq/rabbitmq-auth-backend-http/pull/33)
Contributed by Abdulrazak Alkl.
### Event Exchange plugin
#### Enhancements
* Policy events now include a vhost field
GitHub issue: [rabbitmq-event-exchange#17](https://github.com/rabbitmq/rabbitmq-event-exchange/issues/17)
* Binding events now include a vhost field
GitHub issue: [rabbitmq-event-exchange#9](https://github.com/rabbitmq/rabbitmq-event-exchange/issues/9)
* Millesecond resolution timestamp of events is now back as a message header
GitHub issue: [rabbitmq-event-exchange#12](https://github.com/rabbitmq/rabbitmq-event-exchange/issues/12)
* `user.authentication.success` no longer has the `vhost` field
since vhost is only available at a later point. `connection.created`
events should be used to track successful connections if vhost
information is desired.
GitHub issue: [rabbitmq-event-exchange#13](https://github.com/rabbitmq/rabbitmq-event-exchange/issues/13)
## 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.1, see http://rabbitmq.com/passwords.html.
To upgrade a RabbitMQ cluster, follow the instructions [in RabbitMQ documentation](https://www.rabbitmq.com/clustering.html#upgrading). All nodes that have RabbitMQ management plugin enabled
must be upgraded in lock step.
## 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.2.tar.gz`.
|