193 lines
5.9 KiB
Markdown
193 lines
5.9 KiB
Markdown
## RabbitMQ 4.3.0
|
|
|
|
RabbitMQ `4.3.0` is a new feature release.
|
|
|
|
|
|
## Breaking Changes and Compatibility Notes
|
|
|
|
### Classic Queues v1 Storage (CQv1) is Removed
|
|
|
|
This release removes the original classic queue storage implementation these days
|
|
known as CQv1. A 2nd generation implementation called CQv2 has been adopted
|
|
as the default starting with `4.2.0`.
|
|
|
|
This means that attemptes to declare a queue using the following [optional queue arguments](https://www.rabbitmq.com/docs/queues#optional-arguments) will fail:
|
|
|
|
* `x-queue-mode` set to any value
|
|
* `x-queue-version` set to `1`
|
|
|
|
Existing classic queues upgraded to CQv2 during an earlier upgrade to `4.2.x` will continue
|
|
operating as usual.
|
|
|
|
|
|
## Release Highlights
|
|
|
|
TBD
|
|
|
|
|
|
## Upgrading to 4.3.0
|
|
|
|
### Documentation guides on upgrades
|
|
|
|
See the [Upgrading guide](https://www.rabbitmq.com/docs/upgrade) for documentation on upgrades and [GitHub releases](https://github.com/rabbitmq/rabbitmq-server/releases)
|
|
for release notes of individual releases.
|
|
|
|
This release series supports upgrades from `4.2.x`. Upgrades from earlier series are **not** supported:
|
|
users must upgrade to the latest available `4.2.x` patch release before upgrading to `4.3.0`.
|
|
|
|
|
|
### New Required Feature Flags
|
|
|
|
All feature flags introduced in `4.2.0` and earlier are required, including the following:
|
|
* `rabbitmq_4.2.0`
|
|
* `rabbitmq_4.1.0`
|
|
* `rabbitmq_4.0.0`
|
|
* `khepri_db`
|
|
* `quorum_queue_non_voters`
|
|
* `message_containers_deaths_v2`
|
|
|
|
Enable all required feature flags before upgrading to `4.3.0`.
|
|
|
|
If your RabbitMQ cluster had plugin `rabbitmq_amqp1_0` enabled in RabbitMQ `3.13.x` (and your cluster still serves AMQP 1.0 client connections in `4.x`), your cluster should do at least one rolling update **after** enabling feature flag `rabbitmq_4.0.0` but **before** upgrading to `4.3.0`.
|
|
|
|
### Deprecated Features
|
|
|
|
In `4.3.0` the deprecation phase of the following features advanced from `permitted_by_default` to `denied_by_default`:
|
|
* `amqp_filter_set_bug`
|
|
|
|
### Mixed version cluster compatibility
|
|
|
|
RabbitMQ 4.3.0 nodes can run alongside `4.2.x`.
|
|
|
|
Mixed version clusters are a mechanism that allows rolling upgrade and are not meant to be run for extended
|
|
periods of time (no more than a few hours).
|
|
|
|
### Recommended Post-upgrade Procedures
|
|
|
|
This version does not require any additional post-upgrade procedures
|
|
compared to other versions.
|
|
|
|
|
|
## Changes Worth Mentioning
|
|
|
|
### Core Server
|
|
|
|
#### Bug Fixes
|
|
|
|
* Quorum queue at-most-once dead lettering for the overflow behaviour `drop-head` now happens in the correct order.
|
|
|
|
GitHub issue: [#14926](https://github.com/rabbitmq/rabbitmq-server/pull/14926)
|
|
|
|
* Feature flag state in the registry and on disk were not consistent for a period of time during node boot.
|
|
|
|
GitHub issue: [#14943](https://github.com/rabbitmq/rabbitmq-server/pull/14943)
|
|
|
|
|
|
### Stream Plugin
|
|
|
|
#### Bug Fixes
|
|
|
|
* `stream.read_ahead` is a new setting that controls how much data is prefetched from disk
|
|
for stream reads (consumption).
|
|
|
|
GitHub issue: [#14948/](https://github.com/rabbitmq/rabbitmq-server/pull/14948)
|
|
|
|
* Stream deletion is now more resilient and can handle certain mid-deletion failure scenarios.
|
|
|
|
GitHub issue: [#14852](https://github.com/rabbitmq/rabbitmq-server/issues/14852)
|
|
|
|
|
|
### Grafana Dashboards
|
|
|
|
#### Enhancements
|
|
|
|
* The [dashboards](https://grafana.com/orgs/rabbitmq) were updated for the most recent RabbitMQ release series.
|
|
|
|
|
|
### Management Plugin
|
|
|
|
#### Enhancements
|
|
|
|
* `GET /api/queues/{vhost}` requests no longer perform unnecessary virtual host permission checks
|
|
and log less (at `debug` level) as a result.
|
|
|
|
GitHub issue: [#14923](https://github.com/rabbitmq/rabbitmq-server/discussions/14923)
|
|
|
|
|
|
### Shovel Plugin
|
|
|
|
#### Bug Fixes
|
|
|
|
* Improved target node resource alarm handling for AMQP 1.0 and local shovels.
|
|
|
|
GitHub issue: [#14886](https://github.com/rabbitmq/rabbitmq-server/pull/14886)
|
|
|
|
* Local shovels could run into an exception that would cause a shovel restart.
|
|
|
|
GitHub issue: [#14872](https://github.com/rabbitmq/rabbitmq-server/pull/14872)
|
|
|
|
* AMQP 1.0 shovels ignored the `sasl` URI parameter.
|
|
|
|
GitHub issue: [#14867](https://github.com/rabbitmq/rabbitmq-server/pull/14867)
|
|
|
|
|
|
### OAuth 2 Plugin
|
|
|
|
#### Bug Fixes
|
|
|
|
* A usability improvement allows the plugin to automatically load the trusted system x.509 (TLS) certificates.
|
|
|
|
GitHub issue: [#14927](https://github.com/rabbitmq/rabbitmq-server/pull/14927)
|
|
|
|
|
|
### LDAP Plugin
|
|
|
|
#### Enhancements
|
|
|
|
* LDAP queries, including multi-line ones, now can be specified in `rabbitmq.conf`.
|
|
|
|
GitHub issue: [#14868](https://github.com/rabbitmq/rabbitmq-server/pull/14868)
|
|
|
|
#### Bug Fixes
|
|
|
|
* A usability improvement allows the plugin to automatically load the trusted system certificates
|
|
when the user only enables TLS for the LDAP client but does not configure any other settings.
|
|
|
|
GitHub issue: [#14937](https://github.com/rabbitmq/rabbitmq-server/pull/14937)
|
|
|
|
|
|
### HTTP Auth Backend Plugin
|
|
|
|
#### Enhancements
|
|
|
|
* The HTTP Auth Backend can now optionally provide a custom authorization denial reason to AMQP clients.
|
|
|
|
To opt in, return `deny <Reason>` (instead of only `deny`) in the HTTP response body of your HTTP auth backend and set the following in your `rabbitmq.conf` file:
|
|
|
|
```ini
|
|
auth_http.authorization_failure_disclosure = true
|
|
```
|
|
|
|
See the [README](https://github.com/rabbitmq/rabbitmq-server/blob/main/deps/rabbitmq_auth_backend_http/README.md) for more information.
|
|
|
|
GitHub issue: [#14641](https://github.com/rabbitmq/rabbitmq-server/pull/14641)
|
|
|
|
|
|
### Tracing Plugin
|
|
|
|
#### Bug Fixes
|
|
|
|
* Trace file downloads now sets charset to UTF-8 when serving trace files.
|
|
|
|
GitHub issue: [#13952](https://github.com/rabbitmq/rabbitmq-server/issues/13952)
|
|
|
|
|
|
### Dependency Changes
|
|
|
|
* `cuttlefish` was upgraded to [`3.6.0`](https://github.com/kyorai/cuttlefish/releases)
|
|
|
|
## Source Code Archives
|
|
|
|
To obtain source code of the entire distribution, please download the archive named `rabbitmq-server-4.3.0.tar.xz`
|
|
instead of the source tarball produced by GitHub.
|