Skip to content

Commit

Permalink
Updates to 3.13.0 release notes
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelklishin committed Oct 20, 2023
1 parent 861fb65 commit 37d2068
Showing 1 changed file with 44 additions and 9 deletions.
53 changes: 44 additions & 9 deletions release-notes/3.13.0.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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,
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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**.

Expand All @@ -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

Expand Down

0 comments on commit 37d2068

Please sign in to comment.