Updates to 3.13.0 release notes

This commit is contained in:
Michael Klishin 2023-10-19 20:01:25 -04:00
parent 861fb659d6
commit 37d2068936
1 changed files with 44 additions and 9 deletions

View File

@ -1,6 +1,6 @@
## RabbitMQ 3.13.0-beta.7 ## RabbitMQ 3.13.0-rc.1
RabbitMQ `3.13.0-beta.7` is a preview of a new feature release. RabbitMQ `3.13.0-rc.1` is a candidate of a new feature release.
## Highlights ## Highlights
@ -35,6 +35,7 @@ This release [requires Erlang 26.0](https://www.rabbitmq.com/which-erlang.html)
[Provisioning Latest Erlang Releases](https://www.rabbitmq.com/which-erlang.html#erlang-repositories) explains [Provisioning Latest Erlang Releases](https://www.rabbitmq.com/which-erlang.html#erlang-repositories) explains
what package repositories and tools can be used to provision latest patch versions of Erlang 26.x. what package repositories and tools can be used to provision latest patch versions of Erlang 26.x.
## Upgrading to 3.13 ## Upgrading to 3.13
### Documentation guides on upgrades ### Documentation guides on upgrades
@ -76,7 +77,8 @@ Client libraries that were compatible with RabbitMQ `3.12.x` will be compatible
### Getting Help ### Getting Help
Any questions about this release, upgrades or RabbitMQ in general are welcome on the [RabbitMQ mailing list](https://groups.google.com/forum/#!forum/rabbitmq-users). Any questions about this release, upgrades or RabbitMQ in general are welcome in [GitHub Discussions](https://github.com/rabbitmq/rabbitmq-server/discussions) or
on [our community Discord](https://rabbitmq.com/discord/).
## Changes Worth Mentioning ## Changes Worth Mentioning
@ -88,14 +90,23 @@ Release notes are kept under [rabbitmq-server/release-notes](https://github.com/
#### Enhancements #### Enhancements
* [Khepri](https://www.youtube.com/watch?v=huT-zmXvfuM) now can be used as an [alternative schema data store](https://github.com/rabbitmq/rabbitmq-server/pull/7206) * [Khepri](https://www.youtube.com/watch?v=huT-zmXvfuM) now can be used as an [alternative schema data store](https://github.com/rabbitmq/rabbitmq-server/pull/7206)
in RabbitMQ. in RabbitMQ, by enabling a feature flag:
``` shell
rabbitmqctl enable_feature_flag khepri_db
```
In practical terms this means that it will be possible to swap Mnesia for a Raft-based data store In practical terms this means that it will be possible to swap Mnesia for a Raft-based data store
that will **predictably recover from network and node failures**, the same way [quorum queues](https://rabbitmq.com/quorum-queues.html#leader-election) that will **predictably recover from network partitions and node failures**, the same way [quorum queues](https://rabbitmq.com/quorum-queues.html#leader-election)
and [streams](https://rabbitmq.com/streams.html#leader-election) already do. At the same time, this means and [streams](https://rabbitmq.com/streams.html#leader-election) already do. At the same time, this means
that RabbitMQ clusters now **must have a majority of nodes online at all times**, or all client operations will be refused. that RabbitMQ clusters now **must have a majority of nodes online at all times**, or all client operations will be refused.
The target is to make Khepri the default database engine in RabbitMQ 4.0. Like quorum queues and streams, Khepri uses [RabbitMQ's Raft implementation](https://github.com/rabbitmq/ra) under the hood. With Khepri enabled, all key modern features
of RabbitMQ will use the same fundamental approach to recovery from failures, relying on a library that passes a [Jepsen test suite](https://github.com/rabbitmq/ra/#safety-verification).
Team RabbitMQ intends to make Khepri the default schema database starting with RabbitMQ 4.0.
GitHub issue: [#7206](https://github.com/rabbitmq/rabbitmq-server/pull/7206)
* Messages are now internally stored using a new common heavily AMQP 1.0-influenced container format. This is a major step towards a protocol-agnostic core: * Messages are now internally stored using a new common heavily AMQP 1.0-influenced container format. This is a major step towards a protocol-agnostic core:
a common format that encapsulates a sum of data types used by the protocols RabbitMQ supports, plus annotations for routng, dead-lettering state, a common format that encapsulates a sum of data types used by the protocols RabbitMQ supports, plus annotations for routng, dead-lettering state,
@ -169,6 +180,30 @@ This release includes all bug fixes shipped in the `3.12.x` series.
GitHub issue: [#9005](https://github.com/rabbitmq/rabbitmq-server/pull/9005) GitHub issue: [#9005](https://github.com/rabbitmq/rabbitmq-server/pull/9005)
### Management Plugin
#### Enhancements
* New API endpoint, `GET /api/stream/{vhost}/{name}/tracking`, can be used to track
publisher and consumer offsets in a stream.
GitHub issue: [#9642](https://github.com/rabbitmq/rabbitmq-server/pull/9642)
* Several rarely used queue metrics were removed to reduce inter-node data transfers
and CPU burn during API response generation. The effects will be particularly pronounced
for the `GET /api/queues` endpoint used without filtering or pagination, which can produce
enormously large responses.
A couple of relevant queue metrics or state fields were lifted to the top level.
**This is a potentially breaking change**.
Note that [Prometheus](https://rabbitmq.com/prometheus.html) is the recommended option for monitoring,
not the management plugin's HTTP API.
GitHub issues: [#9437](https://github.com/rabbitmq/rabbitmq-server/issues/9437), [#9578](https://github.com/rabbitmq/rabbitmq-server/pull/9578), [#9633](https://github.com/rabbitmq/rabbitmq-server/pull/9633)
### Stream Plugin ### Stream Plugin
#### Enhancements #### Enhancements
@ -204,7 +239,7 @@ This release includes all bug fixes shipped in the `3.12.x` series.
#### Bug Fixes #### Bug Fixes
* During AMQP 1.0 to AMQP 0-9-1 conversion, the Correlation ID message property is now stored as `x-correlation-id` (instead of `x-correlation`) for values longer than 255 bytes. * During AMQP 1.0 to AMQP 0-9-1 conversion, the Correlation ID message property is now stored as `x-correlation-id` (instead of `x-correlation`) for values longer than 255 bytes.
**This is a potentially breaking change**. **This is a potentially breaking change**.
@ -213,8 +248,8 @@ This release includes all bug fixes shipped in the `3.12.x` series.
### Dependency Changes ### Dependency Changes
* `ra` was upgraded to [`2.6.3`](https://github.com/rabbitmq/ra/releases) * `ra` was upgraded to [`2.7.0`](https://github.com/rabbitmq/ra/releases)
* `osiris` was upgraded to [`1.6.2`](https://github.com/rabbitmq/osiris/tags) * `osiris` was upgraded to [`1.6.9`](https://github.com/rabbitmq/osiris/tags)
## Source Code Archives ## Source Code Archives