You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RabbitMQ `4.0.0-beta.4` is a preview of a new major release.
3
+
RabbitMQ `4.0.0-beta.5` is a preview of a new major release.
4
4
5
5
Starting June 1st, 2024, community support for this series will only be provided to [regularly contributing users](https://github.com/rabbitmq/rabbitmq-server/blob/main/COMMUNITY_SUPPORT.md) and those who hold a valid [commercial support license](https://tanzu.vmware.com/rabbitmq/oss).
6
6
@@ -20,20 +20,73 @@ Some key improvements in this release are listed below.
20
20
use quorum queues and/or streams. Non-replicated classic queues remain and their development continues
21
21
* Classic queue [storage efficiency improvements](https://github.com/rabbitmq/rabbitmq-server/pull/11112), in particular recovery time and storage of multi-MiB messages
22
22
* Nodes with multiple enabled plugins and little on disk data to recover now [start up to 20-30% faster](https://github.com/rabbitmq/rabbitmq-server/pull/10989)
23
-
* CQv1, [the original classic queue storage layer, was removed](https://github.com/rabbitmq/rabbitmq-server/pull/10656) except for the part that's necessary for upgrades
24
-
* Several I/O-related metrics are dropped, they should be [monitored at the infrastructure and kernel layers](https://www.rabbitmq.com/docs/monitoring#system-metrics)
23
+
* New exchange type: [Local Random Exchange](https://rabbitmq.com/docs/next/local-random-exchange)
25
24
26
25
See Compatibility Notes below to learn about **breaking or potentially breaking changes** in this release.
27
26
28
27
## Breaking Changes and Compatibility Notes
29
28
30
-
* RabbitMQ 3.13 [rabbitmq.conf](https://www.rabbitmq.com/docs/configure#config-file) settings `mqtt.default_user`, `mqtt.default_password`, and `amqp1_0.default_user` are unsupported in RabbitMQ 4.0
31
-
Instead, set the new RabbitMQ 4.0 settings `anonymous_login_user` and `anonymous_login_pass` (both values default to `guest`).
32
-
For production scenarios, [disallow anonymous logins](https://www.rabbitmq.com/docs/next/production-checklist#anonymous-login)
33
-
* RabbitMQ 3.13 `rabbitmq.conf` setting `rabbitmq_amqp1_0.default_vhost` is unsupported in RabbitMQ 4.0.
34
-
Instead `default_vhost` will be used to determine the default vhost an AMQP 1.0 client connects to(i.e. when the AMQP 1.0 client does not define the vhost in the `hostname` field of the `open` frame)
35
-
* RabbitMQ Shovels will be able connect to a RabbitMQ 4.0 node via AMQP 1.0 only when the Shovel runs on a RabbitMQ node >= `3.13.7`
36
-
* Quorum queues will now always set a default `delivery-limit` of 20 which can be increased or decreased by policies and queue arguments but cannot be unset. Some applications or configurations may need to be updated to handle this.
29
+
### Classic Queues is Now a Non-Replicated Queue Type
30
+
31
+
After three years of deprecated, classic queue mirroring was completely removed in this version.
32
+
[Quorum queues](https://www.rabbitmq.com/docs/quorum-queues) and [streams](https://www.rabbitmq.com/docs/streams) are two mature
33
+
replicated data types offered by RabbitMQ 4.x. Classic queues continue being supported without any breaking changes
34
+
for client libraries and applications but they are now a non-replicated queue type.
35
+
36
+
After an upgrade to 4.0, all classic queue mirroring-related parts of policies will have no effect.
37
+
Classic queues will continue to work like before but with only one replica.
38
+
39
+
Clients will be able to connect to any node to publish to and consume from any non-replicated classic queues.
40
+
Therefore applications will be able to use the same classic queues as before.
41
+
42
+
See [Mirrored Classic Queues Migration to Quorum Queues](https://www.rabbitmq.com/docs/migrate-mcq-to-qq) for guidance
43
+
on how to migrate to quorum queues for the parts of the system that really need to use replication.
44
+
45
+
### Quorum Queues Now Have a Default Redelivery Limit
46
+
47
+
Quorum queues now have a default [redelivery limit](https://www.rabbitmq.com/docs/next/quorum-queues#poison-message-handling) set to `20`.
48
+
49
+
### CQv1 Storage Implementation was Removed
50
+
51
+
CQv1, [the original classic queue storage layer, was removed](https://github.com/rabbitmq/rabbitmq-server/pull/10656)
52
+
except for the part that's necessary for upgrades to CQv2 (the 2nd generation).
53
+
54
+
### Several Disk I/O-Related Metrics were Removed
55
+
56
+
Several I/O-related metrics are dropped, they should be [monitored at the infrastructure and kernel layers](https://www.rabbitmq.com/docs/monitoring#system-metrics)
57
+
58
+
### Default Maximum Message Size Reduced to 16 MiB
59
+
60
+
Default maximum message size is reduced to 16 MiB (from 128 MiB).
61
+
62
+
The limit can be increased via a `rabbitmq.conf` setting:
63
+
64
+
```ini
65
+
# 32 MiB
66
+
max_message_size = 33554432
67
+
```
68
+
69
+
However, it is recommended that such large multi-MiB messages are put into a blob store, and their
70
+
IDs are passed around in messages instead of the entire payload.
71
+
72
+
### AMQP 1.0
73
+
74
+
RabbitMQ 3.13 `rabbitmq.conf` setting `rabbitmq_amqp1_0.default_vhost` is unsupported in RabbitMQ 4.0.
75
+
76
+
Instead `default_vhost` will be used to determine the default vhost an AMQP 1.0 client connects to(i.e. when the AMQP 1.0 client does not define the vhost in the `hostname` field of the `open` frame).
0 commit comments