rabbitmq-server/release-notes/3.6.2.md

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 queue

    Previously it would only list one.

    Contributed by Alexey Lebedeff (Mirantis).

    GitHub issue: rabbitmq-server#701

  • rabbitmqctl list_queues now correctly outputs rows for unavailable queues

    Contributed by Alexey Lebedeff (Mirantis).

    GitHub issue: rabbitmq-server#696

  • rabbitmqctl set_disk_free_limit mem_relative erroneously rejected values greater than 1.0

    GitHub issue: rabbitmq-server#717

  • Messages with an invalid client-provided x-death header value caused queue process termination

    GitHub 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 messages

    GitHub issue: rabbitmq-server#742

  • RABBITMQ_IO_THREAD_POOL_SIZE is no longer ignored by rabbitmq-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 node

    GitHub 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

Enhancements

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

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

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

Enhancements

HTTP Authentication/Authorisation Backend

Enhancements

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 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

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.