github rabbitmq/rabbitmq-server v3.12.7
RabbitMQ 3.12.7

latest releases: v4.0.3, v4.0.3-beta.1, v4.0.3-rc.1...
12 months ago

RabbitMQ 3.12.7 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.1.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

  • Stream replication connections configured to use exclusively TLSv1.3 failed.

    GitHub issue:#9678

  • On startup, stream replicas will handle one more potential case of segment file corruption
    after an unclean shutdown.

    Contributed by @gomoripeti (CloudAMQP).

    GitHub issue: #9678

  • default_policies.*.queue_pattern definition in rabbitmq.conf was incorrectly parsed.

    Contributed by @SimonUnge (AWS).

    GitHub issue: #9545

  • Avoid log noise when inter-node connections frequently fail and recover.

    Contributed by @Ayanda-D.

    GitHub issue: #9667

Enhancements

CLI Tools

Bug Fixes

  • rabbitmq-streams list_stream_consumer_groups incorrectly validated the set of columns it accepts.

    GitHub issue: #9671

Enhancements

  • Several list_stream_* commands (available via both rabbitmq-diagnostics and rabbitmq-streams) commands now can
    display replica node in addition to other fields.

    GitHub issue: #9582

  • rabbitmqctl add_user now can accept a pre-generated salted password instead
    of a plain text password, both as a positional argument and via standard input:

    # This is just an example, DO NOT use this value in production!
    # The 2nd argument is a Base64-encoded pre-hashed and salted value of "guest4"
    rabbitmqctl -- add_user "guest4" "BMT6cj/MsI+4UOBtsPPQWpQfk7ViRLj4VqpMTxu54FU3qa1G" --pre-hashed-password
    # try authenticating with a pair of credentials
    rabbitmqctl authenticate_user "guest4" "guest4"

    GitHub issue: #9669

Management Plugin

Bug Fixes

  • Message consumption with the "Nack message, requeue: true" option did not actually requeue deliveries.

    GitHub issue: #9715

Enhancements

  • HTTP API request body size is now limited to 10 MiB by default.
    Two endpoints, one that accepts messages for publishing (note: publishing over the HTTP API is greatly discouraged)
    and another for definition import,
    will now reject larger transfers with a 400 Bad Request response.

    GitHub issue: #9708

  • DELETE /api/queues/{vhost}/{name} now can delete exclusive queues.

    GitHub issue: #8758

  • Key supported by operator policies are now grouped by queue type in the UI.

    GitHub issue: #9544

MQTT Plugin

Enhancements

  • Improved data safety for confirms in environments where the plugin uses classic queues.

    GitHub issue: #9530

Web MQTT Plugin

Bug Fixes

  • Avoid an exception when a not fully established MQTT-over-WebSockets connection terminated.

    Contributed by @gomoripeti (CloudAMQP).

    GitHub issue: #9654

JMS Topic Exchange Plugin

Bug Fixes

  • Recovery of bindings of durable queues bound to a transient JMS topic exchange failed.

    GitHub issue: #9533

Sharding Plugin

Bug Fixes

  • Recovery of bindings of durable queues bound to a transient x-modulo-hash exchange failed.

    GitHub issue: #9533

Recent History Exchange Plugin

Bug Fixes

  • Recovery of bindings of durable queues bound to a transient recent history exchange failed.

    GitHub issue: #9533

Dependency Upgrades

  • osiris has been upgraded to 1.6.9

Source Code Archives

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

Don't miss a new rabbitmq-server release

NewReleases is sending notifications on new releases.