15 KiB
RabbitMQ 3.6.2
RabbitMQ 3.6.2
is a maintenance release that includes a new statistics
collector in the management plugin.
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. 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
-
Channel operation timeout default is bumped to 15 seconds
GitHub issue: 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
-
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
-
rabbitmqctl list_consumers
now lists all consumers on a given queuePreviously it would only list one.
Contributed by Alexey Lebedeff (Mirantis).
GitHub issue: rabbitmq-server#701
-
rabbitmqctl list_queues
now correctly outputs rows for unavailable queuesContributed by Alexey Lebedeff (Mirantis).
GitHub issue: rabbitmq-server#696
-
rabbitmqctl set_disk_free_limit mem_relative
erroneously rejected values greater than1.0
GitHub issue: rabbitmq-server#717
-
Messages with an invalid client-provided
x-death
header value caused queue process terminationGitHub issue: rabbitmq-server#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
-
Policy-related
rabbitmqctl
commands could return unformatted messagesGitHub issue: rabbitmq-server#742
-
RABBITMQ_IO_THREAD_POOL_SIZE
is no longer ignored byrabbitmq-server.bat
GitHub issue: rabbitmq-server#705
-
Deleting a vhost in parallel with updating a policy in it resulted in unhandled exceptions
GitHub issues: rabbitmq-server#755, rabbitmq-server#759, rabbitmq-server#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
-
New (node-local) health check command
rabbitmqctl node_health_check
is a new command that performs basic health check of a nodeGitHub issue: rabbitmq-server#398
-
Automatic restart policy enabled for Windows service
GitHub issue: rabbitmq-server#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
-
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
-
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
-
Queue index is now updated in batches when messages are requeued
GitHub issue: rabbitmq-server#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
-
Cluster name could be returned by HTTP API as a non-string value
GitHub issue: rabbitmq-management#143
-
Improved IE 11 compatibility
GitHub issue: rabbitmq-management#123
Enhancements
-
Management plugin has a new, better parallelised event collector which is less likely to fall behind.
GitHub issues: rabbitmq-management#41, rabbitmq-management#166, rabbitmq-management#173, rabbitmq-management#185, rabbitmq-management#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
-
GET /api/nodes/{node}/memory
andGET /api/nodes/{node}/memory/relative
are new HTTP API endpoints that return memory usage breakdown in absolute (same asrabbitmqctl status
) and relative terms.GitHub issue: rabbitmq-management#161
-
HTTPS related improvements in
rabbitmqadmin
.GitHub issues: rabbitmq-management#152, rabbitmq-management#151, rabbitmq-management#149.
-
Policies now can be listed (read) by the users tagged with
management
andmonitoring
As well as those tagged with
policymaker
andadministrator
, of course.GitHub issue: rabbitmq-management#156
-
Effective rates mode is now displayed for cluster nodes by default
GitHub issue: rabbitmq-management#177
MQTT plugin
Bug Fixes
-
Resource alarms are handled correctly by MQTT connections
GitHub issues: rabbitmq-mqtt#62
-
Session [pre-existing] presence is now correctly communicated to clients
GitHub issue: rabbitmq-mqtt#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
-
More connection details for MQTT connections reported to management UI
GitHub issue: rabbitmq-mqtt#66
STOMP plugin
Bug Fixes
-
Resource alarms are handled correctly by STOMP connections
GitHub issues: rabbitmq-stomp#68, rabbitmq-stomp#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
-
More connection details for STOMP connections reported to management UI
GitHub issue: rabbitmq-stomp#55
Web STOMP plugin
Enhancements
-
More connection details for STOMP-over-WebSockets connections reported to management UI
GitHub issue: rabbitmq-web-stomp#45
-
The plugin now sends a protocol header (
Sec-WebSocket-Protocol
) response when client presents it.GitHub issue: rabbitmq-web-stomp#53
Web MQTT plugin
Bug Fixes
-
More connection details for MQTT-over-WebSockets connections reported to management UI
GitHub issue: rabbitmq-web-mqtt#3
-
Plugin deactivation now correctly stops TCP listener
GitHub issue: rabbitmq-web-mqtt#7
.NET client
Bug Fixes
-
Compatibility with SQL Server 2014 CLR restored
GitHub issue: rabbitmq-dotnet-client#167
-
Autorecovering connections now respect all provided hostnames when reconnecting.
GitHub issue: rabbitmq-dotnet-client#157
-
ConnectionFactory#CreateConnection
now respects all provided hostnames when automatic connection recovery is disabled.GitHub issue: rabbitmq-dotnet-client#176
Erlang client
Bug Fixes
-
Certain channel failures resulted in a race condition during process [tree] shutdown.
GitHub issue: rabbitmq-erlang-client#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
-
Non-existent group in
tag_queries
shouldn't terminate authorisationGitHub issue: rabbitmq-auth-backend-ldap#15
-
attribute
query should not fail when multiple values are returnedGitHub issue: rabbitmq-auth-backend-ldap#16
Enhancements
-
Virtual host is now available as a variable in
tag_queries
GitHub issue: rabbitmq-auth-backend-ldap#13
-
Default LDAP connection pool size was increased from
10
to64
GitHub issue: rabbitmq-auth-backend-ldap#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
-
It is now possible to configure the plugin to use
POST
requests instead ofGET
, so that no sensitive information is logged.GitHub issue: rabbitmq-auth-backend-http#7
-
The plugin now supports HTTP client TLS options, so authenticating apps can use HTTPS
GitHub issue: rabbitmq-auth-backend-http#29
-
Vhost access requests now include client IP address
GitHub issue: rabbitmq-auth-backend-http#33
Contributed by Abdulrazak Alkl.
Event Exchange plugin
Enhancements
-
Policy events now include a vhost field
GitHub issue: rabbitmq-event-exchange#17
-
Binding events now include a vhost field
GitHub issue: rabbitmq-event-exchange#9
-
Millesecond resolution timestamp of events is now back as a message header
GitHub issue: rabbitmq-event-exchange#12
-
user.authentication.success
no longer has thevhost
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
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. 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
.