summaryrefslogtreecommitdiff
path: root/release-notes/3.7.5.md
blob: 62539fc2a0111cbcce24b28988f659d2856ebf57 (plain)
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
## 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`.