Skip to content

Commit a70ecde

Browse files
4.2.0 release notes updates
(cherry picked from commit 8b4a3f6)
1 parent c9fba5b commit a70ecde

File tree

1 file changed

+107
-2
lines changed

1 file changed

+107
-2
lines changed

release-notes/4.2.0.md

Lines changed: 107 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,10 @@ Pull Request: [#14474](https://github.com/rabbitmq/rabbitmq-server/pull/14474)
7474
[Blue-Green Deployment migration from RabbitMQ 3.13.x](https://www.rabbitmq.com/blog/2025/07/29/latest-benefits-of-rmq-and-migrating-to-qq-along-the-way)
7575
to 4.2.0 is now easier to automate thanks to a new set of commands provided by [`rabbitmqadmin` v2](https://www.rabbitmq.com/docs/management-cli).
7676

77-
### Incoming and Outgoing Message Interceptors for Native Protocols
77+
### Incoming and Outgoing Message Interceptors for Native Protocols (AMQP 1.0, AMQP 0-9-1, MQTTv3, MQTTv5)
7878

7979
Incoming and outgoing messages can now be intercepted on the broker.
80-
This works for AMQP 1.0, AMQP 0.9.1, and MQTT.
80+
This works for AMQP 1.0, AMQP 0.9.1, MQTTv3, and MQTTv5.
8181

8282
What the interceptor does is entirely up to its implementation, for example it can validate message metadata, add annotations, or perform arbitrary side effects.
8383
Custom interceptors can be developed and integrated via [plugins](https://www.rabbitmq.com/docs/next/plugins).
@@ -220,6 +220,25 @@ This section is **incomplete** and will be expanded as 4.2 approaches its releas
220220

221221
#### Bug Fixes
222222

223+
* Classic queues could run into a rare message store exception that resuulted in
224+
a loss of a few messages.
225+
226+
Special kudos to the contributors who have spent a very significant amount of time
227+
reproducing and debugging the issue: @lhoguin @lukebakken @trvrnrth @gomoripeti
228+
229+
GitHub issues: [#14181](https://github.com/rabbitmq/rabbitmq-server/discussions/14181), [#14576](https://github.com/rabbitmq/rabbitmq-server/pull/14576)
230+
231+
* Messages routed to quorum queues during or immediately before a network partition,
232+
in some cases were not re-republished internally in certain cases.
233+
234+
GitHub issue: [#14589](https://github.com/rabbitmq/rabbitmq-server/pull/14589)
235+
236+
* Quorum queues with disabled [poison message handling](https://www.rabbitmq.com/docs/quorum-queues#poison-message-handling)
237+
(an unlimited number of redeliveries, which is **not** a recommended practice) could accumulate
238+
a significant number of Raft log segment files.
239+
240+
GitHub issues: [#14202](https://github.com/rabbitmq/rabbitmq-server/issues/14202), [#14458](https://github.com/rabbitmq/rabbitmq-server/pull/14458)
241+
223242
* `default_password`, `ssl_options.password` now can tell between a generated random password
224243
value and an [encrypted value](https://www.rabbitmq.com/docs/configure#configuration-encryption) better.
225244

@@ -235,6 +254,12 @@ This section is **incomplete** and will be expanded as 4.2 approaches its releas
235254

236255
### Stream Plugin
237256

257+
#### Enhancements
258+
259+
* Consuming from a stream now uses fewer system calls and therefore is more efficient.
260+
261+
GitHub issues: [#14189](https://github.com/rabbitmq/rabbitmq-server/pull/14189), [rabbitmq/osiris#192](https://github.com/rabbitmq/osiris/pull/192)
262+
238263
#### Bug Fixes
239264

240265
* Stream client connections that authenticate using a JWT token (OAuth 2) have
@@ -247,10 +272,90 @@ This section is **incomplete** and will be expanded as 4.2 approaches its releas
247272
GitHub issues: [#14403](https://github.com/rabbitmq/rabbitmq-server/pull/14403), [#14406](https://github.com/rabbitmq/rabbitmq-server/pull/14406)
248273

249274

275+
### CLI Tools
276+
277+
#### Enhancements
278+
279+
* `rabbitmq-diagnostics ` is a new command that provides a message size distribution.
280+
Use it to get an estimate of the size of the messages flowing through the cluster.
281+
282+
GitHub issue: [#14560](https://github.com/rabbitmq/rabbitmq-server/pull/14560)
283+
284+
285+
### Management Plugin
286+
287+
#### Enhancements
288+
289+
* Users now can be protected from deletion or modification over the HTTP API.
290+
To protect a user, [tag it](https://www.rabbitmq.com/docs/access-control#user-tags) with `protected`:
291+
292+
```shell
293+
rabbitmqctl set_user_tags "a-user" "protected"
294+
```
295+
296+
To lift the protection, remove the tag using `rabbitmqctl set_tags` or delete the user via `rabbitmqctl delete_user`
297+
re-create it with a different set of tags.
298+
299+
GitHub issues: [#14282](https://github.com/rabbitmq/rabbitmq-server/discussions/14282), [#14545](https://github.com/rabbitmq/rabbitmq-server/pull/14545)
300+
301+
302+
### Shovel Plugin
303+
304+
#### Enhancements
305+
306+
* Shovels now support a new "protocol" called `local`.
307+
308+
In addition to AMQP 0-9-1 and AMQP 1.0, Shovels
309+
now support a new "protocol" option called `local`.
310+
311+
These specialized shovels are internally based on AMQP 1.0 but instead of
312+
separate TCP connections, use the intra-cluster connections
313+
between cluster nodes and the internal API for consumption, publishing
314+
and AMQP 1.0 credit flow.
315+
316+
Such shovels can only be used for consuming and publishing
317+
within the same cluster, not across clusters, but can offer
318+
higher throughput and use fewer resources per connections
319+
than their AMQP 0-9-1 and AMQP 1.0 counterparts.
320+
321+
#### Bug Fixes
322+
323+
* Prometheus metric collector failed with an exception when the scraper endpoint
324+
was hit when one or more shovels were still starting.
325+
326+
327+
### AWS Peer Discovery Plugin
328+
329+
####
330+
331+
* The plugin implicitly depended on ordering of `` and `` EC2 API response fields,.
332+
which could result in obscure cluster formation issues.
333+
334+
GitHub issue: [#14557](https://github.com/rabbitmq/rabbitmq-server/pull/14557)
335+
336+
337+
### Web MQTT Plugin
338+
339+
#### Enhancements
340+
341+
* HTTP/2 is enabled for WebSocket connections by default.
342+
343+
GitHub issue: [#14500](https://github.com/rabbitmq/rabbitmq-server/pull/14500)
344+
345+
346+
### Web STOMP Plugin
347+
348+
#### Enhancements
349+
350+
* HTTP/2 is enabled for WebSocket connections by default.
351+
352+
GitHub issue: [#14500](https://github.com/rabbitmq/rabbitmq-server/pull/14500)
353+
250354

251355
### Dependency Changes
252356

253357
* `ra` was upgraded to [`2.17.1`](https://github.com/rabbitmq/ra/releases)
358+
* `osiris` was upgraded to [`1.10.0`](https://github.com/rabbitmq/osiris/releases)
254359
* `khepri` was upgraded to [`0.17.2`](https://github.com/rabbitmq/khepri/releases)
255360
* `khepri_mnesia_migration` was upgraded to [`0.8.0`](https://github.com/rabbitmq/khepri_mnesia_migration/releases)
256361
* `cuttlefish` was upgraded to [`3.5.0`](https://github.com/kyorai/cuttlefish/releases)

0 commit comments

Comments
 (0)