RabbitMQ 3.8.13
RabbitMQ 3.8.13
is a maintenance release.
Erlang/OTP Compatibility Notes
This release requires Erlang 22 or
Erlang 23.
Provisioning Latest Erlang Releases explains
what package repositories and tools can be used to provision latest patch versions of Erlang 23.x
.
Upgrade and Compatibility Notes
Upgrade Doc Guides and Change Log
See 3.8.0 release notes upgrade and
compatibility notes first if upgrading from an earlier release series (e.g. 3.7.x
).
See the Upgrading guide for general documentation on upgrades and
RabbitMQ change log for release notes of other releases.
Upgrading to Erlang 22.x or Later Versions
When upgrading to this release from 3.7.15
or an older version, extra care has to be taken.
Because older RabbitMQ CLI tools can be incompatible with Erlang 22+ releases,
RabbitMQ must be upgraded at the same time as Erlang.
Alternatively the node can be upgraded to 3.7.18
on Erlang 21.3 first,
then Erlang 22.x or 23.x, then RabbitMQ to the most recent 3.8.x release.
Getting Help
Any questions about this release, upgrades or RabbitMQ in general are welcome on the RabbitMQ mailing list
and RabbitMQ community Slack.
Changes Worth Mentioning
Core Server
Bug Fixes
- Nodes that had an unusually long name (e.g. 150 or more characters) could overflow
message property lengths with the direct reply-to identifier they generated.
Now the generated values are almost entirely decoupled from node name length.GitHub issue: #2842
Management Plugin
Bug Fixes
- Consumer utilisation metric has been renamed to consumer capacity which more accurately represents
what it measures. The metric indicates the percentage of time that RabbitMQ has attempted a delivery
to a consumer of a queue, and was allowed to do so by the channel prefetch value and
the number of currently unacknowledged deliveries.For queues that have no consumers, the metric now returns 0%. For consumers that accept all deliveries
attempted, the metric will be around 100% (optimal).For queues that do have consumers but no traffic the metric will be at 100%. The assumption here is that consumers
can absorb all the load. This case is intentionally treated differently from the one above with no online consumers.GitHub issue: #2843
Prometheus Plugin
Bug Fixes
- Consumer utilisation metric has been renamed to consumer capacity which more accurately represents
what it measures. See a more detailed note above in the Management plugin section.GitHub issue: #2843
Federation Plugin
Enhancements
- Quorum queues now can be federated.
GitHub issue: #2756
- Exchange federation now supports a new option,
channel_use_mode
, which allows a single
channel to be used for all federation link activity if set tosingle
:rabbitmqctl set_parameter federation-upstream dc-2 '{"uri":"amqp://dc2.messaging.coolcorp.local:5672", "channel-use-mode": "single"}'
This helps avoid a race condition between topology changes and message flow
and the cost of topology operations reducing message transfer rates and increasing
rate variability.The default value is
multiple
. It means that every link will use multiple channels (one for message transfer,
one for topology changes, etc), which has been the case since rabbitmq/rabbitmq-federation#97.
This is the recommended mode for most environments, and all environments with a mostly static topology.See rabbitmq/rabbitmq-federation#97 for the background.
GitHub issue: #2829
AMQP 1.0 Plugin
Bug Fixes
- The plugin could run into unhandled exceptions.
GitHub issue: #2830
OAuth 2 AuthN/AuthZ Backend
Enhancements
- Several settings of the plugin are now exposed to
rabbitmq.conf
and provide validations:auth_backends.1 = oauth2 auth_oauth2.resource_server_id = a_resource_server_id auth_oauth2.additional_scopes_key = a_custom_scope_key auth_oauth2.default_key = id1 auth_oauth2.signing_keys.id1 = /path/to/signing.key1.pem auth_oauth2.signing_keys.id2 = /path/to/signing.key2.pem
GitHub issue: #2550
- JWT tokens now can be fetched from a JWKS endpoint provided using the
rabbitmq_auth_backend_oauth2.key_config.jwks_url
key inadvanced.config
.Contributed by Teo @teozkr Klestrup Röijezon.
GitHub issue: #2791
Dependency Upgrades
lager
was upgraded to 3.8.2cuttlefish
was upgraded to 2.6.0credentials_obfuscation
was upgraded to 2.4.0observer_cli
was upgraded to 1.6.0
Source Code Archives
To obtain source code of the entire distribution, please download the archive named rabbitmq-server-3.8.13.tar.xz
instead of the source tarball produced by GitHub.
转自 https://github.com/rabbitmq/rabbitmq-server/releases