RabbitMQ 4.1.2
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
Bug Fixes
- Channels that had consumers that consumed from quorum queues could leak file handles when those queues were deleted.
- Classic queues now retry opening files when flushing buffers to significantly reduce the probability of running into
eacces
file system operation errors from the Windows kernel.
GitHub issue: #14131
Enhancements
- An opt-in setting that makes a node refuse to boot if there's evidence that the node might have been reset in the past.
GitHub issue: #14125
- Minor memory footprint optimizations.
GitHub issues: #14089, #14065, #14058
Stream Plugin
Bug Fixes
- Multiple stream and stream SAC (Single Active Consumer) coordinator resilience improvements.
GitHub issues: #14107, #14085, #14070
- Consumer on a stream that was deleted could leak a file descriptor.
GitHub issue: #14143
- When a stream member (replica) failed, consumer cleanup could affect consumers connected to different nodes.
GitHub issue: #13961
- A higher priority SAC consumer was never activated when a quiescing consumer returned or requeued its last outstanding delivery.
GitHub issue: #14149
- Unhandled stream coordinator exceptions now close stream connections, giving clients a chance to reconnect and reset stream state.
GitHub issue: #14040
- A closing connection could log a scary looking harmless exception.
GitHub issue: #14128
CLI Tools
Enhancements
rabbitmq-streams activate_stream_consumer
is a new CLI command that forcefully activates a specific consumer in a SAC (Single Active Consumer) group:
shell
rabbitmq-streams activate_stream_consumer --stream [stream name] --reference [reference]
This is an emergency operations command that won't be necessary most of the time.
GitHub issue: #14055
Bug Fixes
rabbitmq-streams coordinator_status
command reported an incorrect Raft machine version.
GitHub issue: #14112
rabbitmq-diagnostics environment
now correctly transforms its output when--formatter=json
is used.
GitHub issue: #14118
Management Plugin
Bug Fixes
- Eliminated a JavaScript exception that could affect those upgrading from
3.13.x
to4.x
versions.
GitHub issue: #13973
- Virtual host restart form now sanitizes virtual host name.
Dependency Changes
ra
was upgraded to2.16.11
redbug
was upgraded to2.1.0
Source Code Archives
To obtain source code of the entire distribution, please download the archive named rabbitmq-server-4.1.2.tar.xz
instead of the source tarball produced by GitHub.