diff --git a/release-notes/3.13.0.md b/release-notes/3.13.0.md index d3328e74ce..078da547e9 100644 --- a/release-notes/3.13.0.md +++ b/release-notes/3.13.0.md @@ -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