File: 3.12.7.md

package info (click to toggle)
rabbitmq-server 4.0.5-6
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 37,948 kB
  • sloc: erlang: 257,835; javascript: 22,466; sh: 2,796; makefile: 2,517; python: 1,966; xml: 646; cs: 335; java: 244; ruby: 212; php: 100; perl: 63; awk: 13
file content (182 lines) | stat: -rw-r--r-- 6,315 bytes parent folder | download
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
RabbitMQ `3.12.7` is a maintenance release in the `3.12.x` [release series](https://www.rabbitmq.com/versions.html).

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

This release requires Erlang 25 and supports Erlang versions up to `26.1.x`.
[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.12.0, RabbitMQ requires Erlang 25. Nodes **will fail to start** on older Erlang releases.

Users upgrading from 3.11.x (or older releases) on Erlang 25 to 3.12.x on Erlang 26
(both RabbitMQ *and* Erlang are upgraded at the same time) **must** consult
the [v3.12.0 release notes](https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.12.0) first.


## Changes Worth Mentioning

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


### Core Server

#### Bug Fixes

 * Stream replication connections configured to use exclusively TLSv1.3 failed.

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

 * On startup, stream replicas will handle one more potential case of segment file corruption
   after an unclean shutdown.

   Contributed by @gomoripeti (CloudAMQP).

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

 * `default_policies.*.queue_pattern` definition in `rabbitmq.conf` was incorrectly parsed.

   Contributed by @SimonUnge (AWS).

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

 * Avoid log noise when inter-node connections frequently fail and recover.

   Contributed by @Ayanda-D.

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

#### Enhancements

 * Optimized stream index scans. Longer scans could result in some replicas stopping
   with a timeout.

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

 * Classic queue storage version is now a supported key for [operator policies](https://rabbitmq.com/parameters.html#operator-policies).

   Contributed by @SignalWhisperer (AWS).

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

 * [Queue length limit](https://rabbitmq.com/maxlength.html) overflow behavior now can be configured via [operator policies](https://rabbitmq.com/parameters.html#operator-policies).

   Contributed by @SimonUnge (AWS).

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


### CLI Tools

#### Bug Fixes

 * `rabbitmq-streams list_stream_consumer_groups` incorrectly validated the set of columns it accepts.

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

#### Enhancements

 * Several `list_stream_*` commands (available via both `rabbitmq-diagnostics` and `rabbitmq-streams`) commands now can
   display replica node in addition to other fields.

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

 * `rabbitmqctl add_user` now can accept a [pre-generated salted password](https://rabbitmq.com/passwords.html) instead
   of a plain text password, both as a positional argument and via standard input:

   ``` shell
   # This is just an example, DO NOT use this value in production!
   # The 2nd argument is a Base64-encoded pre-hashed and salted value of "guest4"
   rabbitmqctl -- add_user "guest4" "BMT6cj/MsI+4UOBtsPPQWpQfk7ViRLj4VqpMTxu54FU3qa1G" --pre-hashed-password
   # try authenticating with a pair of credentials
   rabbitmqctl authenticate_user "guest4" "guest4"
   ```

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


### Management Plugin

#### Bug Fixes

 * Message consumption with the "Nack message, requeue: true" option did not actually requeue deliveries.

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

#### Enhancements

 * HTTP API request body size is now limited to 10 MiB by default.
   Two endpoints, one that accepts messages for publishing (note: publishing over the HTTP API is greatly discouraged)
   and another for [definition import](https://rabbitmq.com/definitions.html#import),
   will now reject larger transfers with a `400 Bad Request` response.

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

 * `DELETE /api/queues/{vhost}/{name}` now can delete exclusive queues.

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

 * Key supported by operator policies are now grouped by queue type in the UI.

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


### MQTT Plugin

#### Enhancements

 * Improved data safety for confirms in environments where the plugin uses classic queues.

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


### Web MQTT Plugin

#### Bug Fixes

 * Avoid an exception when a not fully established MQTT-over-WebSockets connection terminated.

   Contributed by @gomoripeti (CloudAMQP).

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


### JMS Topic Exchange Plugin

#### Bug Fixes

 * Recovery of bindings of durable queues bound to a transient JMS topic exchange failed.

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


### Sharding Plugin

#### Bug Fixes

 * Recovery of bindings of durable queues bound to a transient `x-modulo-hash` exchange failed.

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


### Recent History Exchange Plugin

#### Bug Fixes

 * Recovery of bindings of durable queues bound to a transient recent history exchange failed.

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


## Dependency Upgrades

 * `osiris` has been upgraded to [`1.6.9`](https://github.com/rabbitmq/osiris/releases)


## Source Code Archives

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