Skip to content

RabbitMQ 4.1.1

Latest
Compare
Choose a tag to compare
@michaelklishin michaelklishin released this 04 Jun 19:10
· 8 commits to v4.1.x since this release
0fa5c10

RabbitMQ 4.1.1 is a maintenance release in the 4.1.x release series.

It is strongly recommended that you read 4.1.0 release notes
in detail if upgrading from a version prior to 4.1.0.

Minimum Supported Erlang Version

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

Nodes will fail to start on older Erlang releases.

Changes Worth Mentioning

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

Core Server

Enhancements

  • Default queue type is now injected into virtual host metadata when the virtual host
    is created.

    This seemingly subtle change elimiantes confusing inconsistencies between different
    definition export methods and scenarios.

    GitHub issue: #13854

  • Empty classic queues init faster after a clean shutdown.

    GitHub issue: #13870

Bug Fixes

  • Classic queue message store compaction could fall behind (not be able to keep up with)
    very busy publishers.

    GitHub issue: #13987

  • Classic queue message store could run into a rare exception
    when a message was routed to multiple queues.

    GitHub issue: #13758

  • Quorum queue commit map operation order was Erlang-version specific,
    potentially leading to confusing inconsistencies between replica behaviors.

    GitHub issue: #14025

  • Quorum queue failed to recover from a rare timeout during cluster formation.

    GitHub issue: #13828

  • RabbitMQ could fail to log certain client connection errors for TLS-enabled
    listeners.

    GitHub issue: #13985

  • Private key password could appear in certain exceptions at (failed) node boot time.

    GitHub issue: #13999, #14028

MQTT Plugin

Bug Fixes

  • When an MQTTv5 client that had a QoS 0 subscription is closed, the
    transient queue that was backing it will now be deleted.

    GitHub issue: #14006

Stream Plugin

Bug Fixes

  • Stream producer could run into an exception (accept_chunk_out_of_order) when a publishing filter
    was enabled.

    GitHub issue: #13897

  • Stream SAC coordinator failed when a super stream consumer was added next to
    a SAC consumer.

    GitHub issue: #13835

CLI Tools

Enhancements

  • rabbitmq-queues force_checkpoint [--vhost-pattern <pattern>] [--queue-pattern <pattern>]
    is a new command that forces a group of quorum queues to take a checkpoint and
    delete its on disk segment files, where possible.

    GitHub issue: #13938

Management Plugin

Enhancements

  • A separate chain for authentication and authorization backends now can be used
    used exclusively for the HTTP API and the management UI.

    GitHub issue: #13819

  • Reduced memory footprint of the plugin for certain workloads.

    GitHub issue: #13900

  • When UI session expires, the user is redirected to the login page.

    GitHub issue: #13975

  • GET /api/health/checks/below-node-connection-limit is a new health check
    that responds a 200 OK if the target node has fewer connections to the AMQP
    and AMQPS ports than the configured maximum.

    GitHub issue: #13782

  • GET /api/health/checks/ready-to-serve-clients is a new health check
    that responds a 200 OK if the target node is ready to serve clients
    (booted, not above the connection limit, not in maintenance mode).

    GitHub issue: #13782

  • Protocol listener health check now supports comma-separated lists of
    protocol names.

    GitHub issue: #13874

  • New page for declaring super streams (partitioned streams).

    GitHub issue: #13852

OAuth 2 Plugin

Enhancements

  • Select variables now can be used in scopes, for example: "rabbitmq.write:*/x-{vhost}-*/u-{sub}-*"

    GitHub issue: #14008

Shovel Plugin

Bug Fixes

  • Shovels could fail to convert messages published by an AMQP 0-9-1
    client to AMQP 1.0 if the headers had a complex structure.

    GitHub issue: #13801

Dependency Changes

Source Code Archives

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