RabbitMQ 3.13.0-beta.1 #8690
Unanswered
michaelklishin
asked this question in
Other
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
RabbitMQ 3.13.0-beta.1
RabbitMQ
3.13.0-beta.1
is a preview of a new feature release.Highlights
This release includes several new features, optimizations, and graduates (makes mandatory) a number of feature flags.
The user-facing areas that have seen the biggest improvements in this release are
4 KiB (or a different customized CQ index embedding threshold)
This should significantly improve performance of non-mirrored classic queues
This release also features many internal API improvements in preparation to 4.0
with Khepri.
See Compatibility Notes below to learn about breaking or potentially breaking changes in this release.
Release Artifacts
RabbitMQ releases are distributed via GitHub.
Debian and RPM packages are available via Cloudsmith mirrors, as well as PackageCloud.
Community Docker image, Chocolatey package, and the Homebrew formula
are other installation options. They are updated with a delay (usually a few days).
Erlang/OTP Compatibility Notes
This release requires Erlang 25.0 or later.
This introduces feature parity for x86- and ARM64-based CPUs: Erlang 25 offers the JIT and
modern Flame Graph profiling tooling
for both of those major CPU architectures.
Provisioning Latest Erlang Releases explains
what package repositories and tools can be used to provision latest patch versions of Erlang 25.x.
Upgrading to 3.13
Documentation guides on upgrades
See the Upgrading guide for documentation on upgrades and RabbitMQ change log
for release notes of other releases.
Required Feature Flags
TBD
Mixed version cluster compatibility
RabbitMQ 3.13.0 nodes can run alongside
3.12.x
nodes.3.12.x
-specific features can only be made available when all nodes in the clusterupgrade to 3.13.0 or any other patch release in the new series.
While operating in mixed version mode, some aspects of the system may not behave as expected. The list of known behavior changes is covered below.
Once all nodes are upgraded to 3.13.0, these irregularities will go away.
Mixed version clusters are a mechanism that allows rolling upgrade and are not meant to be run for extended
periods of time (no more than a few hours).
Compatibility Notes
TBD
Minimum Supported Erlang Version
Starting with this release, RabbitMQ requires Erlang 26.0 or later versions. 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 with3.13.0
.Getting Help
Any questions about this release, upgrades or RabbitMQ in general are welcome on the RabbitMQ mailing list.
Changes Worth Mentioning
Release notes are kept under rabbitmq-server/release-notes.
Core Server
Enhancements
Reduced memory footprint, improved memory use predictability and throughput of classic queues (version 2, or CQv2).
This particularly benefits classic queues with longer backlogs.
Classic queue v2 (CQv2) storage implementation is now the default. It is possible to switch
the default back to CQv1 using
rabbitmq.conf
:Individual queues can be declared by passing
x-queue-version
argument and/or through aqueue-version
policy.GitHub issue: #8308
Non-mirrored classic queues: optimizations of storage for larger (greater than 4 kiB) messages.
GitHub issue: #6090, #8507
A subsystem for marking features as deprecated.
GitHub issue: #7390
Bug Fixes
This release includes all bug fixes shipped in the
3.12.x
series.Feature flag discovery on a newly added node could discover an incomplete inventory of feature flags.
GitHub issue: #8477
Feature flag discovery operations will now be retried multiple times in case of network failures.
GitHub issue: #8491
MQTT Plugin
Enhancements
Support for MQTTv5 (with limitations).
GitHub issues: #7263, #8681
AMQP 1.0 Plugin
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 ofx-correlation
) for values longer than 255 bytes.This is a potentially breaking change.
GitHub issue: #8680
Dependency Changes
TBD
Source Code Archives
To obtain source code of the entire distribution, please download the archive named
rabbitmq-server-3.13.0.tar.xz
instead of the source tarball produced by GitHub.
This discussion was created from the release RabbitMQ 3.13.0-beta.1.
Beta Was this translation helpful? Give feedback.
All reactions