Skip to content

Commit

Permalink
3.13.0 release notes edits
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelklishin committed Feb 22, 2024
1 parent ec094f3 commit 23f3164
Showing 1 changed file with 21 additions and 19 deletions.
40 changes: 21 additions & 19 deletions release-notes/3.13.0.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,37 @@
## RabbitMQ 3.13.0-rc.5
## RabbitMQ 3.13.0

RabbitMQ `3.13.0-rc.5` is a candidate of a new feature release.
RabbitMQ `3.13.0` is a new feature release.

## Highlights

This release includes several new features and optimizations.
This release includes several new features, optimizations, internal changes in preparation for RabbitMQ 4.x,
and an updated documentation website.

The user-facing areas that have seen the biggest improvements in this release are

* [Khepri](https://www.youtube.com/watch?v=whVqpgvep90) now can be used as an [alternative schema data store](https://github.com/rabbitmq/rabbitmq-server/pull/7206)
in RabbitMQ, replacing Mnesia
* Support for [consumer-side stream filtering](https://github.com/rabbitmq/rabbitmq-server/pull/8207)
* [Khepri](https://www.youtube.com/watch?v=whVqpgvep90) now can be used as an [alternative schema data store](https://github.com/rabbitmq/rabbitmq-server/pull/7206) in RabbitMQ, replacing Mnesia
* [MQTTv5 support](https://blog.rabbitmq.com/posts/2023/07/mqtt5)
* Support for [consumer-side stream filtering](https://github.com/rabbitmq/rabbitmq-server/pull/8207)
* A new [common message container format](https://github.com/rabbitmq/rabbitmq-server/pull/5077) used internally, based on the AMQP 1.0 message container format
* Improved classic non-mirrored queue performance with message sizes larger than
4 KiB (or a different customized CQ index embedding threshold)
* Classic queues use version 2 of the storage implementation (CQv2).
This should significantly improve performance of non-mirrored classic queues
* Classic queues storage implementation version 2 (CQv2) is now highly recommended for all new deployments.
CQv2 meaningfully improves performance of non-mirrored classic queues for most workloads

See Compatibility Notes below to learn about **breaking or potentially breaking changes** in this release.

## Release Artifacts

RabbitMQ preview releases are distributed via [GitHub](https://github.com/rabbitmq/rabbitmq-server/releases).
RabbitMQ releases are distributed via [GitHub](https://github.com/rabbitmq/rabbitmq-server/releases).
[Debian](https://rabbitmq.com/install-debian.html) and [RPM packages](https://rabbitmq.com/install-rpm.html) are available via Cloudsmith mirrors.

[Community Docker image](https://hub.docker.com/_/rabbitmq/) is another installation option
for previews. It is updated with a delay (usually a few days).
[Community Docker image](https://hub.docker.com/_/rabbitmq/), [Chocolatey package](https://community.chocolatey.org/packages/rabbitmq), and the [Homebrew formula](https://rabbitmq.com/install-homebrew.html)
are other installation options. They are updated with a delay.


## Erlang/OTP Compatibility Notes

This release [requires Erlang 26.0](https://www.rabbitmq.com/which-erlang.html) or later.
This release [requires Erlang 26.x](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.
Expand Down Expand Up @@ -71,29 +72,30 @@ periods of time (no more than a few hours).
We recommend switching classic queues to CQv2 after **all cluster nodes** have been upgrades,
at first using policies, and then eventually using a setting in `rabbitmq.conf`. Upgrading
classic queues to CQv2 at boot time using the configuration file setting can be
potentially unsafe in environments where deprecated classic mirrored queues still exist.
potentially unsafe in environments where **deprecated classic mirrored queues still exist**.

For new clusters, adopting CQv2 from the start is highly recommended:

``` ini
# CQv2 should be used by default for all new clusters
classic_queue.default_version = 2
```


## Compatibility Notes

This release includes a few potentially breaking changes&
This release includes a few potentially breaking changes.

### Minimum Supported Erlang Version

Starting with this release, RabbitMQ requires Erlang 26.0 or later versions. Nodes **will fail to start**
Starting with this release, RabbitMQ requires Erlang 26.x. Nodes **will fail to start**
on older Erlang releases.

### Client Library Compatibility

Client libraries that were compatible with RabbitMQ `3.12.x` will be compatible with `3.13.0`.
RabbitMQ Stream Protocol clients must be upgraded to use the stream filtering feature
introduced in this release.
Client libraries that were compatible with RabbitMQ `3.11.x` and `3.12.x` will be compatible with `3.13.0`.
RabbitMQ Stream Protocol clients must be upgraded to their latest versions in order to support
the stream filtering feature introduced in this release.

### Consistency Model and Schema Modification Visibility Guarantees of Khepri and Mnesia

Expand Down Expand Up @@ -169,7 +171,7 @@ is in place.

### Management Plugin and HTTP API

GET /api/queues` HTTP API endpoint has dropped several rarely used metrics, resulting in 25% in traffic saving.
GET /api/queues` HTTP API endpoint has dropped several rarely used metrics, resulting in up to 25% in traffic saving.

### MQTT Plugin

Expand Down

0 comments on commit 23f3164

Please sign in to comment.