File: 3.11.5.md

package info (click to toggle)
rabbitmq-server 4.0.5-13
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 38,332 kB
  • sloc: erlang: 257,826; javascript: 22,466; sh: 3,037; makefile: 2,599; python: 1,966; xml: 646; cs: 335; java: 244; ruby: 212; php: 100; perl: 63; awk: 13
file content (164 lines) | stat: -rw-r--r-- 6,366 bytes parent folder | download | duplicates (2)
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
RabbitMQ `3.11.5` is a maintenance release in the `3.11.x` [release series](https://www.rabbitmq.com/versions.html).

Please refer to the upgrade section from [v3.11.0 release notes](https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.11.0)
if upgrading from a version prior to 3.11.0.

This release requires Erlang 25.
[RabbitMQ and Erlang/OTP Compatibility Matrix](https://www.rabbitmq.com/which-erlang.html) has more details on
Erlang version requirements for RabbitMQ.


### Minimum Supported Erlang Version

As of 3.11.0, RabbitMQ requires Erlang 25. Nodes **will fail to start** on older Erlang releases.

Erlang 25 as our new baseline means much improved performance on ARM64 architectures, [profiling with flame graphs](https://blog.rabbitmq.com/posts/2022/05/flame-graphs/)
across all architectures, and the most recent TLS 1.3 implementation available to all RabbitMQ 3.11 users.


## Changes Worth Mentioning

Release notes can be found on GitHub at [rabbitmq-server/release-notes](https://github.com/rabbitmq/rabbitmq-server/tree/v3.11.x/release-notes).


### Core Server

#### Enhancements

 * Backported a number of improvements for non-ASCII character handling in paths on Windows.

   GitHub issue: [#5551](https://github.com/rabbitmq/rabbitmq-server/pull/5551)

 * Backported a number of free disk space monitor resiliency improvements.

   GitHub issue: [#5831](https://github.com/rabbitmq/rabbitmq-server/pull/5831)

 * If `handle.exe` is not available, free disk space monitor will now shell out to PowerShell
   to retrieve the number of open file handles used by the node.

   GitHub issue: [#6613](https://github.com/rabbitmq/rabbitmq-server/issues/6613)

 * `raft.adaptive_failure_detector.poll_interval` exposes [`aten`]()'s `poll_interval` setting to
   RabbitMQ users. Increasing it can reduce the probability of false positives in clusters where
   inter-node communication links are used at close to maximum capacity.
   The default is `5000` (5 seconds).

   GitHub issue: [#6632](https://github.com/rabbitmq/rabbitmq-server/pull/6632)

 * When both `disk_free_limit.relative` and `disk_free_limit.absolute`,
   or both `vm_memory_high_watermark.relative` and `vm_memory_high_watermark.absolute` are set,
   the absolute settings will now take precedence.

   Contributed by @SimonUnge (AWS).

   GitHub issue: [#4980](https://github.com/rabbitmq/rabbitmq-server/issues/4980)

 * Closing channels will now log a warning if they had any messages pending a [confirmation from the server](https://www.rabbitmq.com/publishers.html#data-safety).

   Contributed by @Kiruamvp.

   GitHub issue: [#1399](https://github.com/rabbitmq/rabbitmq-server/issues/1399)

 * New quorum queue option for in-memory table (MemTable) compression.

   GitHub issue: [#6590](https://github.com/rabbitmq/rabbitmq-server/pull/6590)

 * Default queue type (a virtual host setting) is now applied when importing definitions
   into a single virtual host.

   GitHub issue: [#6599](https://github.com/rabbitmq/rabbitmq-server/pull/6599)

#### Bug Fixes

 * Feature flags provided by plugins were mistakingly disabled after node restart.

   GitHub issue: [#6500](https://github.com/rabbitmq/rabbitmq-server/issues/6500)

 * Classic queues with [Single Active Consumer](https://www.rabbitmq.com/consumers.html#single-active-consumer) enabled could run into an exception.

   GitHub issue: [#6502](https://github.com/rabbitmq/rabbitmq-server/pull/6502)

 * When a [global parameter](https://www.rabbitmq.com/parameters.html#parameter-management) was cleared,
   nodes emitted an [internal event](https://www.rabbitmq.com/logging.html#internal-events) of the wrong type.

   GitHub issue: [#6538](https://github.com/rabbitmq/rabbitmq-server/pull/6538)


### CLI Tools

#### Bug Fixes

 * `rabbitmq-queues grow` and `rabbitmq-queues shrink` misformatted the errors
   they could encounter.

   Contributed by @gomoripeti (CloudAMQP).

   GitHub issue: [#6601](https://github.com/rabbitmq/rabbitmq-server/pull/6601)

#### Enhancements

 * Implicit `help` command (when CLI tools were invoked without a command name)
   now respects all global flags (such as `--node`). For example, previously
   the `--node` flag in

   ``` shell
   rabbitmqctl --node rabbit@ns1.rabbitmq.cluster.local
   ```

   was ignored but now CLI tools would discover what plugins are enabled
   on node `rabbit@ns1.rabbitmq.cluster.local` and include them into `help` output.

   GitHub issue: [#6598](https://github.com/rabbitmq/rabbitmq-server/pull/6598)

 * New key supported by `rabbitmqctl list_queues`: `effective_policy_definition` that returns
   merged definitions of regular and [operator policies](https://www.rabbitmq.com/parameters.html#operator-policies) effective for the queue.

   GitHub issue: [#6556](https://github.com/rabbitmq/rabbitmq-server/pull/6556)

### Management Plugin

#### Enhancements

 * It is now possible to omit explicitly specifying queue type when declaring
   a queue (or stream) in the management UI, and rely on the default queue type
   configured for the selected virtual host.

   GitHub issue: [#6600](https://github.com/rabbitmq/rabbitmq-server/pull/6600)

 * New HTTP API endpoint, `GET /api/config/effective`, returns effective node configuration.
   This is an HTTP API counterpart of `rabbitmq-diagnostics environment`.

   Contributed by @SimonUnge (AWS).

   GitHub issue: [#6016](https://github.com/rabbitmq/rabbitmq-server/issues/6016)

### Shovel Plugin

#### Enhancements

 * Flow control state for Shovels is now reported with higher fidelity
   (of 1 second vs. several seconds previously). This means it should be easier
   to spot Shovels that run into flow control using management UI.

   Contributed by @gomoripeti (CloudAMQP).

   GitHub issue: [#6615](https://github.com/rabbitmq/rabbitmq-server/pull/6615)

### Sharding Plugin

#### Bug Fixes

 * Plugin could fail to boot and halt node boot due to incorrect boot step
   metadata.

   GitHub issue: [#6583](https://github.com/rabbitmq/rabbitmq-server/pull/6583)

## Dependency Upgrades

 * `ra` was upgraded [from `2.4.1` to `2.4.5`](https://github.com/rabbitmq/ra/releases)


## Source Code Archives

To obtain source code of the entire distribution, please download the archive named `rabbitmq-server-3.11.5.tar.xz`
instead of the source tarball produced by GitHub.