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
@ -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
what package repositories and tools can be used to provision latest patch versions of Erlang 26.x.
## Upgrading to 3.13
### Documentation guides on upgrades
@ -76,7 +77,8 @@ Client libraries that were compatible with RabbitMQ `3.12.x` will be compatible
### 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
@ -88,14 +90,23 @@ Release notes are kept under [rabbitmq-server/release-notes](https://github.com/
#### 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)
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
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
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:
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)
### 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
#### Enhancements
@ -204,7 +239,7 @@ This release includes all bug fixes shipped in the `3.12.x` series.
#### 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**.
@ -213,8 +248,8 @@ This release includes all bug fixes shipped in the `3.12.x` series.
### Dependency Changes
* `ra` was upgraded to [`2.6.3`](https://github.com/rabbitmq/ra/releases)
* `osiris` was upgraded to [`1.6.2`](https://github.com/rabbitmq/osiris/tags)
* `ra` was upgraded to [`2.7.0`](https://github.com/rabbitmq/ra/releases)
* `osiris` was upgraded to [`1.6.9`](https://github.com/rabbitmq/osiris/tags)
## Source Code Archives