Skip to content

Commit 8a4604a

Browse files
4.1.4 release notes
1 parent 88ea37b commit 8a4604a

File tree

1 file changed

+137
-0
lines changed

1 file changed

+137
-0
lines changed

release-notes/4.1.4.md

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
RabbitMQ `4.1.4` is a maintenance release in the `4.1.x` [release series](https://www.rabbitmq.com/release-information).
2+
3+
It is **strongly recommended** that you read [4.1.0 release notes](https://github.com/rabbitmq/rabbitmq-server/releases/tag/v4.1.0)
4+
in detail if upgrading from a version prior to `4.1.0`.
5+
6+
7+
### Minimum Supported Erlang Version
8+
9+
[RabbitMQ and Erlang/OTP Compatibility Matrix](https://www.rabbitmq.com/docs/which-erlang) has more details on Erlang version requirements for RabbitMQ.
10+
11+
Nodes **will fail to start** on older Erlang releases.
12+
13+
14+
## Changes Worth Mentioning
15+
16+
Release notes can be found on GitHub at [rabbitmq-server/release-notes](https://github.com/rabbitmq/rabbitmq-server/tree/v4.1.x/release-notes).
17+
18+
19+
### Core Server
20+
21+
#### Bug Fixes
22+
23+
* `default_password`, `ssl_options.password` now can tell between a generated random password
24+
value and an [encrypted value](https://www.rabbitmq.com/docs/configure#configuration-encryption) better.
25+
26+
Encrypted values must be prefixed with `encrypted:`. All other values, including
27+
generated passwords that contain a colon (`:`), will be considered non-encrypted ones.
28+
29+
GitHub issue: [#14365](https://github.com/rabbitmq/rabbitmq-server/pull/14365)
30+
31+
* Import of definition files that contained topic exchange permissions failed.
32+
33+
GitHub issue: [#14409](https://github.com/rabbitmq/rabbitmq-server/pull/14409)
34+
35+
#### Enhancements
36+
37+
* When a configured [authentication or authorization backend](https://www.rabbitmq.com/docs/access-control#backends) comes from a known
38+
plugin but the plugin is not enabled, the node will now refuse to start.
39+
40+
Previously the node would boot but client connections would fail because
41+
of the missing backend modules.
42+
43+
GitHub issues: [#13783](https://github.com/rabbitmq/rabbitmq-server/discussions/13783), [#14408](https://github.com/rabbitmq/rabbitmq-server/pull/14408)
44+
45+
* Similarly to the number of [queues](https://github.com/rabbitmq/rabbitmq-server/pull/11196) and [virtual hosts](https://github.com/rabbitmq/rabbitmq-server/pull/7798), it is now possible
46+
to configure a limit on the cluster-wide number of exchanges that applications
47+
can create:
48+
49+
```ini
50+
# Applications won't be able to decalre more than 200 exchanges
51+
# (including the protocol-standard pre-declared ones) in the cluster
52+
cluster_exchange_limit = 200
53+
```
54+
55+
The setting must be set to the same value on all cluster nodes.
56+
57+
As with other limits, the goal is to introduce a guard against applications
58+
that leak resources.
59+
60+
GitHub issue: [#14339](https://github.com/rabbitmq/rabbitmq-server/pull/14339)
61+
62+
63+
* In some environments, the use of load balancers is mandated and therefore
64+
[Local Random exchanges](https://www.rabbitmq.com/docs/local-random-exchange) cannot be used.
65+
66+
A new setting, `exchange_types.local_random.enabled`, can be used to explicitly disable the local random exchange type,
67+
returning an error to the clients that try to declare such an exchange:
68+
69+
```ini
70+
# use in environments where the locality requirements of the local random exchange type cannot
71+
# be satisfied
72+
exchange_types.local_random.enabled = false
73+
```
74+
75+
GitHub issue: [#14363](https://github.com/rabbitmq/rabbitmq-server/pull/14363)
76+
77+
* `RABBITMQ_MAX_OPEN_FILES` is a new environment variable supported by the `rabbitmq-server`
78+
startup script on Linux, macOS and BSD family operating systems.
79+
80+
It **does not** replace the [standard mechanisms](https://www.rabbitmq.com/docs/networking#open-file-handle-limit) of increasing the maximum allowed
81+
file handle limit for the node. However, it can be useful in environments where the
82+
soft (current) limit is meaningfully lower than the hard (maximum allowed per system configuration) limit, and the user can only control the soft limit.
83+
84+
For example, this is the case in most hosted Kubernetes environments.
85+
86+
87+
### Stream Plugin
88+
89+
#### Bug Fixes
90+
91+
* If a Single Active Consumer could not leave its SAC group because the stream
92+
coordinator was not available, the operation will now be retried a few times
93+
before reporting a failure back to the client.
94+
95+
GitHub issue: [#14341](https://github.com/rabbitmq/rabbitmq-server/pull/14341)
96+
97+
* Advertised TLS hostname setting value was not passed on to the stream protocol
98+
metadata frame.
99+
100+
GitHub issue: [#14345](https://github.com/rabbitmq/rabbitmq-server/pull/14345)
101+
102+
103+
### CLI TOols
104+
105+
#### Bug Fixes
106+
107+
* `rabbitmqctl cluster_status --formatter=json` double converted the `running_nodes`
108+
field.
109+
110+
GitHub issue: [#14382](https://github.com/rabbitmq/rabbitmq-server/pull/14382)
111+
112+
113+
### Shovel Plugin
114+
115+
#### Bug Fixes
116+
117+
* `rabbitmqctl shovel_status` command now handles the presence of metrics.
118+
119+
GitHub issue: [#14298](https://github.com/rabbitmq/rabbitmq-server/pull/14298)
120+
121+
* AMQP 1.0 shovels now perform stricter validation on the `src-delete-after` values.
122+
They support a narrower set of values compared to their AMQP 0-9-1 counterparts
123+
but shovel definition validation did not account for that difference.
124+
125+
GitHub issue: [#14420](https://github.com/rabbitmq/rabbitmq-server/pull/14420)
126+
127+
128+
### Dependency Changes
129+
130+
* `ra` was upgraded to [`2.16.13`](https://github.com/rabbitmq/ra/releases)
131+
* `cuttlefish` was upgraded to [`3.5.0`](https://github.com/kyorai/cuttlefish/releases)
132+
133+
134+
## Source Code Archives
135+
136+
To obtain source code of the entire distribution, please download the archive named `rabbitmq-server-4.1.4.tar.xz`
137+
instead of the source tarball produced by GitHub.

0 commit comments

Comments
 (0)