File: 3.12.5.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 (156 lines) | stat: -rw-r--r-- 5,673 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
RabbitMQ `3.12.5` is a maintenance release in the `3.12.x` [release series](https://www.rabbitmq.com/versions.html).
**All users are encouraged to skip this version in favor of [`3.12.6`](https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.12.6)**.

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

 * Quorum queue leader changes are now correctly observed in certain network failure scenarios.

   GitHub issues: [#9241](https://github.com/rabbitmq/rabbitmq-server/pull/9241), [#9227](https://github.com/rabbitmq/rabbitmq-server/pull/9227)

 * High consumer churn with reused consumer tag on quorum queues could result in some messages not being delivered
   after a period of time.

   This did not affect environments where consumer churn does not exist or where it does but consumer tags vary.

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

 * Three environment variables, `LOG_BASE`, `MNESIA_BASE`, `CONFIG_FILE`, were not picked up when set in
   `rabbitmq-env-conf.bat` on Windows.

   Gi9158issue: [#9307](https://github.com/rabbitmq/rabbitmq-server/pull/9307)

 * Avoids a potential exception when autoheal partition handling process was initiated.

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

 * Avoids a potential exception in the credit flow subsystem.

   Contributed by @Ayanda-D.

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

 * Classic queues v2 (CQv2) that had priorities enabled were reporting their storage version
   incorrectly.

   Contributed by @gomoripeti (CloudAMQP).

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

#### Enhancements

 * Channels that had many thousands of consumers (usually due to a consumer leak in the application)
   now consume a lot less CPU resources when the channel is closed.

   As part of this optimization, individual `consumer.deleted` internal events are no
   longer emitted when a channel is closed, only a `channel.closed` event is. This also
   help reduce audit event log size, since those `consumer.deleted` events provided
   no useful information in this context.

   Contributed by @SimonUnge (AWS).

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

 * Initial forward compatibility with later Erlang 26.x and 27.0 releases.

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

 * Nodes now log boot time at info level instead of debug. This piece of information
   can be useful during root cause analysis.

   Contributed by @johanrhodin (CloudAMQP).

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

 * Channel interceptors (defined by plugins) now can return one more type of errors.

   Contributed by @Ayanda-D.

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


### CLI Tools

#### Bug Fixes

 * `rabbitmqctl delete_queue` now handles more queue replica failure scenarios
   (that were previously handled by client operations and the HTTP API but not CLI tools).

   Contributed by @Ayanda-D.

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

 * `rabbitmq-streams delete_replica` now handles scenarios where the replica is hosted
   on a node that is not accessiable (reachable).

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


### MQTT Plugin

#### Bug Fixes

 * If a socket write fails, close the connection quickly to avoid producing a lot of
   log noise.

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


### AMQP 1.0 Plugin

#### Bug Fixes

 * Listing AMQP 1.0 connections in a system that had both AMQP 1.0 and AMQP 0-9-1 clients connected
   resulted in exceptions logged and partial results returned to CLI tools.

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


### Prometheus Plugin

#### Enhancements

 * The plugin now exposes a new gauge, `rabbitmq_unreachable_cluster_peers_count`, that indicates how many cluster
   peers **cannot** be reached by this node.

   Contributed by @gomoripeti (CloudAMQP).

   GitHub issues: [#2508](https://github.com/rabbitmq/rabbitmq-server/issues/2508), [#9465](https://github.com/rabbitmq/rabbitmq-server/pull/9465)


## Dependency Upgrades

 * `osiris` was upgraded to [`1.6.7`](https://github.com/rabbitmq/osiris/tags)


## Dependency Upgrades

None in this release.

## Source Code Archives

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