Update 4.0.8 release notes

[skip ci]

(cherry picked from commit 2af6181ece)
This commit is contained in:
Michael Klishin 2025-04-03 00:24:39 -04:00
parent 0e3aea5003
commit 7ab193ef2a
No known key found for this signature in database
GPG Key ID: 44BF2725475205B2
1 changed files with 35 additions and 23 deletions

View File

@ -27,25 +27,32 @@ Release notes can be found on GitHub at [rabbitmq-server/release-notes](https://
#### Bug Fixes
* Fixes a number of rare replication safety issues for quorum queues and Khepri.
GitHub issue: [#13530](https://github.com/rabbitmq/rabbitmq-server/pull/13530)
* Peer discovery retry limit supports the value of `infinity`
but the `cluster_formation.discovery_retry_limit` key in `rabbitmq.conf` only accepted positive integers.
Contributed by @SimonUnge.
GitHub issue: [#13676](https://github.com/rabbitmq/rabbitmq-server/pull/13676)
#### Enhancements
* 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: [#13669](https://github.com/rabbitmq/rabbitmq-server/pull/13669)
@ -56,23 +63,23 @@ Release notes can be found on GitHub at [rabbitmq-server/release-notes](https://
#### Enhancements
* [`rabbitmqadmin`](https://www.rabbitmq.com/docs/management-cli) 2.0.0 GA is now available as a standalone binary.
Learn more: [`rabbitmq/rabbitmqadmin-ng`](https://github.com/rabbitmq/rabbitmqadmin-ng)
* New health check commands help detect quorum queues without an elected leader.
```shell
# Verifies that all quorum queues in virtual host "vh-1" match the naming pattern "^naming-pattern"
# have an elected leader
rabbitmq-diagnostics check_for_quorum_queues_without_an_elected_leader --vhost "vh-1" "^naming-pattern"
# Verifies that all quorum queues in the cluster have an elected leader. This can be an expensive
# operation if there are many quorum queues in the cluster, consider providing a more specific pattern
rabbitmq-diagnostics check_for_quorum_queues_without_an_elected_leader --across-all-vhosts ".*"
```
Contributed by @Ayanda-D.
GitHub issue: [#13489](https://github.com/rabbitmq/rabbitmq-server/pull/13489/)
@ -83,13 +90,18 @@ Release notes can be found on GitHub at [rabbitmq-server/release-notes](https://
* 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: [#13660](https://github.com/rabbitmq/rabbitmq-server/pull/13660)
* TCP load balancer health checks (TCP connections that do not proceed to complete the RabbitMQ Stream Protocol handshake)
previously resulted in an exception in the log.
GitHub issue: [#13678](https://github.com/rabbitmq/rabbitmq-server/pull/13678)
#### Enhancements
* Stream replication connections now can be configured to use IPv6 using `advanced.config`:
```erl
[
{osiris, [
@ -114,37 +126,37 @@ Release notes can be found on GitHub at [rabbitmq-server/release-notes](https://
* When [OAuth 2 was enabled](https://www.rabbitmq.com/docs/oauth2) with an IDP-initiated login,
the UI displayed a confusing warning.
GitHub issue: [#13507](https://github.com/rabbitmq/rabbitmq-server/pull/13507)
#### Enhancements
* Historically, HTTP API access was controlled by exactly the same [authentication and authorization backend chain]()
that were configured for the messaging protocol connections.
Now it is possible to use a separate chain, that is, a separate set of backends, specifically for the HTTP API access:
```ini
# Messaging protocol access
auth_backends.1 = ldap
auth_backends.2 = internal
# HTTP API access
http_dispatch.auth_backends.1 = http
```
Contributed by @aaron-seo.
GitHub issue: [#13467](https://github.com/rabbitmq/rabbitmq-server/pull/13467)
* A new `rabbitmq.conf` setting, `management.delegate_count`, controls the size of the pool of processes
that aggregate data to respond to HTTP API client requests.
The default value is `5`. Nodes that have access to a double digit numbers of CPU cores (say, 32)
could benefit from using a higher number, e.g. `10` or `16`.
Contributed by @Ayanda-D.
GitHub issue: [#13462](https://github.com/rabbitmq/rabbitmq-server/pull/13462)
@ -153,7 +165,7 @@ Release notes can be found on GitHub at [rabbitmq-server/release-notes](https://
#### Bug Fixes
* AMQP 1.0 shovels could stop consuming after `2^16 - 1` messages.
GitHub issue: [#13578](https://github.com/rabbitmq/rabbitmq-server/pull/13578)
@ -169,7 +181,7 @@ Release notes can be found on GitHub at [rabbitmq-server/release-notes](https://
### Dependency Changes
* `ra` was upgraded to [`2.15.3`](https://github.com/rabbitmq/ra/releases)
* `osiris` was updated to [`1.8.6`](https://github.com/rabbitmq/osiris/releases)
* `osiris` was updated to [`1.8.6`](https://github.com/rabbitmq/osiris/releases)
* `credentials_obfuscation` was upgraded to [`3.5.0`](https://github.com/rabbitmq/credentials-obfuscation/releases)