4.1.1 release notes

This commit is contained in:
Michael Klishin 2025-06-05 01:24:01 +04:00
parent 0c5b3da55a
commit 2c7ebd4425
No known key found for this signature in database
GPG Key ID: 16AB14D00D613900
1 changed files with 186 additions and 0 deletions

186
release-notes/4.1.1.md Normal file
View File

@ -0,0 +1,186 @@
## RabbitMQ 4.1.1
RabbitMQ `4.1.1` is a maintenance release in the `4.1.x` [release series](https://www.rabbitmq.com/release-information).
Starting June 1st, 2024, community support for this series will only be provided to [regularly contributing users](https://github.com/rabbitmq/rabbitmq-server/blob/main/COMMUNITY_SUPPORT.md) and those
who hold a valid [commercial support license](https://tanzu.vmware.com/rabbitmq/oss).
It is **strongly recommended** that you read [4.1 release notes](https://github.com/rabbitmq/rabbitmq-server/releases/tag/v4.1.0)
in detail if upgrading from a version prior to `4.1.0`.
### Minimum Supported Erlang Version
This release requires Erlang 26 and supports Erlang versions up to `27.3.x`.
[RabbitMQ and Erlang/OTP Compatibility Matrix](https://www.rabbitmq.com/docs/which-erlang) 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](https://github.com/rabbitmq/rabbitmq-server/tree/v4.1.x/release-notes).
### Core Server
#### Enhancements
* [Default queue type](https://www.rabbitmq.com/docs/vhosts#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](https://github.com/rabbitmq/rabbitmq-server/pull/13854)
* Empty classic queues init faster after a clean shutdown.
Contributed by @gomoripeti.
GitHub issue: [#13870](https://github.com/rabbitmq/rabbitmq-server/pull/13870)
* Private key password could appear in certain exceptions at (failed) node boot time.
GitHub issue: [#13999](https://github.com/rabbitmq/rabbitmq-server/pull/13999), [#14028](https://github.com/rabbitmq/rabbitmq-server/pull/14028)
#### Bug Fixes
* Classic queue message store compaction could fall behind (not be able to keep up with)
very busy publishers.
GitHub issue: [#13987](https://github.com/rabbitmq/rabbitmq-server/pull/13987)
* Classic queue message store could run into a rare exception
when a message was routed to multiple queues.
GitHub issue: [#13758](https://github.com/rabbitmq/rabbitmq-server/issues/13758)
* Quorum queue commit map operation order was Erlang-version specific,
potentially leading to confusing inconsistencies between replica behaviors.
GitHub issue: [#14025](https://github.com/rabbitmq/rabbitmq-server/pull/14025)
* Quorum queue failed to recover from a rare timeout during cluster formation.
GitHub issue: [#13828](https://github.com/rabbitmq/rabbitmq-server/issues/13828)
* RabbitMQ could fail to log certain client connection errors for TLS-enabled
listeners.
Contributed by @LoisSotoLopez.
GitHub issue: [#13985](https://github.com/rabbitmq/rabbitmq-server/pull/13985)
### 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](https://github.com/rabbitmq/rabbitmq-server/issues/13897)
* Stream [SAC](https://www.rabbitmq.com/docs/streams#single-active-consumer) coordinator failed when a super stream consumer was added next to
a SAC consumer.
GitHub issue: [#13835](https://github.com/rabbitmq/rabbitmq-server/issues/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.
Contributed by @aaron-seo.
GitHub issue: [#13938](https://github.com/rabbitmq/rabbitmq-server/pull/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.
Contributed by @aaron-seo.
GitHub issue: [#13819](https://github.com/rabbitmq/rabbitmq-server/pull/13819)
* Reduced memory footprint of the plugin for certain workloads.
Contributed by @the-mikedavis.
GitHub issue: [#13900](https://github.com/rabbitmq/rabbitmq-server/pull/13900)
* When UI session expires, the user is redirected to the login page.
Contributed by @the-mikedavis.
GitHub issue: [#13975](https://github.com/rabbitmq/rabbitmq-server/pull/13975)
* `GET /api/health/checks/ready-to-serve-clients` 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.
Contributed by @the-mikedavis.
GitHub issue: [#13782](https://github.com/rabbitmq/rabbitmq-server/issues/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](https://www.rabbitmq.com/docs/upgrade#maintenance-mode)).
Contributed by @the-mikedavis.
GitHub issue: [#13782](https://github.com/rabbitmq/rabbitmq-server/issues/13782)
* Protocol listener health check now supports comma-separated lists of
protocol names.
Contributed by @the-mikedavis.
GitHub issue: [#13874](https://github.com/rabbitmq/rabbitmq-server/pull/13874)
* New page for declaring super streams (partitioned streams).
GitHub issue: [#13852](https://github.com/rabbitmq/rabbitmq-server/pull/13852)
### OAuth 2 Plugin
#### Enhancements
* Select variables now can be used in scopes, for example: `"rabbitmq.write:*/x-{vhost}-*/u-{sub}-*"`
GitHub issue: [#14008](https://github.com/rabbitmq/rabbitmq-server/pull/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](https://github.com/rabbitmq/rabbitmq-server/pull/13801)
### Dependency Changes
* `ra` was updated to [`2.16.9`](https://github.com/rabbitmq/ra/releases)
* `osiris` was updated to [`1.8.8`](https://github.com/rabbitmq/osiris/releases)
## 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.