rabbitmq-server/release-notes/3.6.11.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

237 lines
10 KiB
Markdown
Raw Normal View History

## RabbitMQ 3.6.11
RabbitMQ `3.6.11` is a maintenance release.
### Upgrades and Compatibility
See the ["Upgrading clusters" section of the documentation](https://www.rabbitmq.com/clustering.html#upgrading)
for general documentation on upgrades.
⚠️ This release [changes how nodes compute the amount of RAM they use](https://groups.google.com/forum/#!topic/rabbitmq-users/TVZt45O3WzU) (and report). Previously the value was underreported.
We recommend monitoring — or at least manually sampling — the [RSS of
the Erlang VM](http://www.linfo.org/ps.html) running RabbitMQ, comparing it to the value reported in the management UI
to compute the delta. Then adjust configured [VM high memory watermark](https://www.rabbitmq.com/alarms.html) an
possibly provisioning more RAM as needed.
This release has no other known incompatibilities with versions 3.6.7 through 3.6.10.
See the upgrade and compatibility sections in the [3.6.7 release notes](https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_7) if upgrading from an earlier release.
⚠️ This is the first release that [supports Erlang/OTP 20](https://groups.google.com/forum/#!searchin/rabbitmq-users/OTP$2020%7Csort:relevance/rabbitmq-users/_imbAavBYjY/ninEKhMYAgAJ).
### Core Server
#### Bug Fixes
* Node RAM consumption calculation strategy [has changed](https://groups.google.com/forum/#!topic/rabbitmq-users/TVZt45O3WzU)
to a more precise one. Previously the value **was underreported**. It is possible to switch to the behavior in earlier versions
if desired. This will **affect monitoring charts** and possibly **require bumping VM memory high watermark**
or provisioning more RAM.
GitHub issue: [rabbitmq-server#1223](https://github.com/rabbitmq/rabbitmq-server/issues/1223), [rabbitmq-server#1270](https://github.com/rabbitmq/rabbitmq-server/pull/1270)
* Erlang/OTP 20 is [now supported](https://groups.google.com/forum/#!searchin/rabbitmq-users/OTP$2020%7Csort:relevance/rabbitmq-users/_imbAavBYjY/ninEKhMYAgAJ).
GitHub issues: [rabbitmq-server#1243](https://github.com/rabbitmq/rabbitmq-server/issues/1243), [rabbitmq-server#1246](https://github.com/rabbitmq/rabbitmq-server/pull/1246), [rabbitmq-federation#58](https://github.com/rabbitmq/rabbitmq-federation/pull/58), [rabbitmq-management-agent#47](https://github.com/rabbitmq/rabbitmq-management-agent/pull/47), [rabbitmq-management#415](https://github.com/rabbitmq/rabbitmq-management/pull/415), [rabbitmq-stomp#115](https://github.com/rabbitmq/rabbitmq-stomp/issues/115)
* `supervisor2`: supervisor could fail to restart failed child processes in some cases.
This could affect multiple plugins, e.g. federation.
Contributed by Aliaksey Artamonau (Couchbase).
GitHub issues: [rabbitmq-common#201](https://github.com/rabbitmq/rabbitmq-common/pull/201),
[rabbitmq-server#1238](https://github.com/rabbitmq/rabbitmq-server/pull/1238)
* Memory used by binary heap ("binaries") was reduced for some scenarios that involve mirrored queues.
GitHub issue: [rabbitmq-common#208](https://github.com/rabbitmq/rabbitmq-common/issues/208)
* Exclusive queues were not cleaned up when node failed or was considered unavailable by one of its
peers.
GitHub issue: [rabbitmq-server#1323](https://github.com/rabbitmq/rabbitmq-server/issues/1323)
* `rabbitmq-service.bat start` and `rabbitmq-service.bat stop` did not report access violation
errors.
GitHub issue: [rabbitmq-server#1324](https://github.com/rabbitmq/rabbitmq-server/issues/1324)
* When high VM memory watermarked is set to a value greater than 1.0,
`1.0` will be used as effective value now instead of the default (`0.4`).
GitHub issue: [rabbitmq-server#1285](https://github.com/rabbitmq/rabbitmq-server/issues/1285)
#### Enhancements
* Total amount of RAM as seen by a node now can be overridden via config file.
GitHub issue: [rabbitmq-server#1224](https://github.com/rabbitmq/rabbitmq-server/issues/1224)
* Default value of `RABBITMQ_DISTRIBUTION_BUFFER_SIZE` is now `128000`. This makes inter-node communication
throughput more stable on 1 GBbit/s (or greater) network links.
GitHub issue: [rabbitmq-server#1306](https://github.com/rabbitmq/rabbitmq-server/issues/1306)
* Plugins that are already expanded (unarhived from `.ez` archives on node boot) won't be
expanded again.
Contributed by Alex Lebedeff (Mirantis).
GitHub issue: [rabbitmq-server#1226](https://github.com/rabbitmq/rabbitmq-server/pull/1226)
### Management plugin
#### Enhancements
* Listing queues, exchanges, vhosts via HTTP API is now more efficient for common cases
(e.g. when pagination is not used or only a subset of fields is requested).
GitHub issue: [rabbitmq-management#402](https://github.com/rabbitmq/rabbitmq-management/issues/402)
* Inter-node cluster link traffic information was missing.
GitHub issue: [rabbitmq-management#434](https://github.com/rabbitmq/rabbitmq-management/issues/434)
* Exclusive queues didn't have feature markers in the UI.
GitHub issue: [rabbitmq-management#459](https://github.com/rabbitmq/rabbitmq-management/issues/459)
* queue leader locator now has a feature marker in the UI.
GitHub issue: [rabbitmq-management#468](https://github.com/rabbitmq/rabbitmq-management/pull/468)
* It is now possible to pre-configure user permission at the time of its creation.
GitHub issue: [rabbitmq-management#441](https://github.com/rabbitmq/rabbitmq-management/issues/441)
* `rabbitmqadmin` now supports `--ssl-insecure` (`-k`), serving the same purpose as `-k` in curl
GitHub issue: [rabbitmq-management#452](https://github.com/rabbitmq/rabbitmq-management/issues/452)
* `rabbitmqadmin` now supports setting HTTP API endpoint hostname, port, username, and password
using a URI.
GitHub issue: [rabbitmq-management#437](https://github.com/rabbitmq/rabbitmq-management/issues/437)
* HTTP API requests now are less likely to produce log noise.
GitHub issue: [rabbitmq-web-dispatch#27](https://github.com/rabbitmq/rabbitmq-web-dispatch/issues/27)
#### Bug Fixes
* queue leader migration no longer leaves statistics database records behind.
GitHub issue: [rabbitmq-management#427](https://github.com/rabbitmq/rabbitmq-management/issues/427)
* Consumer argument serialisation to JSON was fixed.
GitHub issue: [rabbitmq-management#424](https://github.com/rabbitmq/rabbitmq-management/issues/424)
* It is now again possible to create a user without a password (or password hash).
Such users won't be able to sign in with [internal authentication backend](https://www.rabbitmq.com/access-control.html)
but can be used with external authentication mechanisms (x509 certificates) and backends
(LDAP, HTTP, etc).
GitHib issue: [rabbitmq-management#383](https://github.com/rabbitmq/rabbitmq-management/issues/383)
* Pagination combined with a user-provided set of columns returned no results.
GitHub issue: [rabbitmq-management#404](https://github.com/rabbitmq/rabbitmq-management/issues/404)
* Regular expressions used for filtering were not correctly escaped.
GitHub issue: [rabbitmq-management#419](https://github.com/rabbitmq/rabbitmq-management/issues/419)
* `rabbitmqadmin` now handles float rates.
GitHub issue: [rabbitmq-management#457](https://github.com/rabbitmq/rabbitmq-management/issues/457)
* `rabbitmqadmin` now ignores `SIGPIPE` signals and much less likely to terminate when its output is piped to
another process.
GitHub issue: [rabbitmq-management#438](https://github.com/rabbitmq/rabbitmq-management/issues/438)
* HTTP requests with unintialised fields are less likely to crash log event handler.
GitHub issue: [rabbitmq-web-dispatch#27](https://github.com/rabbitmq/rabbitmq-web-dispatch/issues/27)
### Federation Plugin
#### Bug Fixes
* Federation links now recover better in certain scenarios, e.g. when one side of a link could be reset.
GitHub issue: [rabbitmq-federation#59](https://github.com/rabbitmq/rabbitmq-federation/issues/59)
### STOMP Plugin
#### Bug Fixes
* Erlang/OTP 20 is [now supported](https://groups.google.com/forum/#!searchin/rabbitmq-users/OTP$2020%7Csort:relevance/rabbitmq-users/_imbAavBYjY/ninEKhMYAgAJ).
GitHub issue: [rabbitmq-stomp#115](https://github.com/rabbitmq/rabbitmq-stomp/issues/115)
### MQTT Plugin
#### Enhancements
* No-op MQTT message retainer.
GitHub issue: [rabbitmq-mqtt#136](https://github.com/rabbitmq/rabbitmq-mqtt/issues/136)
#### Bug Fixes
* MQTT connection processes now use connection log level.
GitHub issue: [rabbitmq-mqtt#142](https://github.com/rabbitmq/rabbitmq-mqtt/issues/142)
### Consistent Hashing Exchange
#### Bug Fixes
* Bucket distribution is now consistent (doesn't change) between plugin and node restarts
(assuming bindings haven't changed).
GitHub issue: [rabbitmq-consistent-hash-exchange#32](https://github.com/rabbitmq/rabbitmq-consistent-hash-exchange/issues/32)
### Top Plugin
#### Bug Fixes
* `rabbitmq-top` now gracefully covers scenarios when it is enabled only on a subset of cluster nodes.
GitHub issue: [rabbitmq-top#23](https://github.com/rabbitmq/rabbitmq-top/issues/23)
* Node drop down on ETS table tab redirected to the processes tab.
GitHub issue: [rabbitmq-top#24](https://github.com/rabbitmq/rabbitmq-top/issues/24)
### Message Timestamp Plugin
#### Enhancements
* Timestamp in milliseconds is also injected as a header (unless the header is present).
GitHub issue: [rabbitmq-message-timestamp#16](https://github.com/rabbitmq/rabbitmq-message-timestamp/issues/16)
## 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.11.tar.gz`.