Skip to content

Commit a937c32

Browse files
4.2.0 release notes updates for beta.2
1 parent b99aca7 commit a937c32

File tree

1 file changed

+126
-0
lines changed

1 file changed

+126
-0
lines changed

release-notes/4.2.0.md

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,129 @@ rabbitmqctl enable_feature_flag khepri_db
103103

104104
Khepri will become mandatory in a future minor version. Mnesia support will be
105105
dropped in a future major version. These exact versions are to be decided.
106+
107+
### Local Shovels
108+
109+
In addition to AMQP 0-9-1 and AMQP 1.0, Shovels
110+
now support a new "protocol" option called `local`.
111+
112+
These specialized shovels are internally based on AMQP 1.0 but instead of
113+
separate TCP connections, use the intra-cluster connections
114+
between cluster nodes and the internal API for consumption, publishing
115+
and AMQP 1.0 credit flow.
116+
117+
Such shovels can only be used for consuming and publishing
118+
within the same cluster, not across clusters, but can offer
119+
higher throughput and use fewer resources per connections
120+
than their AMQP 0-9-1 and AMQP 1.0 counterparts.
121+
122+
123+
124+
## Upgrading to 4.2.0
125+
126+
### Documentation guides on upgrades
127+
128+
See the [Upgrading guide](https://www.rabbitmq.com/docs/upgrade) for documentation on upgrades and [GitHub releases](https://github.com/rabbitmq/rabbitmq-server/releases)
129+
for release notes of individual releases.
130+
131+
This release series supports upgrades from `4.1.x`, 4.0.x` and `3.13.x`.
132+
133+
[Blue/Green Deployment](https://www.rabbitmq.com/docs/blue-green-upgrade)-style upgrades are avaialble for migrations
134+
from RabbitMQ `3.12.x` series.
135+
136+
### New Required Feature Flags
137+
138+
None. The required feature flag set is the same as in `4.1.x` and `4.0.x`.
139+
140+
### Mixed version cluster compatibility
141+
142+
RabbitMQ 4.2.0 nodes can run alongside `4.1.x` and `4.0.x` nodes. `4.2.x`-specific features can only be made available when all nodes in the cluster upgrade to 4.2.0 or a later patch release in the new series.
143+
144+
While operating in mixed version mode, some aspects of the system may not behave as expected.
145+
Once all nodes are upgraded to 4.1.0, these irregularities will go away.
146+
147+
Mixed version clusters are a mechanism that allows rolling upgrade and are not meant to be run for extended
148+
periods of time (no more than a few hours).
149+
150+
### Recommended Post-upgrade Procedures
151+
152+
This version does not require any additional post-upgrade procedures
153+
compared to other versions.
154+
155+
156+
157+
## Changes Worth Mentioning
158+
159+
This section is **incomplete** and will be expanded as 4.2 approaches its release candidate stage.
160+
161+
### Core Server
162+
163+
#### Enhancements
164+
165+
* In clusters with a larger number of quorum queues (say, tens of thousands),
166+
quorum queue leadership transfer is now performed gradually and not all at once.
167+
168+
Previously tens of thousands of concurrent leader elections
169+
could result in timeouts and some quorum queues ending up
170+
without an elected leader.
171+
172+
GitHub issue: [#14401](https://github.com/rabbitmq/rabbitmq-server/pull/14401)
173+
174+
* When a configured [authentication or authorization backend](https://www.rabbitmq.com/docs/access-control#backends) comes from a known
175+
plugin but the plugin is not enabled, the node will now refuse to start.
176+
177+
Previously the node would boot but client connections would fail because
178+
of the missing backend modules.
179+
180+
GitHub issues: [#13783](https://github.com/rabbitmq/rabbitmq-server/discussions/13783), [#14408](https://github.com/rabbitmq/rabbitmq-server/pull/14408)
181+
182+
* Similarly to the number of [queues](https://github.com/rabbitmq/rabbitmq-server/pull/11196) and [virtual hosts](https://github.com/rabbitmq/rabbitmq-server/pull/7798), it is now possible
183+
to configure a limit on the cluster-wide number of exchanges that applications
184+
can create:
185+
186+
```ini
187+
# Applications won't be able to decalre more than 200 exchanges
188+
# (including the protocol-standard pre-declared ones) in the cluster
189+
cluster_exchange_limit = 200
190+
```
191+
192+
#### Bug Fixes
193+
194+
* `default_password`, `ssl_options.password` now can tell between a generated random password
195+
value and an [encrypted value](https://www.rabbitmq.com/docs/configure#configuration-encryption) better.
196+
197+
Encrypted values must be prefixed with `encrypted:`. All other values, including
198+
generated passwords that contain a colon (`:`), will be considered non-encrypted ones.
199+
200+
GitHub issue: [#14365](https://github.com/rabbitmq/rabbitmq-server/pull/14365)
201+
202+
* Import of definition files that contained topic exchange permissions failed.
203+
204+
GitHub issue: [#14409](https://github.com/rabbitmq/rabbitmq-server/pull/14409)
205+
206+
207+
### Stream Plugin
208+
209+
#### Bug Fixes
210+
211+
* Stream client connections that authenticate using a JWT token (OAuth 2) have
212+
to periodically renew their JWT tokens. Should such an update fail,
213+
the RabbitMQ Stream Protocol connection will be immediately closed.
214+
215+
In addition, stream connections now verify that the newly obtained JWT
216+
token still grants access to the virtual host the client is connected to.
217+
218+
GitHub issues: [#14403](https://github.com/rabbitmq/rabbitmq-server/pull/14403), [#14406](https://github.com/rabbitmq/rabbitmq-server/pull/14406)
219+
220+
221+
222+
### Dependency Changes
223+
224+
* `ra` was upgraded to [`2.17.1`](https://github.com/rabbitmq/ra/releases)
225+
* `cuttlefish` was upgraded to [`3.5.0`](https://github.com/kyorai/cuttlefish/releases)
226+
227+
228+
## Source Code Archives
229+
230+
To obtain source code of the entire distribution, please download the archive named `rabbitmq-server-4.2.0.tar.xz`
231+
instead of the source tarball produced by GitHub.

0 commit comments

Comments
 (0)