0% found this document useful (0 votes)
126 views37 pages

PDF 24

This release is a maintenance update to the RabbitMQ 3.12 series. It fixes issues with queue recovery, file handling, and dead lettering. It also improves disk space monitoring on Windows and adds a new command to the CLI tools.

Uploaded by

akilesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
126 views37 pages

PDF 24

This release is a maintenance update to the RabbitMQ 3.12 series. It fixes issues with queue recovery, file handling, and dead lettering. It also improves disk space monitoring on Windows and adds a new command to the CLI tools.

Uploaded by

akilesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

rabbitmq / rabbitmq-server Public

Code Issues 260 Pull requests 26 Discussions Actions Security

Releases Tags Find a release

3 weeks ago
rabbitmq-ci v3.13.0-beta.3 0810162 Compare

RabbitMQ 3.13.0-beta.3 Pre-release

RabbitMQ 3.13.0-beta.3
RabbitMQ 3.13.0-beta.3 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

Support for consumer-side stream filtering


MQTTv5 support
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

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 preview releases are distributed via GitHub.

Community Docker image is another installation option


for previews. It is updated with a delay (usually a few days).

Erlang/OTP Compatibility Notes


This release requires Erlang 26.0 or later.

Provisioning Latest Erlang Releases 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


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 cluster
upgrade 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 with 3.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

Target quorum queue replica state is now continuously reconciled.

When the number of online replicas of a quorum queue goes below (or above) its target,
new replicas will be automatically placed if enough cluster nodes are available.
This is a more automatic version of how quorum queue replicas have originally been grown.

For automatic shrinking of queue replicas, the user must opt in.

Contributed by @SimonUnge (AWS).

GitHub issue: #8218

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 :

# uses CQv1 by default


classic_queue.default_version = 1

Individual queues can be declared by passing x-queue-version argument and/or through a


queue-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

Plugins now can register custom queue types. This means that a plugin now ca provide
a custom queue type.

Contributed by @luos (Erlang Solutions).

GitHub issues: #8834, #8927

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

Stream Plugin

Enhancements
Support for (consumer) stream filtering.

This allows consumers that are only interested in a subset of data in a stream to receive
less data. Note that false positives are possible, so this feature should be accompanied by
client library or application-level filtering.

GitHub issue: #8207

MQTT Plugin

Enhancements

Support for MQTTv5 (with limitations).

GitHub issues: #7263, #8681

Potential incompatibility: mqtt.subscription_ttl configuration setting is now deprecated


in favor of
mqtt.max_session_expiry_interval_seconds that targets MQTTv5.

GitHub issue: #8846

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 of x-correlation ) for values longer than 255 bytes.

This is a potentially breaking change.

GitHub issue: #8680

Dependency Changes
ra was upgraded to 2.6.3

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.
Contributors

SimonUnge and luos

Assets 32

3 3 people reacted 0 Join discussion

last month
rabbitmq-ci v3.10.25 e15e560 Compare

RabbitMQ 3.10.25

RabbitMQ 3.10.25 is a maintenance release in the 3.10.x release series.

This series reaches its end of community support on July 31st, 2023.

Please refer to the upgrade section from v3.10.0 release notes


if upgrading from a version prior to 3.10.0.

This release requires Erlang 24.3 and supports Erlang 25.


RabbitMQ and Erlang/OTP Compatibility Matrix has more details on
Erlang version requirements for RabbitMQ.

Minimum Supported Erlang Version


Erlang versions older than 24.3 have reached end of support.

This release of RabbitMQ requires Erlang 24.3.4.8


or later versions. Nodes will fail to start on older Erlang releases.

Erlang 25.3 is recommended: it offers much improved performance on ARM64 architectures,


profiling with flame graphs
across all architectures, and the most recent TLS 1.3 implementation.

Changes Worth Mentioning

Release notes can be found on GitHub at rabbitmq-server/release-notes.


Core Server

Bug Fixes

Declaration of a classic queue could run into an exception.

GitHub issue: #8629

Stream Plugin

Bug Fixes

Stream client connections that authenticated using x.509 certificates


failed.

GitHub issue: #8488

Management Plugin

Bug Fixes

It was not possible to close a table column selection pane on


screens that had little vertical space.

Contributed by @Antsthebul.

GitHub issue: #8701

OAuth 2 Plugin

Enhancements

oauth2 is now an accepted alias for the OAuth 2 authentication and authorization backend:

auth_backends.1 = oauth2

Previously the only option for OAuth 2 was using a full module name,
rabbit_auth_backend_oauth2 .

GitHub issue: #8513


Dependency Upgrades
None in this release.

Source Code Archives


To obtain source code of the entire distribution, please download the archive named rabbitmq-
server-3.10.25.tar.xz
instead of the source tarball produced by GitHub.

Contributors

Antsthebul

Assets 32

4 1 1 4 people reacted 0 Join discussion

last month
rabbitmq-ci v3.12.2 1d16203 Compare

RabbitMQ 3.12.2 Latest

RabbitMQ 3.12.2 is a maintenance release in the 3.12.x release series.

Please refer to the upgrade section from the 3.12.0 release notes
if upgrading from a version prior to 3.12.0.

This release requires Erlang 25 and supports Erlang versions up to 26.0.x .


RabbitMQ and Erlang/OTP Compatibility Matrix has more details on
Erlang version requirements for RabbitMQ.

Minimum Supported Erlang Version


As of 3.12.0, RabbitMQ requires Erlang 25. Nodes will fail to start on older Erlang releases.
Users upgrading from 3.11.x (or older releases) on Erlang 25 to 3.12.x on Erlang 26
(both RabbitMQ and Erlang are upgraded at the same time) must consult
the v3.12.0 release notes first.

Changes Worth Mentioning


Release notes can be found on GitHub at rabbitmq-server/release-notes.

Core Server

Enhancements

Free disk space monitor on Windows is now more selective in what errors are
logged.

GitHub issue: #8837

Bug Fixes

Queue recovery on node restart in certain conditions could run into an exception

GitHub issue: #8746

file_handle_cache operations are now safer when handling non-existent keys.

GitHub issue: #8784

Fixed a potential resource leak in at-least-once dead lettering from quorum queues.

GitHub issue: #8799

CLI Tools

Enhancements

A new command, rabbitmqctl deactivate_free_disk_space_monitoring , can be used to


(temporarily or permanently) disable
free disk space monitoring on a node.

To re-activate it, use rabbitmqctl activate_free_disk_space_monitoring .

GitHub issue: #8801

AMQP 1.0 Plugin


Bug Fixes

AMQP 1.0 clients that try to publish in a way that results in the message not being routed
anywhere are now notified with a more sensible settlement status.

GitHub issue: #7823

Prometheus Plugin

Enhancements

Prometheus scraping API endpoints now support optional authentication.

Contributed by @SimonUnge (AWS).

GitHub issue: #8661

The plugin now filters out values that are undefined or NaN , simply excluding
them from the API endpoint response.

Previously, if a metric was not computed for any reason (e.g. free disk space monitor
was disabled on the node), its value could end up being rendered as undefined or NaN ,
two values that Prometheus scrapers cannot handle (for numerical types such as gauges).

GitHub issue: #8740

Management Plugin

Bug Fixes

It was not possible to close a table column selection pane on


screens that had little vertical space.

Contributed by @Antsthebul.

GitHub issue: #8701

STOMP Plugin

Bug Fixes

This is a potentially breaking change.

The plugin will now enforce maximum STOMP frame size. Frames larger than that
size will be rejected. The default maximum size is 4 MiB. It can be increased or decreased:
# increase maximum supported STOMP frame size to 10 MiB
stomp.max_frame_size = 10485760

To reduce it from the default 4 MiB to 2 MiB:

# 2 MiB
stomp.max_frame_size = 2097152

GitHub issue: #8802

Shovel Plugin

Bug Fixes

Shovel will gracefully stop when its destination (target) does not exist.
Such shovels will then be periodically restarted to retry.

Contributed by @markus812498 (CloudAMQP).

GitHub issue: #8697

Web MQTT Plugin

Enhacements

It is now possible to opt in to deactivate file handle cache use in the plugin:

web_mqtt.use_file_handle_cache = false

GitHub issue: #8790

Web STOMP Plugin

Enhacements

It is now possible to opt in to deactivate file handle cache use in the plugin:

web_stomp.use_file_handle_cache = false

GitHub issue: #8790


Dependency Upgrades
ra was upgraded to 2.6.3

Source Code Archives


To obtain source code of the entire distribution, please download the archive named rabbitmq-
server-3.12.2.tar.xz
instead of the source tarball produced by GitHub.

Contributors

SimonUnge, Antsthebul, and markus812498

Assets 32

rabbitmq-server-3.12.2-1.el8.noarch.rpm
16.9 MB last month

rabbitmq-server-3.12.2-1.el8.noarch.rpm.asc
833 Bytes last month

rabbitmq-server-3.12.2-1.el8.src.rpm
4.24 MB last month

rabbitmq-server-3.12.2-1.el8.src.rpm.asc
833 Bytes last month

rabbitmq-server-3.12.2-1.suse.noarch.rpm
16.9 MB last month

rabbitmq-server-3.12.2-1.suse.noarch.rpm.asc
833 Bytes last month

rabbitmq-server-3.12.2-1.suse.src.rpm
4.24 MB last month

rabbitmq-server-3.12.2-1.suse.src.rpm.asc
833 Bytes last month

rabbitmq-server-3.12.2.exe
15 MB last month

rabbitmq-server-3.12.2.exe.asc
833 Bytes last month
Source code (zip)
last month

Source code (tar.gz)


last month

Show all 32 assets

0 Join discussion

last month
rabbitmq-ci v3.11.20 d6be36e Compare

RabbitMQ 3.11.20

RabbitMQ 3.11.20 is a maintenance release in the 3.11.x release series.

Please refer to the upgrade section from v3.11.0 release notes


if upgrading from a version prior to 3.11.0.

This release requires Erlang 25 and supports Erlang versions up to 25.3.x .


RabbitMQ and Erlang/OTP Compatibility Matrix has more details on
Erlang version requirements for RabbitMQ.

Minimum Supported Erlang Version


As of 3.11.0, RabbitMQ requires Erlang 25. Nodes will fail to start on older Erlang releases.

Erlang 25 as our new baseline means much improved performance on ARM64 architectures,
profiling with flame graphs
across all architectures, and the most recent TLS 1.3 implementation available to all RabbitMQ
3.11 users.

Changes Worth Mentioning


Release notes can be found on GitHub at rabbitmq-server/release-notes.

Core Server

Bug Fixes
Fixed a potential resource leak in at-least-once dead lettering from quorum queues.

GitHub issue: #8799

CLI Tools

Enhancements

A new command, rabbitmqctl deactivate_free_disk_space_monitoring , can be used to


(temporarily or permanently) disable
free disk space monitoring on a node.

To re-activate it, use rabbitmqctl activate_free_disk_space_monitoring .

GitHub issue: #8801

AMQP 1.0 Plugin

Bug Fixes

AMQP 1.0 clients that try to publish in a way that results in the message not being routed
anywhere are now notified with a more sensible settlement status.

GitHub issue: #7823

Prometheus Plugin

Enhancements

Prometheus scraping API endpoints now support optional authentication.

Contributed by @SimonUnge (AWS).

GitHub issue: #8683

The plugin now filters out values that are undefined or NaN , simply excluding
them from the API endpoint response.

Previously, if a metric was not computed for any reason (e.g. free disk space monitor
was disabled on the node), its value could end up being rendered as undefined or NaN ,
two values that Prometheus scrapers cannot handle (for numerical types such as gauges).

GitHub issue: #8660


Management Plugin

Bug Fixes

It was not possible to close a table column selection pane on


screens that had little vertical space.

Contributed by @Antsthebul.

GitHub issue: #8701

Dependency Upgrades
ra was upgraded to 2.6.3

Source Code Archives


To obtain source code of the entire distribution, please download the archive named rabbitmq-
server-3.11.20.tar.xz
instead of the source tarball produced by GitHub.

Contributors

SimonUnge and Antsthebul

Assets 32

0 Join discussion

last month
rabbitmq-ci v3.13.0-beta.2 89c7b26 Compare

RabbitMQ 3.13.0-beta.2 Pre-release


RabbitMQ 3.13.0-beta.2
RabbitMQ 3.13.0-beta.2 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

Support for consumer-side stream filtering


MQTTv5 support
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

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 preview releases are distributed via GitHub.

Community Docker image is another installation option


for previews. It is updated with a delay (usually a few days).

Erlang/OTP Compatibility Notes


This release requires Erlang 26.0 or later.

Provisioning Latest Erlang Releases 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


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 cluster
upgrade 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 with 3.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

Target quorum queue replica state is now continuously reconciled.

When the number of online replicas of a quorum queue goes below (or above) its target,
new replicas will be automatically placed if enough cluster nodes are available.
This is a more automatic version of how quorum queue replicas have originally been grown.

For automatic shrinking of queue replicas, the user must opt in.

Contributed by @SimonUnge (AWS).

GitHub issue: #8218

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 :

# uses CQv1 by default


classic_queue.default_version = 1

Individual queues can be declared by passing x-queue-version argument and/or through a


queue-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


Plugins now can register custom queue types. This means that a plugin now ca provide
a custom queue type.

Contributed by @luos (Erlang Solutions).

GitHub issue: #8834

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

Stream Plugin

Enhancements

Support for (consumer) stream filtering.

This allows consumers that are only interested in a subset of data in a stream to receive
less data. Note that false positives are possible, so this feature should be accompanied by
client library or application-level filtering.

GitHub issue: #8207

MQTT Plugin

Enhancements

Support for MQTTv5 (with limitations).

GitHub issues: #7263, #8681

Potential incompatibility: mqtt.subscription_ttl configuration setting is now deprecated


in favor of
mqtt.max_session_expiry_interval_seconds that targets MQTTv5.
GitHub issue: #8846

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 of x-correlation ) for values longer than 255 bytes.

This is a potentially breaking change.

GitHub issue: #8680

Dependency Changes
ra was upgraded to 2.6.3

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.

Contributors

SimonUnge and luos

Assets 32

0 Join discussion

Jul 10
rabbitmq-ci v3.12.2-beta.1 c589348 Compare

RabbitMQ 3.12.2-beta.1 Pre-release


RabbitMQ 3.12.2-beta.1 is a preview of a maintenance release in the 3.12.x release series.

Please refer to the upgrade section from the 3.12.0 release notes
if upgrading from a version prior to 3.12.0.

This release requires Erlang 25 and supports Erlang versions up to 26.0.x .


RabbitMQ and Erlang/OTP Compatibility Matrix has more details on
Erlang version requirements for RabbitMQ.

Minimum Supported Erlang Version


As of 3.12.0, RabbitMQ requires Erlang 25. Nodes will fail to start on older Erlang releases.

Users upgrading from 3.11.x (or older releases) on Erlang 25 to 3.12.x on Erlang 26
(both RabbitMQ and Erlang are upgraded at the same time) must consult
the v3.12.0 release notes first.

Changes Worth Mentioning


Release notes can be found on GitHub at rabbitmq-server/release-notes.

Core Server

Bug Fixes

Queue recovery on node restart in certain conditions could run into an exception

GitHub issue: #8746

file_handle_cache operations are now safer when handling non-existent keys.

GitHub issue: #8784

CLI Tools

Enhancements

A new command, rabbitmqctl deactivate_free_disk_space_monitoring , can be used to


(temporarily or permanently) disable
free disk space monitoring on a node.

To re-activate it, use rabbitmqctl activate_free_disk_space_monitoring .

GitHub issue: #8801


AMQP 1.0 Plugin

Bug Fixes

AMQP 1.0 clients that try to publish in a way that results in the message not being routed
anywhere are now notified with a more sensible settlement status.

GitHub issue: #7823

Prometheus Plugin

Enhancements

The plugin now filters out values that are undefined or NaN , simply excluding
them from the API endpoint response.

Previously, if a metric was not computed for any reason (e.g. free disk space monitor
was disabled on the node), its value could end up being rendered as undefined or NaN ,
two values that Prometheus scrapers cannot handle (for numerical types such as gauges).

GitHub issue: #8660

Management Plugin

Bug Fixes

It was not possible to close a table column selection pane on


screens that had little vertical space.

Contributed by @Antsthebul.

GitHub issue: #8701

STOMP Plugin

Bug Fixes

The plugin will now enforce maximum STOMP frame size. Frames larger than that
size will be rejected.

The default maximum size is 4 MiB. It can be increased:

# increase maximum supported STOMP frame size to 10 MiB


stomp.max_frame_size = 10485760
GitHub issue: #8802

Shovel Plugin

Bug Fixes

Shovel will gracefully stop when its destination (target) does not exist.
Such shovels will then be periodically restarted to retry.

Contributed by @markus812498 (CloudAMQP).

GitHub issue: #8697

Web MQTT Plugin

Enhacements

It is now possible to opt in to deactivate file handle cache use in the plugin.

GitHub issue: #8790

Web STOMP Plugin

Enhacements

It is now possible to opt in to deactivate file handle cache use in the plugin.

GitHub issue: #8790

Dependency Upgrades
None in this release.

Source Code Archives


To obtain source code of the entire distribution, please download the archive named rabbitmq-
server-3.12.2.tar.xz
instead of the source tarball produced by GitHub.

Contributors
Antsthebul and markus812498

Assets 32

0 Join discussion

Jun 27
rabbitmq-ci v3.13.0-beta.1 d2def3e Compare

RabbitMQ 3.13.0-beta.1 Pre-release

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

MQTTv5 support
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

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 preview releases are distributed via GitHub.
Community Docker image is another installation option
for previews. It is updated with a delay (usually a few days).

Erlang/OTP Compatibility Notes


This release requires Erlang 6.0 or later.

Provisioning Latest Erlang Releases 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


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 cluster
upgrade 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 with 3.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 :

# uses CQv1 by default


classic_queue.default_version = 1

Individual queues can be declared by passing x-queue-version argument and/or through a


queue-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 of x-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.
Assets 32

0 Join discussion

Jun 26
rabbitmq-ci v3.12.1 89f668a Compare

RabbitMQ 3.12.1

RabbitMQ 3.12.1 is a maintenance release in the 3.12.x release series.

Please refer to the upgrade section from the 3.12.0 release notes
if upgrading from a version prior to 3.12.0.

This release requires Erlang 25 and supports Erlang versions up to 26.0.x .


RabbitMQ and Erlang/OTP Compatibility Matrix has more details on
Erlang version requirements for RabbitMQ.

Minimum Supported Erlang Version


As of 3.12.0, RabbitMQ requires Erlang 25. Nodes will fail to start on older Erlang releases.

Users upgrading from 3.11.x (or older releases) on Erlang 25 to 3.12.x on Erlang 26
(both RabbitMQ and Erlang are upgraded at the same time) must consult
the v3.12.0 release notes first.

Changes Worth Mentioning


Release notes can be found on GitHub at rabbitmq-server/release-notes.

Core Server

Bug Fixes

Declaration of a classic queue could run into an exception.

GitHub issue: #8629


Classic queues v1 (CQv1) that had a backlog of messages stored by 3.9 and earlier versions
could run into an exception during queue index recovery after an upgrade to 3.10.x or any
later series.

CQv2 and queues without a backlog were not affected.

Contributed by @gomoripeti (CloudAMQP).

GitHub issue: #8453

Nodes that had a large number of quorum queues could observe accumulation of Erlang
processes
under significant load. A follow-up change to #7389.

GitHub issue: #8591

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

Nodes in clusters that had quorum queues and non-mirrored classic queues on stopped (or
failed) nodes
could run into an exception.

The same exception could affect rabbitmqctl list_queues .

GitHub issue: #8596

Proxy Protocol v2 LOCAL packets were not supported.

GitHub issue: #8654

Enhancements

When a quorum queue does not find its local replica data files on boot, it will now log
a warning.

GitHub issue: #8630

Management Plugin
Bug Fixes

An attempt to clear limits of a non-existent virtual host failed with a 500 status code.

GitHub issue: #8523

Enhacements

Management UI will now display node maintenance status.

Contributed by @SimonUnge (AWS).

GitHub issue: #8558

The "Queues" tab in the UI was renamed to "Queue and Streams" to better reflect
its contents.

GitHub issue: #8520

New HTTP API endpoints for quorum queue replica management, equivalent to
the rabbitmq-queues commands that manage replicas.

POST /api/queues/quorum/{vhost}/{name}/replicas/add
DELETE /api/queues/quorum/{vhost}/{name}/replicas/remove
POST /api/queues/quorum/replicas/on/{node}/grow
DELETE /api/queues/quorum/replicas/on/{node}/shrink

GitHub issue: #8561

Stream Plugin

Bug Fixes

Stream client connections that authenticated using x.509 certificates


failed.

GitHub issue: #8488

OAuth 2 Plugin

Bug Fixes

Only set OAuth 2 client's CA certificate file setting when it is defined.

GitHub issue: #8548


Enhancements

The plugin will now accept JWT tokens without a scope . Such tokens would only be useful
when the plugin
is used exclusively for authentication and not authorization.

GitHub issue: #8391

oauth2 is now an accepted alias for the OAuth 2 authentication and authorization backend:

auth_backends.1 = oauth2

Previously the only option for OAuth 2 was using a full module name,
rabbit_auth_backend_oauth2 .

GitHub issue: #8513

STOMP Plugin

Bug Fixes

STOMP plugin log entries had an extra line feed character.

GitHub issue: #2568

Dependency Upgrades
ra was upgraded to 2.6.2

Source Code Archives


To obtain source code of the entire distribution, please download the archive named rabbitmq-
server-3.12.1.tar.xz
instead of the source tarball produced by GitHub.

Contributors

SimonUnge and gomoripeti


Assets 32

2 2 people reacted

Jun 26
rabbitmq-ci v3.11.19 587420f Compare

RabbitMQ 3.11.19

RabbitMQ 3.11.19 is a maintenance release in the 3.11.x release series.

Please refer to the upgrade section from v3.11.0 release notes


if upgrading from a version prior to 3.11.0.

This release requires Erlang 25 and supports Erlang versions up to 25.3.x .


RabbitMQ and Erlang/OTP Compatibility Matrix has more details on
Erlang version requirements for RabbitMQ.

Minimum Supported Erlang Version


As of 3.11.0, RabbitMQ requires Erlang 25. Nodes will fail to start on older Erlang releases.

Erlang 25 as our new baseline means much improved performance on ARM64 architectures,
profiling with flame graphs
across all architectures, and the most recent TLS 1.3 implementation available to all RabbitMQ
3.11 users.

Changes Worth Mentioning


Release notes can be found on GitHub at rabbitmq-server/release-notes.

Core Server

Bug Fixes

Declaration of a classic queue could run into an exception.

GitHub issue: #8629


Nodes that had a large number of quorum queues could observe accumulation of Erlang
processes
under significant load. A follow-up change to #7389.

GitHub issue: #8591

Feature flag discovery operations will now be retried multiple times in case of network
failures.

GitHub issue: #8491

Feature flag discovery on a newly added node could discover an incomplete inventory of
feature flags.

GitHub issue: #8487

Nodes in clusters that had quorum queues and non-mirrored classic queues on stopped (or
failed) nodes
could run into an exception.

The same exception could affect rabbitmqctl list_queues .

GitHub issue: #8596

Proxy Protocol v2 LOCAL packets were not supported.

GitHub issue: #8668

Enhancements

When a quorum queue does not find its local replica data files on boot, it will now log
a warning.

GitHub issue: #8630

Management Plugin

Bug Fixes

An attempt to clear limits of a non-existent virtual host failed with a 500 status code.

GitHub issue: #8523

Enhacements

Management UI will now display node maintenance status.


Contributed by @SimonUnge (AWS).

GitHub issue: #8558

The "Queues" tab in the UI was renamed to "Queue and Streams" to better reflect
its contents.

GitHub issue: #8520

New HTTP API endpoints for quorum queue replica management, equivalent to
the rabbitmq-queues commands that manage replicas.

POST /api/queues/quorum/{vhost}/{name}/replicas/add
DELETE /api/queues/quorum/{vhost}/{name}/replicas/remove
POST /api/queues/quorum/replicas/on/{node}/grow
DELETE /api/queues/quorum/replicas/on/{node}/shrink

GitHub issue: #8561

Stream Plugin

Bug Fixes

Stream client connections that authenticated using x.509 certificates


failed.

GitHub issue: #8488

OAuth 2 Plugin

Bug Fixes

Only set OAuth 2 client's CA certificate file setting when it is defined.

GitHub issue: #8548

Enhancements

The plugin will now accept JWT tokens without a scope . Such tokens would only be useful
when the plugin
is used exclusively for authentication and not authorization.

GitHub issue: #8391


oauth2 is now an accepted alias for the OAuth 2 authentication and authorization backend:

auth_backends.1 = oauth2

Previously the only option for OAuth 2 was using a full module name,
rabbit_auth_backend_oauth2 .

GitHub issue: #8513

STOMP Plugin

Bug Fixes

STOMP plugin log entries had an extra line feed character.

GitHub issue: #2568

Dependency Upgrades
ra was upgraded to 2.6.2

Source Code Archives


To obtain source code of the entire distribution, please download the archive named rabbitmq-
server-3.11.19.tar.xz
instead of the source tarball produced by GitHub.

Contributors

SimonUnge

Assets 32

2 1 1 2 people reacted

Jun 5
rabbitmq-ci v3.11.18 bcb95c9 Compare

RabbitMQ 3.11.18

RabbitMQ 3.11.18 is a maintenance release in the 3.11.x release series.

Please refer to the upgrade section from v3.11.0 release notes


if upgrading from a version prior to 3.11.0.

This release requires Erlang 25 and supports Erlang versions up to 25.3.x .


RabbitMQ and Erlang/OTP Compatibility Matrix has more details on
Erlang version requirements for RabbitMQ.

Minimum Supported Erlang Version


As of 3.11.0, RabbitMQ requires Erlang 25. Nodes will fail to start on older Erlang releases.

Erlang 25 as our new baseline means much improved performance on ARM64 architectures,
profiling with flame graphs
across all architectures, and the most recent TLS 1.3 implementation available to all RabbitMQ
3.11 users.

Changes Worth Mentioning


Release notes can be found on GitHub at rabbitmq-server/release-notes.

Core Server

Bug Fixes

Classic queues v1 (CQv1) that had a backlog of messages stored by 3.9 and earlier versions
could run into an exception during queue index recovery after an upgrade to 3.10.x or any
later series.

CQv2 and queues without a backlog were not affected.

Contributed by @gomoripeti (CloudAMQP).

GitHub issue: #8458


rabbitmq-upgrade drain failed with an exception in environments where management
plugin (HTTP API)
plugin listener was bound to a specific interface.

GitHub issue: #8440

OAuth 2 Plugin

Enhancements

The plugin will now accept JWT tokens without a scope . Such tokens would only be useful
when the plugin
is used exclusively for authentication and not authorization.

GitHub issue: #8391

Dependency Upgrades
None in this release.

Source Code Archives


To obtain source code of the entire distribution, please download the archive named rabbitmq-
server-3.11.18.tar.xz
instead of the source tarball produced by GitHub.

Contributors

gomoripeti

Assets 32

2 3 2 3 6 people reacted 0 Join discussion

Previous 1 … 37 Next

You might also like