4.1.0-rc.1 release notes
This commit is contained in:
parent
213822eb5d
commit
5b99c6b5b9
|
@ -40,7 +40,7 @@ key in `rabbitmq.conf` and do not set it in the application code.
|
|||
|
||||
[`amqplib`](https://github.com/amqp-node/amqplib/) is a popular client library that has been using
|
||||
a low `frame_max` default of `4096`. Its users must [upgrade to a compatible version](https://github.com/amqp-node/amqplib/pull/787)
|
||||
or explicitly use a higher `frame_max`.
|
||||
(starting with `0.10.7`) or explicitly use a higher `frame_max`.
|
||||
|
||||
|
||||
### MQTT
|
||||
|
@ -117,6 +117,14 @@ This section can be incomplete and will be expanded as 4.1 approaches its releas
|
|||
|
||||
#### Enhancements
|
||||
|
||||
* Quorum queue log reads are now offloaded to channels (sessions, connections).
|
||||
|
||||
In practical terms this means improved consumer throughput, lower interference of publishers
|
||||
on queue delivery rate to consumers, and improved CPU core utilization by each quorum queue
|
||||
(assuming there are enough cores available to the node).
|
||||
|
||||
GitHub issue: [#12713](https://github.com/rabbitmq/rabbitmq-server/pull/12713)
|
||||
|
||||
* Feature flag quality of live improvements.
|
||||
|
||||
Certain required feature flags will now be automatically required on node boot
|
||||
|
@ -136,6 +144,22 @@ This section can be incomplete and will be expanded as 4.1 approaches its releas
|
|||
|
||||
GitHub issue: [#12415](https://github.com/rabbitmq/rabbitmq-server/pull/12415)
|
||||
|
||||
* Larger (up to 8192 bytes) [JWT tokens](https://www.rabbitmq.com/docs/oauth2) now can be used by AMQP 0-9-1 clients.
|
||||
|
||||
Before a client connection can negotiate a maximum frame size (`frame_max`), it must authenticate
|
||||
successfully. Before the authenticated phase, a special lower `frame_max` value
|
||||
is used.
|
||||
|
||||
Clients that do override `frame_max` now must use values of 8192 bytes or greater.
|
||||
We recommend using the default server value of `131072`: do not override the `frame_max`
|
||||
key in `rabbitmq.conf` and do not set it in the application code.
|
||||
|
||||
[`amqplib`](https://github.com/amqp-node/amqplib/) is a popular client library that has been using
|
||||
a low `frame_max` default of `4096`. Its users must [upgrade to a compatible version](https://github.com/amqp-node/amqplib/pull/787)
|
||||
(starting with `0.10.7`) or explicitly use a higher `frame_max`.
|
||||
|
||||
GitHub issue: [#13541](https://github.com/rabbitmq/rabbitmq-server/issues/13541)
|
||||
|
||||
* AMQP 1.0 connections that use OAuth 2.0 now can renew their JWT tokens
|
||||
This allows clients to set a new token proactively before the current one [expires](/docs/oauth2#token-expiration), ensuring uninterrupted connectivity.
|
||||
If a client does not set a new token before the existing one expires, RabbitMQ will automatically close the AMQP 1.0 connection.
|
||||
|
@ -162,6 +186,24 @@ This section can be incomplete and will be expanded as 4.1 approaches its releas
|
|||
|
||||
GitHub issue: [#13231](https://github.com/rabbitmq/rabbitmq-server/pull/13231)
|
||||
|
||||
* Quorum queue checkpoint algorithm was tweaked to take checkpoints more frequently, thus
|
||||
clearing older segment files more aggressively.
|
||||
|
||||
Workloads that use larger messages should continue following [the documented recommendations](https://www.rabbitmq.com/docs/quorum-queues#performance-tuning-large-messages) to
|
||||
avoid large disk space footprint of segment files.
|
||||
|
||||
GitHub issue: [#13622](https://github.com/rabbitmq/rabbitmq-server/pull/13622)
|
||||
|
||||
* Previously a node that was a cluster member but then was [reset](https://www.rabbitmq.com/docs/clustering#restarting-with-hostname-changes) could not
|
||||
rejoin the cluster if the [schema data store](https://www.rabbitmq.com/docs/metadata-store) was Mnesia.
|
||||
|
||||
Now the reset node will try to leave the cluster and retry rejoining again.
|
||||
This was already the case for Khepri.
|
||||
|
||||
Contributed by @SimonUnge.
|
||||
|
||||
GitHub issue: [#13643](https://github.com/rabbitmq/rabbitmq-server/pull/13643)
|
||||
|
||||
* Nodes will now fall back to system CA certificate list (if available) when no CA certificate
|
||||
is explicitly configured.
|
||||
|
||||
|
@ -171,8 +213,6 @@ This section can be incomplete and will be expanded as 4.1 approaches its releas
|
|||
|
||||
* AMQP 1.0 and AMQP 0-9-1 connections now dynamically adjust their TCP socket buffers.
|
||||
|
||||
|
||||
|
||||
GitHub issue: [#13363](https://github.com/rabbitmq/rabbitmq-server/pull/13363)
|
||||
|
||||
* Peer discovery resilience improvements.
|
||||
|
@ -203,6 +243,14 @@ This section can be incomplete and will be expanded as 4.1 approaches its releas
|
|||
|
||||
#### Bug Fixes
|
||||
|
||||
* Quorum queue leadership transfer could take several seconds longer than necessary to complete.
|
||||
|
||||
GitHub issue: [#13190](https://github.com/rabbitmq/rabbitmq-server/pull/13190)
|
||||
|
||||
* Quorum queue follow replica's last index could lag behind that of the leader.
|
||||
|
||||
GitHub issue: [#13328](https://github.com/rabbitmq/rabbitmq-server/pull/13328)
|
||||
|
||||
* AMQP 0-9-1 channel exception generator could not handle entity names (say, queue or stream names)
|
||||
that contained non-ASCII characters.
|
||||
|
||||
|
@ -356,7 +404,7 @@ This section can be incomplete and will be expanded as 4.1 approaches its releas
|
|||
GitHub issue: [#12720](https://github.com/rabbitmq/rabbitmq-server/pull/12720)
|
||||
|
||||
|
||||
### Management UI
|
||||
### Management Plugin
|
||||
|
||||
#### Breaking Changes and Deprecations
|
||||
|
||||
|
@ -415,6 +463,30 @@ This section can be incomplete and will be expanded as 4.1 approaches its releas
|
|||
|
||||
GitHub issues: [#13545](https://github.com/rabbitmq/rabbitmq-server/pull/13545), [#3478](https://github.com/rabbitmq/rabbitmq-server/issues/3478)
|
||||
|
||||
* New health check commands help detect quorum queues without an elected leader.
|
||||
|
||||
```
|
||||
# verifies all quorum queues across all virtual hosts
|
||||
GET /health/checks/quorum-queues-without-elected-leaders/all-vhosts/
|
||||
```
|
||||
|
||||
```
|
||||
# verifies all quorum queues in the given virtual host
|
||||
GET /health/checks/quorum-queues-without-elected-leaders/vhost/{vhost}
|
||||
```
|
||||
|
||||
```
|
||||
# verifies a subset of quorum queue that match the pattern across all virtual hosts
|
||||
GET /health/checks/quorum-queues-without-elected-leaders/all-vhosts/pattern/{pattern}
|
||||
```
|
||||
|
||||
```
|
||||
# verifies a subset of quorum queue that match the pattern in the given virtual host
|
||||
GET /health/checks/quorum-queues-without-elected-leaders/vhost/{vhost}/pattern/{pattern}
|
||||
```
|
||||
|
||||
Note that the values in the path must be percent-encoded, including the pattern.
|
||||
|
||||
* Web app tab title now changes depending on the selected top-level tab.
|
||||
|
||||
GitHub issue: [#13512](https://github.com/rabbitmq/rabbitmq-server/pull/13512)
|
||||
|
@ -438,6 +510,29 @@ This section can be incomplete and will be expanded as 4.1 approaches its releas
|
|||
GitHub issue: [#12818](https://github.com/rabbitmq/rabbitmq-server/pull/12818)
|
||||
|
||||
|
||||
### Stream Plugin
|
||||
|
||||
#### Enhancements
|
||||
|
||||
* Stream replication connections now can be configured to use IPv6 using `advanced.config`:
|
||||
|
||||
```erl
|
||||
[
|
||||
{osiris, [
|
||||
{replica_ip_address_family, inet6}
|
||||
]}
|
||||
].
|
||||
```
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* When a connection of one or more consumers in a [Single Active Consumer](https://www.rabbitmq.com/docs/streams#single-active-consumer) group failed,
|
||||
the group could try to activate (promote) one of the consumers are are no longer online. In practical terms
|
||||
this means that other consumers were not getting any deliveries.
|
||||
|
||||
GitHub issue: [#13657](https://github.com/rabbitmq/rabbitmq-server/pull/13657)
|
||||
|
||||
|
||||
### OAuth 2 AuthN and AuthZ Plugin
|
||||
|
||||
#### Breaking Changes and Deprecations
|
||||
|
@ -483,6 +578,15 @@ This section can be incomplete and will be expanded as 4.1 approaches its releas
|
|||
GitHub issue: [#12598](https://github.com/rabbitmq/rabbitmq-server/issues/12598)
|
||||
|
||||
|
||||
### LDAP Plugin
|
||||
|
||||
#### Enhancements
|
||||
|
||||
* The `in_group_nested` query now uses case-insensitive matching, which is more typical of the LDAP tooling.
|
||||
|
||||
GitHub issue: [#13629](https://github.com/rabbitmq/rabbitmq-server/pull/13629)
|
||||
|
||||
|
||||
### Federation Plugin
|
||||
|
||||
#### Enhancements
|
||||
|
@ -491,9 +595,21 @@ This section can be incomplete and will be expanded as 4.1 approaches its releas
|
|||
|
||||
GitHub issue: [#13115](https://github.com/rabbitmq/rabbitmq-server/pull/13115)
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* Queue federation could cause a deadlock in a quorum queue replica process.
|
||||
|
||||
GitHub issue: [#12713](https://github.com/rabbitmq/rabbitmq-server/pull/12713)
|
||||
|
||||
|
||||
### Shovel Plugin
|
||||
|
||||
#### Enhancements
|
||||
|
||||
* New Shovel metric: the number of forwarded messages.
|
||||
|
||||
GitHub issue: [#13626](https://github.com/rabbitmq/rabbitmq-server/pull/13626)
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* AMQP 0-9-1 channel exception generator could not handle entity names (say, queue or stream names)
|
||||
|
@ -600,11 +716,12 @@ This section can be incomplete and will be expanded as 4.1 approaches its releas
|
|||
|
||||
### Dependency Changes
|
||||
|
||||
* `ra` was upgraded to [`2.16.3`](https://github.com/rabbitmq/ra/releases)
|
||||
* `ra` was upgraded to [`2.16.6`](https://github.com/rabbitmq/ra/releases)
|
||||
* `osiris` was upgraded to [`1.8.6`](https://github.com/rabbitmq/osiris/releases)
|
||||
* `observer_cli` was upgraded to [`1.8.2`](https://github.com/zhongwencool/observer_cli/releases)
|
||||
* `eetcd` was upgraded to [`0.5.0`](https://github.com/zhongwencool/eetcd/releases)
|
||||
* `gun` was upgraded to [`2.1.0`](https://github.com/ninenines/gun/releases)
|
||||
* `credentials_obfuscation` was upgraded to [`3.5.0`](https://github.com/rabbitmq/credentials-obfuscation/releases)
|
||||
|
||||
## Source Code Archives
|
||||
|
||||
|
|
Loading…
Reference in New Issue