202 lines
7.8 KiB
Markdown
202 lines
7.8 KiB
Markdown
|
## RabbitMQ 3.7.5
|
||
|
|
||
|
RabbitMQ `3.7.5` a maintenance release that primarily includes bug fixes.
|
||
|
|
||
|
### Upgrades and Compatibility
|
||
|
|
||
|
This release includes one **potential incompatibility** with earlier `3.7.x` releases. It will only affect applications that use a lot (at least hundreds) of channels per connection. Previous behavior can be restored via configuration.
|
||
|
|
||
|
See [3.7.0 release notes](https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.0) upgrade and compatibility notes if upgrading from an earlier release.
|
||
|
|
||
|
See the [Upgrading guide](https://www.rabbitmq.com/upgrade.html) for general documentation on upgrades.
|
||
|
|
||
|
See [RabbitMQ change log](https://www.rabbitmq.com/changelog.html) for release notes of other releases.
|
||
|
|
||
|
|
||
|
## Changes
|
||
|
|
||
|
### Core Server
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* Topic authorisation check could fail with an exception.
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#1538](https://github.com/rabbitmq/rabbitmq-server/issues/1538)
|
||
|
|
||
|
* Some runtime parameters and operator policies were rejected during definition import.
|
||
|
|
||
|
GitHub issue: [rabbitmq-management#565](https://github.com/rabbitmq/rabbitmq-management/issues/565), [rabbitmq-federation#73](https://github.com/rabbitmq/rabbitmq-federation/issues/73)
|
||
|
|
||
|
* Queues could run into an exception under memory pressure.
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#1582](https://github.com/rabbitmq/rabbitmq-server/issues/1582)
|
||
|
|
||
|
* During parallel cluster formation nodes could run into an exception when inserting seed data
|
||
|
(default virtual host, user and permissions).
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#1556](https://github.com/rabbitmq/rabbitmq-server/pull/1556)
|
||
|
|
||
|
#### Enhancements
|
||
|
|
||
|
* New `ha-promote-on-failure` queue mirroring setting to augment already existing `ha-promote-on-shutdown`.
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#1578](https://github.com/rabbitmq/rabbitmq-server/pull/1578)
|
||
|
|
||
|
* `queue.delete` operations will now force delete queues that don't have a [promotable
|
||
|
master](https://www.rabbitmq.com/ha.html#unsynchronised-mirrors).
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#1501](https://github.com/rabbitmq/rabbitmq-server/issues/1501)
|
||
|
|
||
|
* Lock contention in internal database is now much lower when a node with a lot of exclusive queues
|
||
|
shuts down or is otherwise considered to be unavailable by peers. This means fewer CPU cycles
|
||
|
spent cleaning up the exclusive queues.
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#1570](https://github.com/rabbitmq/rabbitmq-server/pull/1570)
|
||
|
|
||
|
* Default [max number of channels allowed on a connection](https://www.rabbitmq.com/networking.html#tuning-for-large-number-of-connections-channel-max) (a.k.a. `channel_max`) has been lowered from `65535` to `2047`.
|
||
|
The new default is much safer and will reduce the effect application channel leaks have on node resource consumption. **This is a potentially breaking change**.
|
||
|
|
||
|
Systems where a lot (at least hundreds) of channels *per connection* are used should explicitly override `channel_max` in the [config file](https://www.rabbitmq.com/configure.html) to a higher suitable value, e.g.:
|
||
|
|
||
|
```
|
||
|
channel_max = 4000
|
||
|
```
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#1593](https://github.com/rabbitmq/rabbitmq-server/issues/1593)
|
||
|
|
||
|
* [Ranch](https://github.com/ninenines/ranch) dependency has been updated to `1.5.x` which should prevent rare cases of mass termination of client connections.
|
||
|
|
||
|
|
||
|
### CLI Tools
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* `-t` (`--timeout`) is now only displayed for commands that will actually use it.
|
||
|
|
||
|
GitHub issue: [rabbitmq-cli#236](https://github.com/rabbitmq/rabbitmq-cli/issues/236)
|
||
|
|
||
|
|
||
|
### Management Plugin
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* `GET /api/overview` could fail if SNI for management plugin listener was configured.
|
||
|
|
||
|
GitHub issue: [rabbitmq-management#567](https://github.com/rabbitmq/rabbitmq-management/issues/567)
|
||
|
|
||
|
* `rabbitmqadmin` could run into an exception with certain formatting settings on Python 2.x.
|
||
|
|
||
|
GitHub issue: [rabbitmq-management#568](https://github.com/rabbitmq/rabbitmq-management/issues/568)
|
||
|
|
||
|
* HTTP API stats documentation used incorrect field names.
|
||
|
|
||
|
GitHub issue: [rabbitmq-management#561](https://github.com/rabbitmq/rabbitmq-management/pull/561)
|
||
|
|
||
|
|
||
|
### LDAP Plugin
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* LDAP server-initiated connection closure was not handled gracefully by connection pool.
|
||
|
Kudos to Adam Gardner for [doing all the hard work](https://groups.google.com/forum/#!topic/rabbitmq-users/4Gva3h-yJzM) investigating this issue.
|
||
|
|
||
|
GitHub issues: [rabbitmq-auth-backend-ldap#82](https://github.com/rabbitmq/rabbitmq-auth-backend-ldap/issues/82), [rabbitmq-auth-backend-ldap#90](https://github.com/rabbitmq/rabbitmq-auth-backend-ldap/issues/90)
|
||
|
|
||
|
* `auth_ldap.idle_timeout` now defaults to 300 seconds instead of `infinity`.
|
||
|
|
||
|
GitHub issue: [rabbitmq-auth-backend-ldap#81](https://github.com/rabbitmq/rabbitmq-auth-backend-ldap/issues/81)
|
||
|
|
||
|
* `group_lookup_base` was not configurable via the new style config format.
|
||
|
|
||
|
GitHub issue: [rabbitmq-auth-backend-ldap#85](https://github.com/rabbitmq/rabbitmq-auth-backend-ldap/issues/85)
|
||
|
|
||
|
* `auth_ldap.log` didn't accept `network_unsafe` for severity value.
|
||
|
|
||
|
GitHub issue: [rabbitmq-auth-backend-ldap#86](https://github.com/rabbitmq/rabbitmq-auth-backend-ldap/issues/86)
|
||
|
|
||
|
#### Enhancements
|
||
|
|
||
|
* It is now possible to configure TLS options for LDAP server connections via the [new style config format](https://www.rabbitmq.com/configure.html).
|
||
|
|
||
|
GitHub issue: [rabbitmq-auth-backend-ldap#88](https://github.com/rabbitmq/rabbitmq-auth-backend-ldap/issues/88)
|
||
|
|
||
|
|
||
|
### Federation Plugin
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* Federation upstream sets could run into a type error with exchange federation.
|
||
|
|
||
|
GitHub issue: [rabbitmq-federation#75](https://github.com/rabbitmq/rabbitmq-federation/issues/75)
|
||
|
|
||
|
|
||
|
### Shovel Plugin
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* Valid dynamic Shovel properties can be rejected by validation.
|
||
|
|
||
|
GitHub issue: [rabbitmq-shovel#38](https://github.com/rabbitmq/rabbitmq-shovel/issues/38)
|
||
|
|
||
|
* Shovel names are again included into (application-provided) connection names and can therefore
|
||
|
be seen in the management UI.
|
||
|
|
||
|
GitHub issue: [rabbitmq-shovel#40](https://github.com/rabbitmq/rabbitmq-shovel/issues/40)
|
||
|
|
||
|
|
||
|
### Peer Discovery AWS Plugin
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* China-based AWS regions now use a correct base API URI.
|
||
|
|
||
|
GitHub issue: [rabbitmq-peer-discovery-aws#23](https://github.com/rabbitmq/rabbitmq-peer-discovery-aws/issues/23)
|
||
|
|
||
|
* The plugin could fail to discover all nodes in a returned instance set.
|
||
|
|
||
|
GitHub issue: [rabbitmq-peer-discovery-aws#20](https://github.com/rabbitmq/rabbitmq-peer-discovery-aws/issues/20)
|
||
|
|
||
|
|
||
|
### Peer Discovery Kubernetes Plugin
|
||
|
|
||
|
#### Enhnacements
|
||
|
|
||
|
* The plugin now supports [randomized startup delay](https://www.rabbitmq.com/cluster-formation.html#initial-formation-race-condition) with much lower default values
|
||
|
since RSD is [not really necessary](https://www.rabbitmq.com/cluster-formation.html#peer-discovery-k8s) for stateful set deployments.
|
||
|
|
||
|
GitHub issue: [rabbitmq-peer-discovery-k8s#23](https://github.com/rabbitmq/rabbitmq-peer-discovery-k8s/issues/23)
|
||
|
|
||
|
|
||
|
### AMQP 1.0 Client
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* It wasn't possible to send some messages using QPid JMS client over AMQP 1.0.
|
||
|
|
||
|
GitHub issue: [rabbitmq-amqp1.0#61](https://github.com/rabbitmq/rabbitmq-amqp1.0/issues/61)
|
||
|
|
||
|
|
||
|
### Web MQTT Plugin
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* New style config format was not interpreting IP addresses correctly.
|
||
|
|
||
|
GitHub issue: [rabbitmq-web-mqtt#26](https://github.com/rabbitmq/rabbitmq-web-mqtt/issues/26)
|
||
|
|
||
|
|
||
|
### Web STOMP Plugin
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* It wasn't possible to configure TCP listener(s) in the new style config format.
|
||
|
|
||
|
GitHub issue: [rabbitmq-web-stomp#82](https://github.com/rabbitmq/rabbitmq-web-stomp/issues/82)
|
||
|
|
||
|
|
||
|
|
||
|
## 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.7.5.tar.gz`.
|