Skip to content

Commit 2c7ebd4

Browse files
4.1.1 release notes
1 parent 0c5b3da commit 2c7ebd4

File tree

1 file changed

+186
-0
lines changed

1 file changed

+186
-0
lines changed

release-notes/4.1.1.md

Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
## RabbitMQ 4.1.1
2+
3+
RabbitMQ `4.1.1` is a maintenance release in the `4.1.x` [release series](https://www.rabbitmq.com/release-information).
4+
5+
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
6+
who hold a valid [commercial support license](https://tanzu.vmware.com/rabbitmq/oss).
7+
8+
It is **strongly recommended** that you read [4.1 release notes](https://github.com/rabbitmq/rabbitmq-server/releases/tag/v4.1.0)
9+
in detail if upgrading from a version prior to `4.1.0`.
10+
11+
12+
### Minimum Supported Erlang Version
13+
14+
This release requires Erlang 26 and supports Erlang versions up to `27.3.x`.
15+
[RabbitMQ and Erlang/OTP Compatibility Matrix](https://www.rabbitmq.com/docs/which-erlang) has more details on
16+
Erlang version requirements for RabbitMQ.
17+
18+
Nodes **will fail to start** on older Erlang releases.
19+
20+
21+
## Changes Worth Mentioning
22+
23+
Release notes can be found on GitHub at [rabbitmq-server/release-notes](https://github.com/rabbitmq/rabbitmq-server/tree/v4.1.x/release-notes).
24+
25+
26+
### Core Server
27+
28+
#### Enhancements
29+
30+
* [Default queue type](https://www.rabbitmq.com/docs/vhosts#default-queue-type) is now injected into virtual host metadata when the virtual host
31+
is created.
32+
33+
This seemingly subtle change elimiantes confusing inconsistencies between different
34+
definition export methods and scenarios.
35+
36+
GitHub issue: [#13854](https://github.com/rabbitmq/rabbitmq-server/pull/13854)
37+
38+
* Empty classic queues init faster after a clean shutdown.
39+
40+
Contributed by @gomoripeti.
41+
42+
GitHub issue: [#13870](https://github.com/rabbitmq/rabbitmq-server/pull/13870)
43+
44+
* Private key password could appear in certain exceptions at (failed) node boot time.
45+
46+
GitHub issue: [#13999](https://github.com/rabbitmq/rabbitmq-server/pull/13999), [#14028](https://github.com/rabbitmq/rabbitmq-server/pull/14028)
47+
48+
49+
#### Bug Fixes
50+
51+
* Classic queue message store compaction could fall behind (not be able to keep up with)
52+
very busy publishers.
53+
54+
GitHub issue: [#13987](https://github.com/rabbitmq/rabbitmq-server/pull/13987)
55+
56+
* Classic queue message store could run into a rare exception
57+
when a message was routed to multiple queues.
58+
59+
GitHub issue: [#13758](https://github.com/rabbitmq/rabbitmq-server/issues/13758)
60+
61+
* Quorum queue commit map operation order was Erlang-version specific,
62+
potentially leading to confusing inconsistencies between replica behaviors.
63+
64+
GitHub issue: [#14025](https://github.com/rabbitmq/rabbitmq-server/pull/14025)
65+
66+
* Quorum queue failed to recover from a rare timeout during cluster formation.
67+
68+
GitHub issue: [#13828](https://github.com/rabbitmq/rabbitmq-server/issues/13828)
69+
70+
* RabbitMQ could fail to log certain client connection errors for TLS-enabled
71+
listeners.
72+
73+
Contributed by @LoisSotoLopez.
74+
75+
GitHub issue: [#13985](https://github.com/rabbitmq/rabbitmq-server/pull/13985)
76+
77+
78+
### Stream Plugin
79+
80+
#### Bug Fixes
81+
82+
* Stream producer could run into an exception (`accept_chunk_out_of_order`) when a publishing filter
83+
was enabled.
84+
85+
GitHub issue: [#13897](https://github.com/rabbitmq/rabbitmq-server/issues/13897)
86+
87+
* Stream [SAC](https://www.rabbitmq.com/docs/streams#single-active-consumer) coordinator failed when a super stream consumer was added next to
88+
a SAC consumer.
89+
90+
GitHub issue: [#13835](https://github.com/rabbitmq/rabbitmq-server/issues/13835)
91+
92+
93+
### CLI Tools
94+
95+
#### Enhancements
96+
97+
* `rabbitmq-queues force_checkpoint [--vhost-pattern <pattern>] [--queue-pattern <pattern>]`
98+
is a new command that forces a group of quorum queues to take a checkpoint and
99+
delete its on disk segment files, where possible.
100+
101+
Contributed by @aaron-seo.
102+
103+
GitHub issue: [#13938](https://github.com/rabbitmq/rabbitmq-server/pull/13938)
104+
105+
106+
### Management Plugin
107+
108+
#### Enhancements
109+
110+
* A separate chain for authentication and authorization backends now can be used
111+
used exclusively for the HTTP API and the management UI.
112+
113+
Contributed by @aaron-seo.
114+
115+
GitHub issue: [#13819](https://github.com/rabbitmq/rabbitmq-server/pull/13819)
116+
117+
* Reduced memory footprint of the plugin for certain workloads.
118+
119+
Contributed by @the-mikedavis.
120+
121+
GitHub issue: [#13900](https://github.com/rabbitmq/rabbitmq-server/pull/13900)
122+
123+
* When UI session expires, the user is redirected to the login page.
124+
125+
Contributed by @the-mikedavis.
126+
127+
GitHub issue: [#13975](https://github.com/rabbitmq/rabbitmq-server/pull/13975)
128+
129+
* `GET /api/health/checks/ready-to-serve-clients` is a new health check
130+
that responds a 200 OK if the target node has fewer connections to the AMQP
131+
and AMQPS ports than the configured maximum.
132+
133+
Contributed by @the-mikedavis.
134+
135+
GitHub issue: [#13782](https://github.com/rabbitmq/rabbitmq-server/issues/13782)
136+
137+
* `GET /api/health/checks/ready-to-serve-clients` is a new health check
138+
that responds a 200 OK if the target node is ready to serve clients
139+
(booted, not above the connection limit, not in [maintenance mode](https://www.rabbitmq.com/docs/upgrade#maintenance-mode)).
140+
141+
Contributed by @the-mikedavis.
142+
143+
GitHub issue: [#13782](https://github.com/rabbitmq/rabbitmq-server/issues/13782)
144+
145+
* Protocol listener health check now supports comma-separated lists of
146+
protocol names.
147+
148+
Contributed by @the-mikedavis.
149+
150+
GitHub issue: [#13874](https://github.com/rabbitmq/rabbitmq-server/pull/13874)
151+
152+
* New page for declaring super streams (partitioned streams).
153+
154+
GitHub issue: [#13852](https://github.com/rabbitmq/rabbitmq-server/pull/13852)
155+
156+
157+
### OAuth 2 Plugin
158+
159+
#### Enhancements
160+
161+
* Select variables now can be used in scopes, for example: `"rabbitmq.write:*/x-{vhost}-*/u-{sub}-*"`
162+
163+
GitHub issue: [#14008](https://github.com/rabbitmq/rabbitmq-server/pull/14008)
164+
165+
166+
### Shovel Plugin
167+
168+
#### Bug Fixes
169+
170+
* Shovels could fail to convert messages published by an AMQP 0-9-1
171+
client to AMQP 1.0 if the headers had a complex structure.
172+
173+
GitHub issue: [#13801](https://github.com/rabbitmq/rabbitmq-server/pull/13801)
174+
175+
176+
177+
### Dependency Changes
178+
179+
* `ra` was updated to [`2.16.9`](https://github.com/rabbitmq/ra/releases)
180+
* `osiris` was updated to [`1.8.8`](https://github.com/rabbitmq/osiris/releases)
181+
182+
183+
## Source Code Archives
184+
185+
To obtain source code of the entire distribution, please download the archive named `rabbitmq-server-4.1.1.tar.xz`
186+
instead of the source tarball produced by GitHub.

0 commit comments

Comments
 (0)