Try our Chrome extension
Easily add the current web-page from your browser directly into your changedetection.io tool, more great features coming soon!Changedetection.io needs your support!
You can help us by supporting changedetection.io on these platforms;
- Rate us at AlternativeTo.net
- Star us on GitHub
- Follow us at Twitter/X
- G2 Software reviews
- Check us out on LinkedIn
- And tell your friends and colleagues :)
The more popular changedetection.io is, the more time we can dedicate to adding amazing features!
Many thanks :)
changedetection.io team
Not yet seconds ago.
False
Not yet seconds ago
2 hours agoGoto single snapshot
Skip to content
Navigation Menu
Sign in Appearance settings
* Platform
+ AI CODE CREATION
o GitHub Copilot Write better code with AI
o GitHub Copilot app Direct agents from issue to merge
o MCP Registry Integrate external tools
+ DEVELOPER WORKFLOWS
o Actions Automate any workflow
o Codespaces Instant dev environments
o Issues Plan and track work
o Code Review Manage code changes
o Code Quality Enforce quality at merge
+ APPLICATION SECURITY
o GitHub Advanced Security Find and fix vulnerabilities
o Code security Secure your code as you build
o Secret protection Stop leaks before they start
+ EXPLORE
o Why GitHub
o Documentation
o Blog
o Changelog
o Marketplace
View all features
* Solutions
+ BY COMPANY SIZE
o Enterprises
o Small and medium teams
o Startups
o Nonprofits
+ BY USE CASE
o App Modernization
o DevSecOps
o DevOps
o CI/CD
o View all use cases
+ BY INDUSTRY
o Healthcare
o Financial services
o Manufacturing
o Government
o View all industries
View all solutions
* Resources
+ EXPLORE BY TOPIC
o AI
o Software Development
o DevOps
o Security
o View all topics
+ EXPLORE BY TYPE
o Customer stories
o Events & webinars
o Ebooks & reports
o Business insights
o GitHub Skills
+ SUPPORT & SERVICES
o Documentation
o Customer support
o Community forum
o Trust center
o Partners
View all resources
* Open Source
+ COMMUNITY
o GitHub Sponsors Fund open source developers
+ PROGRAMS
o Security Lab
o Maintainer Community
o Accelerator
o GitHub Stars
o Archive Program
+ REPOSITORIES
o Topics
o Trending
o Collections
* Enterprise
+ ENTERPRISE SOLUTIONS
o Enterprise platform AI-powered developer platform
+ AVAILABLE ADD-ONS
o GitHub Advanced Security Enterprise-grade security features
o Copilot for Business Enterprise-grade AI features
o Premium Support Enterprise-grade 24/7 support
* Pricing
Type / to search
Sign in
Sign up Appearance settings
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Uh oh!
There was an error while loading. Please reload this page.
rabbitmq / rabbitmq-server Public
* Notifications You must be signed in to change notification settings
* Fork 4k
* Star 13.8k
* Code
* Issues 205
* Pull requests 55
* Pull requests 52
* Discussions
* Actions
* Security and quality 73
* Insights
Additional navigation options
* Code
* Issues
* Pull requests
* Discussions
* Actions
* Security and quality
* Insights
Releases: rabbitmq/rabbitmq-server
Releases Tags
Releases · rabbitmq/rabbitmq-server
Release list
* RabbitMQ 4.3.4
* RabbitMQ 4.2.9
* RabbitMQ 4.3.3
* RabbitMQ 4.2.8
* RabbitMQ 4.3.2
* RabbitMQ 4.3.1
* RabbitMQ 4.2.7
* RabbitMQ 4.3.0
* RabbitMQ 4.2.6
* RabbitMQ 4.3.0-rc.1
Previous Next
Jump to release
* RabbitMQ 4.3.4
* RabbitMQ 4.2.9
* RabbitMQ 4.3.3
* RabbitMQ 4.2.8
* RabbitMQ 4.3.2
* RabbitMQ 4.3.1
* RabbitMQ 4.2.7
* RabbitMQ 4.3.0
* RabbitMQ 4.2.6
* RabbitMQ 4.3.0-rc.1
Previous Next
RabbitMQ 4.3.4
RabbitMQ 4.3.4 Latest
Latest
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
michaelklishin released this 23 Jul 14:46
v4.3.4
d5186e6
RabbitMQ 4.3.4 is a maintenance release in the 4.3.x release series.
It is strongly recommended that you read 4.3.0 release notes
in detail if upgrading from a version prior to 4.3.0.
Minimum Supported Erlang Version
The minimum supported Erlang version for this release series is 27.0.
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
* Quorum queues in clusters upgraded from 3.13.x to 4.2.x and then to 4.3.x could stop
emitting metrics and taking snapshots after a node restart.
GitHub issues: #16974, #16990
* The AMQP 1.0 parser now detects standard message body sections more strictly.
GitHub issue: #17017
* The AMQP 1.0 parser now decodes certain array values more efficiently.
GitHub issue: #16994
Stream Plugin
Bug Fixes
* The single active consumer coordinator
did not notify a consumer that was re-selected for activation while it was still deactivating,
leaving the group without an active consumer.
Contributed by @pterygota.
GitHub issues: #16975, #16976
Management Plugin
Bug Fixes
* Very short lived exclusive queues could cause an exception during metric collection, producing
log noise.
GitHub issues: #16989, #16999, #17002
* After an IdP-initiated OAuth 2 login, the management UI now returns the user
to the page that was open before the login instead of the default one.
Contributed by @thisisnsh.
GitHub issues: #16957, #16961
Enhancements
* The management UI Content Security Policy (CSP) no longer includes the unsafe-eval and
unsafe-inline directives.
GitHub issue: #16916
Federation Plugin
Bug Fixes
* In scenarios that involved a federated queue and a federated exchange with exactly the same name in the same virtual host,
deleting an upstream unintentionally corrupted the federated exchange(s) operating state, breaking federation
for the exchange in question.
GitHub issues: #16991, #16997
Dependency Changes
None in this release.
Contributors
*
*
pterygota and thisisnsh
Assets 30
* rabbitmq-server-4.3.4-1.el8.noarch.rpm
sha256:08749d59a52a3f93e69239b7868e55a8d3a82eb59e972baf9a5263880c9a0599
24.9 MB 2026-07-23T14:46:22Z
* rabbitmq-server-4.3.4-1.el8.noarch.rpm.asc
sha256:55591145ce1956e2c2c361c20b911b6c8acd3167643112d26f1557bd3458af07
833 Bytes 2026-07-23T14:46:22Z
* rabbitmq-server-4.3.4-1.el8.src.rpm
sha256:527e8aea67aefa8c67e4741045b10ca090e20a0cf593e6a1015e99282543c953
3.45 MB 2026-07-23T14:46:22Z
* rabbitmq-server-4.3.4-1.el8.src.rpm.asc
sha256:f21f6a70321bdc4133669902badb0ec3f5357acaaffc9e2bc1a9b1f16cf4be7e
833 Bytes 2026-07-23T14:46:22Z
* rabbitmq-server-4.3.4.exe
sha256:b6cf206bb63203abe564e6ea9be9043210a8d696d28bb315cae3ed87cd6e7cec
22.7 MB 2026-07-23T14:46:22Z
* rabbitmq-server-4.3.4.exe.asc
sha256:0f687ba0b84a47593a41d7cfe87380b5fb8e5b00b9c98a81fec53aac56146da3
833 Bytes 2026-07-23T14:46:22Z
* rabbitmq-server-4.3.4.manifest
sha256:afaec12f08c2b30fc7d10a3391e5005016a72e59559c8bfedafc92cd3bdde7ff
229 KB 2026-07-23T14:46:22Z
* rabbitmq-server-4.3.4.manifest.asc
sha256:c5b0a9ae2bba851a30fdd6a026906a56ac656a6ae21465bd63e8858156c3d4f9
833 Bytes 2026-07-23T14:46:22Z
* rabbitmq-server-4.3.4.tar.xz
sha256:018d40fb9173edf47c1f283d0414f962bcf23b8964799d47aa68e1004d814951
3.41 MB 2026-07-23T14:46:22Z
* rabbitmq-server-4.3.4.tar.xz.asc
sha256:16e62d1bc687fb95591a8ff01b5b1882f51e02703594fceea07c3428fab15f41
833 Bytes 2026-07-23T14:46:22Z
* Source code (zip)
2026-07-23T13:33:21Z
* Source code (tar.gz)
2026-07-23T13:33:21Z
* Show all 30 assets Loading
Uh oh!
There was an error while loading. Please reload this page.
🎉 3 0xfeeddeadbeef, michalovits, and pei9n reacted with hooray emoji
All reactions
* 🎉 3 reactions
3 people reacted
RabbitMQ 4.2.9
RabbitMQ 4.2.9
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
michaelklishin released this 20 Jul 14:43
v4.2.9
47d6d64
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
RabbitMQ 4.2.9 is a maintenance release in the 4.2.x release series.
It is strongly recommended that you read 4.2.0 release notes
in detail if upgrading from a version prior to 4.2.0.
Minimum Supported Erlang Version
Important: starting with this release, the minimum supported Erlang version is 27.0. Erlang/OTP 26 has reached
end of life and is no longer supported.
GitHub issue: #16914
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
* Classic queue index directory paths could accumulate slashes, eventually failing
with an enametoolong file system error.
GitHub issue: #16833
* AMQP 1.0 management operations that declare an exchange with an alternate exchange now verify
the necessary permissions on the alternate exchange, matching AMQP 0-9-1.
GitHub issue: #16785
* AMQP 1.0 management GET /bindings operations now behave consistently with the rest
of the binding-related handlers.
GitHub issue: #16790
* Worker pool processes no longer terminate when they receive an unexpected message.
Contributed by @Ayanda-D.
GitHub issue: #16666
* A race condition between concurrent queue (or virtual host) deletion and a Ra cluster shutdown
could log an exception.
Contributed by @Ayanda-D.
GitHub issue: #16880
* A closing channel (connection) that failed to send channel.close_ok on an already terminated
writer or socket no longer produce log noise.
Contributed by @Ayanda-D.
GitHub issue: #16651
* Unexpected failures during channel termination cleanup no longer produce log noise.
Contributed by @Ayanda-D.
GitHub issue: #16740
* Code paths that use rabbit_queue_type_util:erpc_call/5 now handle more errors.
Contributed by @Ayanda-D.
GitHub issue: #16701
* Nodes could fail to start with a bad_generator exception in rabbit_queue_decorator:select/1
when a quorum queue record in the metadata store had its decorators set to undefined.
GitHub issues: #16843, #16844
* Enabling tracing on multiple virtual hosts concurrently could silently drop
some of the virtual hosts from the traced set. All virtual host tracing state modifications
are now linearized.
GitHub issues: #16755, #16763
Enhancements
* Password salts are now generated using a cryptographically secure pseudo-random number generator (CSPRNG).
GitHub issue: #16775
* Socket-level metric collection used by several protocol readers and the management agent
now handles concurrently closed connections safely.
Inspired by a contribution of @MugemaneBertin2001.
GitHub issues: #16856, #16832
CLI Tools
Bug Fixes
* rabbitmq-plugins commands now tolerate plugins that are listed as enabled but are not installed.
GitHub issue: #16896
* rabbitmq-plugins list no longer outputs an empty plugin table when the target node
cannot be reached.
GitHub issue: #16791
* rabbitmq-plugins commands now correctly handle file paths of remote nodes, validate remote nodes
in offline mode, and no longer report false positives for rabbitmq-plugins is_enabled.
GitHub issue: #16842
* Shell (Bash, zsh) command completion fixes.
Contributed by @Chr1s70ph.
GitHub issue: #16776
Enhancements
* rabbitmq-queues and rabbitmq-streams now provide transfer_leadership commands
for individual queues and streams.
GitHub issue: #16757
* rabbitmq-upgrade drain safety improvements: the command now handles certain failures
more gracefully.
Proposed by @MugemaneBertin2001.
GitHub issues: #16865, #3369
Stream Plugin
Bug Fixes
* Permissions required for certain stream protocol operations were adjusted to be consistent
with comparable operations over other protocols.
GitHub issue: #16754
Enhancements
* The maximum number of super stream partitions is now limited to 1,000 partitions by default.
This limit can be increased using the stream.max_super_stream_partitions key in rabbitmq.conf.
GitHub issues: #16689, #16706
* A client RPC timeout is now logged as a concise message instead of an exception
with a stack trace.
Contributed by @MugemaneBertin2001.
GitHub issues: #16829, #15744
Management Plugin
Bug Fixes
* OAuth 2 login could fail in Safari. A new token endpoint proxy is now used
for the affected authorization flow.
GitHub issues: #16664, #16892
* Several management UI templates now use safe string escaping in more places.
GitHub issue: #16738, #16677
* HTTP API message publishing endpoint now uses a timeout when waiting for publisher confirms.
GitHub issue: #16911
Enhancements
* Definition export over the HTTP API is now significantly more efficient and
transfers the result using HTTP response streaming.
GitHub issue: #16734
* The Referrer-Policy HTTP response header is now set (and configurable).
GitHub issue: #16893
* HTTP API error responses were refactored to be more consistent and expose fewer internal details.
GitHub issue: #16709
OAuth 2 AuthN and AuthZ Backend Plugin
Bug Fixes
* Fractional exp (token expiry) timestamp values are now honored.
GitHub issue: #16713
Enhancements
* The token refresh path is now more robust.
GitHub issue: #16858
Shovel Plugin
Bug Fixes
* Several shovel bug fixes, including one for static shovel URIs whose credentials
could be logged.
GitHub issues: #16855, #16835
* A shovel deleted before it successfully connected (in the starting state) no longer
leaks its status entry.
GitHub issue: #16767
Federation Plugin
Bug Fixes
* Federation upstream URIs are now validated more strictly.
GitHub issue: #16942
MQTT Plugin
Enhancements
* More correct peer host detection in setups that have Proxy Protocol enabled.
GitHub issue: #16933
Web MQTT Plugin
Enhancements
* More correct peer host detection in setups that have Proxy Protocol enabled.
GitHub issue: #16933
* The HSTS response header policy can now be configured for Web MQTT listeners.
GitHub issues: #14161, #16772
STOMP Plugin
Enhancements
* Internal socket handling refactoring shared by STOMP and Web STOMP connections.
GitHub issue: #16935
Web STOMP Plugin
##...
Read more
Contributors
*
*
*
*
Ayanda-D, Chr1s70ph, and 2 other contributors
Assets 30
Loading
Uh oh!
There was an error while loading. Please reload this page.
All reactions
RabbitMQ 4.3.3
RabbitMQ 4.3.3
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
michaelklishin released this 20 Jul 14:55
v4.3.3
1d284b2
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
RabbitMQ 4.3.3 is a maintenance release in the 4.3.x release series.
It is strongly recommended that you read 4.3.0 release notes
in detail if upgrading from a version prior to 4.3.0.
Minimum Supported Erlang Version
Important: starting with this release, the minimum supported Erlang version is 27.0. Erlang/OTP 26 has reached
end of life and is no longer supported.
GitHub issue: #16914
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
* Quorum queue, Khepri and other Raft leaders could optimistically commit new log entries in certain scenarios.
GitHub issue: rabbitmq/ra#637
* Quorum queues that use at-least-once dead lettering could get their
dead lettering process permanently stuck after repeated queue membership changes.
GitHub issue: #16652
* Classic queue index directory paths could accumulate slashes, eventually failing
with an enametoolong file system error.
GitHub issue: #16833
* Enabling the tie_binding_to_dest_with_keep_while_cond feature flag could fail with an exception
when certain exchange-to-exchange topologies.
GitHub issue: #16824
* An invalid consumer_timeout value in the configuration now falls back to the default
value (24 hours) instead of being used as is.
GitHub issue: #16799
* AMQP 1.0 management operations that declare an exchange with an alternate exchange now verify
the necessary permissions on the alternate exchange, matching AMQP 0-9-1.
GitHub issue: #16785
* AMQP 1.0 management GET /bindings operations now behave consistently with the rest
of the binding-related handlers.
GitHub issue: #16790
* Worker pool processes no longer terminate when they receive an unexpected message.
Contributed by @Ayanda-D.
GitHub issue: #16666
* A race condition between concurrent queue (or virtual host) deletion and a Ra cluster shutdown
could log an exception.
Contributed by @Ayanda-D.
GitHub issue: #16880
* A closing channel (connection) that failed to send channel.close_ok on an already terminated
writer or socket no longer produce log noise.
Contributed by @Ayanda-D.
GitHub issue: #16651
* Unexpected failures during channel termination cleanup no longer produce log noise.
Contributed by @Ayanda-D.
GitHub issue: #16740
* Code paths that use rabbit_queue_type_util:erpc_call/5 now handle more errors.
Contributed by @Ayanda-D.
GitHub issue: #16701
* Nodes could fail to start with a bad_generator exception in rabbit_queue_decorator:select/1
when a quorum queue record in the metadata store had its decorators set to undefined.
GitHub issues: #16843, #16844
* Enabling tracing on multiple virtual hosts concurrently could silently drop
some of the virtual hosts from the traced set. All virtual host tracing state modifications
are now linearized.
GitHub issues: #16755, #16763
Enhancements
* Password salts are now generated using a cryptographically secure pseudo-random number generator (CSPRNG).
GitHub issue: #16775
* Socket-level metric collection used by several protocol readers and the management agent
now handles concurrently closed connections safely.
Inspired by a contribution of @MugemaneBertin2001.
GitHub issues: #16856, #16832
CLI Tools
Bug Fixes
* rabbitmq-plugins commands now tolerate plugins that are listed as enabled but are not installed.
GitHub issue: #16896
* rabbitmq-plugins list no longer outputs an empty plugin table when the target node
cannot be reached.
GitHub issue: #16791
* rabbitmq-plugins commands now correctly handle file paths of remote nodes, validate remote nodes
in offline mode, and no longer report false positives for rabbitmq-plugins is_enabled.
GitHub issue: #16842
* Shell (Bash, zsh) command completion fixes.
Contributed by @Chr1s70ph.
GitHub issue: #16776
Enhancements
* rabbitmq-queues and rabbitmq-streams now provide transfer_leadership commands
for individual queues and streams.
GitHub issue: #16757
* rabbitmq-upgrade drain safety improvements: the command now handles certain failures
more gracefully.
Proposed by @MugemaneBertin2001.
GitHub issues: #16865, #3369
Stream Plugin
Bug Fixes
* Permissions required for certain stream protocol operations were adjusted to be consistent
with comparable operations over other protocols.
GitHub issue: #16754
Enhancements
* The maximum number of super stream partitions is now limited to 1,000 partitions by default.
This limit can be increased using the stream.max_super_stream_partitions key in rabbitmq.conf.
GitHub issues: #16689, #16706
* A client RPC timeout is now logged as a concise message instead of an exception
with a stack trace.
Contributed by @MugemaneBertin2001.
GitHub issues: #16829, #15744
Management Plugin
Bug Fixes
* OAuth 2 login could fail in Safari. A new token endpoint proxy is now used
for the affected authorization flow.
GitHub issues: #16664, #16892
* Several management UI templates now use safe string escaping in more places.
GitHub issue: #16738, #16677
* HTTP API message publishing endpoint now uses a timeout when waiting for publisher confirms.
GitHub issue: #16911
Enhancements
* Definition export over the HTTP API is now significantly more efficient and
transfers the result using HTTP response streaming.
GitHub issue: #16734
* The Referrer-Policy HTTP response header is now set (and configurable).
GitHub issue: #16893
* The Allow HTTP response header can now be excluded from HTTP API responses.
GitHub issue: #16907
* HTTP API error responses were refactored to be more consistent and expose fewer internal details.
GitHub issue: #16709
* HTTP access log entries for OAuth 2-authenticated requests now use the username determined
by the authentication backend (e.g. preferred_username) instead of the client ID.
GitHub issues: #16879, #16559
* Definition file uploads via the management UI now require a .json file extension
(enabled via a feature switch).
GitHub issue: #16946
OAuth 2 AuthN and AuthZ Backend Plugin
Bug Fixes
* Fractional exp (token expiry) timestamp values are now honored.
GitHub issue: #16713
Enhancements
* The token refresh path is now more robust.
GitHub issue: #16858
...
Read more
Contributors
*
*
*
*
Ayanda-D, Chr1s70ph, and 2 other contributors
Assets 30
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 1 lin72h reacted with thumbs up emoji
All reactions
* 👍 1 reaction
1 person reacted
RabbitMQ 4.2.8
RabbitMQ 4.2.8
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
michaelklishin released this 15 Jun 15:08
v4.2.8
8b611c9
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
RabbitMQ 4.2.8 is a maintenance release in the 4.2.x release series.
It is strongly recommended that you read 4.2.0 release notes
in detail if upgrading from a version prior to 4.2.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
* Users created without a password or a password hash (for example, those that rely on
X.509 certificate-based authentication) over the HTTP API are now stored correctly,
exactly like the users whose password was cleared with rabbitmqctl clear_password.
GitHub issues: #16629, #16633
* Consumer activity status of classic queue consumers was not always correctly updated and reported
when single active consumer was enabled.
GitHub issues: #16532, #16450
* Default queue type (DQT) validation now treats empty strings the same way as a missing value: by falling back
to the default (classic queues).
GitHub issues: #16481, #16488
Enhancements
* The per-node channel limit (channel_max_per_node) is now also enforced for channels opened
on direct Erlang client connections used by the Shovel and Federation plugins, matching the behavior
enforced for "regular" AMQP 0-9-1 clients.
GitHub issues: #16616, #16618
* Modules are now loaded in parallel early on node boot, reducing node startup time.
GitHub issue: #16479
* Several new rabbitmq.conf keys now support encrypted values.
GitHub issue: #16632
CLI Tools
Bug Fixes
* rabbitmqctl add_vhost now validates the provided default queue type value.
GitHub issue: #16481
Stream Plugin
Bug Fixes
* Fixed a frame assembly performance regression in the stream protocol reader.
GitHub issue: #16588
Enhancements
* Several stream protocol reader optimizations: stream metadata queries now contact cluster nodes concurrently,
subscription lookups use a more efficient data structure, and frame processing short-circuits
when a connection reaches a terminal state.
GitHub issue: #16588
Management Plugin
Bug Fixes
* CORS hardening: access-control-request-headers values are now validated and
a wildcard (*) origin header value is rejected.
GitHub issue: #16544
* Definitions import now limits the size of multipart upload bodies, and definitions export
download filenames are restricted to a safe character set.
GitHub issue: #16544
* HTTP API 500 responses no longer include internal error details in the response body.
GitHub issue: #16544
* Several HTTP response headers are now consistently lowercase, and a previously missing
content-type header was added to certain responses.
GitHub issue: #16544
Enhancements
* A one-time warning is now logged when the HSTS or CSP headers are disabled.
GitHub issue: #16544
* The timestamp of the oldest message in a stream is now displayed on the stream page.
GitHub issue: #15412
Prometheus Plugin
Enhancements
* More plugin configuration keys, such as prometheus.ssl.password, now support
encrypted values in rabbitmq.conf.
GitHub issues: #16516, #16521
MQTT Plugin
Bug Fixes
* mqtt.tcp_listen_options.* settings in rabbitmq.conf did not take effect
due to a configuration translation issue.
GitHub issue: #16529
Dependency Changes
* cuttlefish was upgraded to 3.9.1
* cowboy was upgraded to 2.16.0
* cowlib was upgraded to 2.17.0
* gun was upgraded to 2.4.0
Assets 30
Loading
Uh oh!
There was an error while loading. Please reload this page.
All reactions
RabbitMQ 4.3.2
RabbitMQ 4.3.2
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
michaelklishin released this 15 Jun 15:34
v4.3.2
a509158
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
RabbitMQ 4.3.2 is a maintenance release in the 4.3.x release series.
It is strongly recommended that you read 4.3.0 release notes
in detail if upgrading from a version prior to 4.3.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
* Enabling the tie_binding_to_dest_with_keep_while_cond feature flag could fail in some
rare cases.
GitHub issue: #16587
* Users created without a password or a password hash (for example, those that rely on
X.509 certificate-based authentication) over the HTTP API are now stored correctly,
exactly like the users whose password was cleared with rabbitmqctl clear_password.
GitHub issues: #16629, #16633
* Consumer activity status of classic queue consumers was not always correctly updated and reported
when single active consumer was enabled.
GitHub issues: #16532, #16450
* The values of the x-consumer-timeout and x-consumer-disconnected-timeout optional arguments
are now validated at queue declaration time.
GitHub issue: #16557
* Default queue type (DQT) validation now treats empty strings the same way as a missing value: by falling back.
to the default (classic queues).
GitHub issues: #16481, #16488
* Feature flag operations now avoid unnecessary work: flags that are already enabled on all cluster nodes
are excluded from synchronization, and enabling an empty set of flags is a no-op.
GitHub issue: #16497
* Configuration changes for deprecated features are now
honored when possible.
GitHub issue: #16500
Enhancements
* The per-node channel limit (channel_max_per_node) is now also enforced for channels opened
on direct Erlang client connections used by the Shovel and Federation plugins, matching the behavior
enforced for "regular" AMQP 0-9-1 clients.
GitHub issues: #16616, #16618
* Modules are now loaded in parallel early on node boot, reducing node startup time.
GitHub issue: #16479
* Several new rabbitmq.conf keys now supports encrypted values.
GitHub issue: #16632
CLI Tools
Bug Fixes
* rabbitmqctl set_topic_permissions now validates target user and exchange for existence.
GitHub issue: #16590
* rabbitmqctl add_vhost now validates the provided default queue type value.
GitHub issue: #16481
Stream Plugin
Bug Fixes
* Fixed a frame assembly performance regression in the stream protocol reader.
GitHub issue: #16588
Enhancements
* Several stream protocol reader optimizations: stream metadata queries now contact cluster nodes concurrently,
subscription lookups use a more efficient data structure, and frame processing short-circuits
when a connection reaches a terminal state.
GitHub issue: #16588
Management Plugin
Bug Fixes
* CORS hardening: access-control-request-headers values are now validated and
a wildcard (*) origin header value is rejected.
GitHub issue: #16544
* Definitions import now limits the size of multipart upload bodies, and definitions export
download filenames are restricted to a safe character set.
GitHub issue: #16544
* HTTP API 500 responses no longer include internal error details in the response body.
GitHub issue: #16544
* Several HTTP response headers are now consistently lowercase, and a previously missing
content-type header was added to certain responses.
GitHub issue: #16544
Enhancements
* A one-time warning is now logged when the HSTS or CSP headers are disabled.
GitHub issue: #16544
* The timestamp of the oldest message in a stream is now displayed on the stream page.
GitHub issue: #15412
* The queue list page can now display a "Delayed" message count column, for example, for
quorum queues that have a retry policy configured.
GitHub issue: #16639
Prometheus Plugin
Enhancements
* More plugin configuration keys, such as prometheus.ssl.password, now support
encrypted values in rabbitmq.conf.
GitHub issues: #16516, #16521
MQTT Plugin
Bug Fixes
* mqtt.tcp_listen_options.* settings in rabbitmq.conf did not take effect
due to a configuration translation issue.
GitHub issue: #16529
Dependency Changes
* cuttlefish was upgraded to 3.9.1
* cowboy was upgraded to 2.16.0
* cowlib was upgraded to 2.17.0
* gun was upgraded to 2.4.0
Assets 30
Loading
Uh oh!
There was an error while loading. Please reload this page.
🎉 3 0xfeeddeadbeef, xiaoyaobangbang, and Ahmard reacted with hooray emoji
All reactions
* 🎉 3 reactions
3 people reacted
RabbitMQ 4.3.1
RabbitMQ 4.3.1
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
michaelklishin released this 20 May 01:21
v4.3.1
49decca
This commit was signed with the committer’s verified signature.
michaelklishin Michael Klishin
GPG key ID: 16AB14D00D613900
Verified
Learn about vigilant mode.
RabbitMQ 4.3.1 is a maintenance release in the 4.3.x release series.
It is strongly recommended that you read 4.3.0 release notes
in detail if upgrading from a version prior to 4.3.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
* If a queue was bound to a topic exchange using an empty binding key (""),
messages published to any topic exchange with an empty
routing key would be incorrectly routed to that queue.
To apply the fix, enable the new topic_binding_projection_v5 feature flag after upgrading all cluster nodes.
GitHub issue: #16271
* A virtual host could be falsely considered to be deleted in certain metadata store error and timeout scenarios.
GitHub issue: #16422
* Passive queue and exchange declarations are now allowed for users that have any permission
on the virtual host (configure, write, or read), not only configure.
GitHub issues: #16272, #16085
* Classic queue shared message store GC could fall behind other queue activity under heavy load
GitHub issues: #16142, #16141
* Classic queue message store: garbage collection is now stopped cleanly during node shutdown.
GitHub issue: #15498
* Quorum queues now gracefully handle negative priority values.
GitHub issue: #16280
* Quorum queues: delayed retry-related policy keys are now accepted in policy definitions.
GitHub issues: #16395, #16398
* Fixed a bug where quorum queue's at-least-once dead lettering could direct commands to
the wrong member (replica).
GitHub issue: #16203
* Quorum queues: reintroduced Raft WAL max entries default of 500K.
GitHub issue: #16382
* A quorum queue could crash during recovery after an unclean shutdown
PR: rabbitmq/ra#629
* Stream queue argument validation was improved.
GitHub issue: #16285
Enhancements
* channel_max was renamed to max_channels in rabbitmq.conf. The original name is
still supported as an alias.
GitHub issue: #16347
* connection_max was renamed to max_connections in rabbitmq.conf. The original name is
still supported as an alias.
GitHub issue: #16347
* The per-node max_connections limit is now enforced for AMQP 1.0 connections as well as AMQP 0-9-1 ones.
GitHub issue: #16300
* When a plain-text client connects to a TLS listener (or vice versa) for
AMQP 0-9-1, MQTT, STOMP, and the Stream protocol, target node will log a more useful message.
GitHub issues: #16342, #16344
* The permission cache is now traversed less often during AMQP 1.0 management and AMQP 0-9-1 channel checks.
GitHub issue: #16274
Stream Plugin
Bug Fixes
* Stream protocol: an open frame with empty properties is now handled correctly.
GitHub issue: #16341
Enhancements
* It is now possible to cap the maximum number of concurrent Stream Protocol client
connections using the stream.max_connections configuration key in rabbitmq.conf.
GitHub issue: #16341
Management Plugin
Bug Fixes
* HTTP API GET /api/connections could return a 500 response when STOMP connections were present.
GitHub issue: #16435
Enhancements
* It is now possible to cap the maximum number of concurrent HTTP API connections using the management.tcp.max_connections,
management.ssl.max_connections configuration keys in rabbitmq.conf.
GitHub issue: #16407
* The peer (client) certificate serial number is now exposed in the management UI and select CLI commands.
GitHub issue: #16463
Prometheus Plugin
Enhancements
* It is now possible to cap the maximum number of concurrent HTTP API connections using the prometheus.tcp.max_connections,
prometheus.ssl.max_connections configuration keys in rabbitmq.conf.
GitHub issue: #16407
MQTT Plugin
Bug Fixes
* The MQTT connection process no longer fails and logs an exception when keepalive checks encounter socket errors on
an already-closed connection.
GitHub issue: #16391
Enhancements
* It is now possible to cap the maximum number of concurrent MQTT client connections using the mqtt.max_connections
configuration key in rabbitmq.conf.
GitHub issue: #16367
Federation Plugin
Bug Fixes
* Federation links could fail to start during rolling cluster restarts.
GitHub issues: #16234, #16224
LDAP Plugin
Enhancements
* New rabbitmq.conf configuration settings for TLS cipher suites: auth_ldap.ssl_options.ciphers.*.
GitHub issue: #16226
HTTP Auth Backend Plugin
Enhancements
* New rabbitmq.conf configuration settings for TLS cipher suites: auth_http.ssl_options.ciphers.*.
GitHub issue: #16226
Auth Backend Cache Plugin
Bug Fixes
* The cache was not effective for reconnecting clients.
GitHub issues: #16255, #16258
Trust Store Plugin
Bug Fixes
* A user-provided fail_if_no_peer_cert value in the plugin's TLS options is now respected. Previously,
an internal default could override the configured value.
GitHub issue: #16201
Enhancements
* New rabbitmq.conf configuration settings for TLS cipher suites: trust_store.ssl_options.ciphers.*.
GitHub issue: #16226
Dependency Changes
* ra was upgraded to 3.1.7
* cuttlefish was upgraded to 3.7.0
* cowboy was upgraded to 2.15.0
* cowlib was upgraded to 2.16.1
* gun was upgraded to 2.3.0
Assets 30
Loading
Uh oh!
There was an error while loading. Please reload this page.
🎉 3 0xfeeddeadbeef, lin72h, and wangqing6 reacted with hooray emoji
All reactions
* 🎉 3 reactions
3 people reacted
RabbitMQ 4.2.7
RabbitMQ 4.2.7
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
michaelklishin released this 19 May 23:48
v4.2.7
b15fd2a
This commit was signed with the committer’s verified signature.
michaelklishin Michael Klishin
GPG key ID: 16AB14D00D613900
Verified
Learn about vigilant mode.
RabbitMQ 4.2.7 is a maintenance release in the 4.2.x release series.
It is strongly recommended that you read 4.2.0 release notes
in detail if upgrading from a version prior to 4.2.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
* A virtual host could be falsely considered to be deleted in certain metadata store error and timeout scenarios.
GitHub issue: #16422
* Passive queue and exchange declarations are now allowed for users that have any permission
on the virtual host (configure, write, or read), not only configure.
GitHub issue: #16272
* Classic queue message store: garbage collection is now stopped cleanly during node shutdown.
GitHub issue: #15498
* Fixed a bug where quorum queue's at-least-once dead lettering could direct commands to
the wrong member (replica).
GitHub issue: #16203
* Stream queue argument validation was improved.
GitHub issue: #16285
Enhancements
* channel_max was renamed to max_channels in rabbitmq.conf. The original name is
still supported as an alias.
GitHub issue: #16347
* connection_max was renamed to max_connections in rabbitmq.conf. The original name is
still supported as an alias.
GitHub issue: #16347
* The per-node max_connections limit is now enforced for AMQP 1.0 connections as well as AMQP 0-9-1 ones.
GitHub issue: #16300
* The permission cache is now traversed less often during AMQP 1.0 management and AMQP 0-9-1 channel checks.
GitHub issue: #16274
Stream Plugin
Bug Fixes
* Stream protocol: an open frame with empty properties is now handled correctly.
GitHub issue: #16341
Enhancements
* It is now possible to cap the maximum number of concurrent Stream Protocol client
connections using the stream.max_connections configuration key in rabbitmq.conf.
GitHub issue: #16341
Management Plugin
Bug Fixes
* HTTP API GET /api/connections could return a 500 response when STOMP connections were present.
GitHub issue: #16435
Enhancements
* It is now possible to cap the maximum number of concurrent HTTP API connections using the management.tcp.max_connections,
management.ssl.max_connections configuration keys in rabbitmq.conf.
GitHub issue: #16407
* The peer (client) certificate serial number is now exposed in the management UI and select CLI commands.
GitHub issue: #16463
Prometheus Plugin
Enhancements
* It is now possible to cap the maximum number of concurrent HTTP API connections using the prometheus.tcp.max_connections,
prometheus.ssl.max_connections configuration keys in rabbitmq.conf.
GitHub issue: #16407
MQTT Plugin
Bug Fixes
* The MQTT connection process no longer fails and logs an exception when keepalive checks encounter socket errors on
an already-closed connection.
GitHub issue: #16391
Enhancements
* It is now possible to cap the maximum number of concurrent MQTT client connections using the mqtt.max_connections
configuration key in rabbitmq.conf.
GitHub issue: #16367
Federation Plugin
Bug Fixes
* Federation links could fail to start during rolling cluster restarts.
GitHub issues: #16234, #16224
LDAP Plugin
Enhancements
* New rabbitmq.conf configuration settings for TLS cipher suites: auth_ldap.ssl_options.ciphers.*.
GitHub issue: #16226
HTTP Auth Backend Plugin
Enhancements
* New rabbitmq.conf configuration settings for TLS cipher suites: auth_http.ssl_options.ciphers.*.
GitHub issue: #16226
Auth Backend Cache Plugin
Bug Fixes
* The cache was not effective for reconnecting clients.
GitHub issues: #16255, #16258
Trust Store Plugin
Bug Fixes
* A user-provided fail_if_no_peer_cert value in the plugin's TLS options is now respected. Previously,
an internal default could override the configured value.
GitHub issue: #16201
Enhancements
* New rabbitmq.conf configuration settings for TLS cipher suites: trust_store.ssl_options.ciphers.*.
GitHub issue: #16226
Dependency Changes
* ra was upgraded to 2.17.3
* cuttlefish was upgraded to 3.7.0
* cowboy was upgraded to 2.15.0
* cowlib was upgraded to 2.16.1
* gun was upgraded to 2.3.0
Assets 30
Loading
Uh oh!
There was an error while loading. Please reload this page.
🚀 1 the-mikedavis reacted with rocket emoji
All reactions
* 🚀 1 reaction
1 person reacted
RabbitMQ 4.3.0
RabbitMQ 4.3.0
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
michaelklishin released this 23 Apr 01:18
v4.3.0
1929eea
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
RabbitMQ 4.3.0 is a new feature release.
Breaking Changes and Compatibility Notes
Mnesia and Parition Handling Strategies are Removed
Since only 4.2.x clusters can upgrade to 4.3.0 in place, this
won't be a breaking change for nearly all instalations but it will affect community
plugins that use Mnesia.
All partition handling-related keys in rabbitmq.conf will be
accepted by 4.3.0 nodes but won't have any effect:
* cluster_partition_handling
* cluster_partition_handling.pause_if_all_down.recover
* cluster_partition_handling.pause_if_all_down.nodes.$name
Team RabbitMQ recommends removing the above keys from rabbitmq.conf before or shortly after upgrading.
Deprecated Features are Now Disabled by Default
A number of deprecated features are now disabled
by default and require the user to opt-in in order to use them.
This includes non-durable (transient) non-exclusive queues:
attempts to declare a queue with such property combination will be rejected by default.
Use durable queues, transient exclusive queues, or durable queues with a queue TTL instead.
To explicitly allow transient non-exclusive queues, make sure that
all nodes in the cluster include the following rabbitmq.conf key
and were restarted so that all nodes have a consistent view of the deprecated
feature settings:
# Enables deprecated non-durable (transient) non-exclusive queues
# (disabled by default as of RabbitMQ `4.3.0`, will be removed in a later version).
#
# Must be effective on all cluster nodes BEFORE
# the cluster is upgraded to `4.3.0`.
# If only some nodes have the setting configured, it will not have the desired effect.
deprecated_features.permit.transient_nonexcl_queues = true
If only some nodes have setting configured, it will not have the desired effect.
Classic Queues v1 Storage (CQv1) is Removed
This release removes the original classic queue storage implementation these days
known as CQv1. A 2nd generation implementation called CQv2 has been adopted
as the default starting with 4.2.0.
This means that attempts to declare a queue using the following optional queue arguments will fail:
* x-queue-mode set to any value
* x-queue-version set to 1
Existing classic queues upgraded to CQv2 during an earlier upgrade to 4.2.x will continue
operating as usual.
Consumer Timeouts are No Longer Evaluated for Classic Queues and Streams
This release moves consumer timeout handling responsibility into the queues
themselves. Also, all protocols (except for the stream protocol) now evaluate
consumer timeout for queue types that support them. Classic queues and streams
never evaluate consumer timeouts as their use cases largely avoid the need for
such as feature.
Release Highlights
Khepri is Now The Only Metadata Store
As of this release, Khepri is the only metadata store supported
by RabbitMQ: Mnesia was removed completely.
In practical operational terms, this means that
1. For a cluster to be available, a majority of nodes must be online at all times
2. Failure and partition recovery in a RabbitMQ cluster is now significantly
simpler and uniform: all components that have replicated state (Khepri, quorum queues, streams)
recover per Raft recovery semantics
Quorum Queues Enhancements
This release upgrades the Ra dependency to 3.x and introduces
a new (8th) version of the quorum queue state machine with several new features and optimisations:
* Strict priority queues with per-priority message counts, correct
redelivery ordering, and priority-aware message expiration
* Delayed retry for quorum queues: configurable increasing backoff when
messages are returned
* Consumer timeout for quorum queues: configurable timeout for
unacknowledged messages, with protocol-specific handling for AMQP 1.0 and
MQTT
* Recovery snapshots and snapshot throttling to reduce recovery time
and improve snapshotting decisions
* Memory optimisations including compact message references, optimised
tuple storage for delayed keys, and removal of rabbit_fifo_index usage
Upgrading to 4.3.0
Documentation Guides on Upgrades
See the Upgrading guide for documentation on upgrades and GitHub releases
for release notes of individual releases.
This release series supports upgrades from 4.2.x. Upgrades from earlier series are not supported:
users must upgrade to the latest available 4.2.x patch release before upgrading to 4.3.0.
New Required Feature Flags
All feature flags introduced in 4.2.0 and earlier are required, including the following:
* rabbitmq_4.2.0
* rabbitmq_4.1.0
* rabbitmq_4.0.0
* khepri_db
* quorum_queue_non_voters
* message_containers_deaths_v2
Enable all required feature flags before upgrading to 4.3.0.
If your RabbitMQ cluster had plugin rabbitmq_amqp1_0 enabled in RabbitMQ 3.13.x (and your cluster still serves AMQP 1.0 client connections in 4.x), your cluster should do at least one rolling update after enabling feature flag rabbitmq_4.0.0 but before upgrading to 4.3.0.
Deprecated Features
In 4.3.0 the deprecation phase of the following features advanced from permitted_by_default to denied_by_default:
* amqp_address_v1
* amqp_filter_set_bug
* global_qos
* queue_master_locator
* transient_nonexcl_queues
And the deprecated feature ram_node_type has been removed.
Mixed Version Cluster Compatibility
RabbitMQ 4.3.0 nodes can run alongside 4.2.x in the same cluster.
Mixed version clusters are a mechanism that allows rolling upgrades and are not meant to be run for extended
periods of time (no more than a few hours).
Recommended Post-upgrade Procedures
This version does not require any additional post-upgrade procedures
compared to other versions.
Changes Worth Mentioning
Core Server
Enhancements
* When a message is rejected by a queue, RabbitMQ now provides the queue name and rejection reason to AMQP 1.0 publishers
in the Rejected outcome. This is particularly useful when multiple queues are bound to an exchange, as it allows
publishers to identify which specific queue out of several target queues rejected the message and why
(e.g., maximum queue length reached or queue unavailable). Previously, publishers had no way to determine which queue
rejected their message or the reason for rejection.
The queue name and reason are included in the info field of the Rejected outcome's error field:
+ queue: <queue name>
+ reason: maxlen | unavailable
GitHub issue: #15075
* Quorum queues now support strict priority queues with per-priority message counts,
correct redelivery ordering across priorities, and priority-aware message expiration scans.
GitHub issue: #13885
* Quorum queues now support delayed retry with configurable backoff based on delivery count. When messages
are returned (via reject, nack, or modify), they can be held in a delayed state before becoming
available again. The delay is based on delivery count: min(min_delay * delivery_count, max_delay).
Configuration is available via queue arguments (x-delayed-retry-type, x-delayed-retry-min,
x-delayed-retry-max) or policy keys (delayed-retry-type, delayed-retry-min,
delayed-retry-max). The retry type can be set to disabled, all, failed, or returned.
GitHub issue: #13885
* Quorum queues now support a configurable consumer timeout. When a consumer holds unacknowledged
messages beyond the timeout, the messages are returned to the queue. For AMQP 1.0 clients,
timed-out deliveries are released via DISPOSITION(state=released) instead of detaching the link,
allowing the consumer to recover without re-attaching. MQTT consumers are also supported.
The timeout can be set via the x-consumer-timeout consumer argument, queue argument, consumer-timeout
policy key, or the global consumer_timeout setting in rabbitmq.conf.
GitHub issue: #13885
* A new consumer_disconnected_timeout setting controls how long quorum queues wait before returning
messages when a consumer's node becomes unreachable due to a network partition. The default is 60 seconds.
Configurable via consumer_disconnected_timeout in rabbitmq.conf, the consumer-disconnected-timeout
policy key, or the x-consumer-disconnected-timeout queue argument.
GitHub issue: #13885
* Quorum queue recovery snapshots reduce recovery time after a member restart by avoiding
the need to replay all enqueue commands from the log.
GitHub issue: #13885
* Quorum queue snapshot throttling now uses WAL fill ratio and reclaimable byte tracking
to make smarter snapshotting decisions, yielding roughly one snapshot per queue per WAL cycle
instead of excessive snapshots in shallow, fast-flowing queues.
GitHub issue: [#13885](ht...
Read more
Assets 30
Loading
Uh oh!
There was an error while loading. Please reload this page.
🚀 8 anvouk, 0xfeeddeadbeef, ansd, IseduardoRezende, the-mikedavis, lin72h, xuhongmeng, and sumanth28kalluri reacted with rocket emoji
All reactions
* 🚀 8 reactions
8 people reacted
RabbitMQ 4.2.6
RabbitMQ 4.2.6
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
michaelklishin released this 23 Apr 00:54
v4.2.6
8a56c37
This commit was signed with the committer’s verified signature.
michaelklishin Michael Klishin
GPG key ID: 16AB14D00D613900
Verified
Learn about vigilant mode.
RabbitMQ 4.2.6 is a maintenance release in the 4.2.x release series.
It is strongly recommended that you read 4.2.0 release notes
in detail if upgrading from a version prior to 4.2.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
* Quorum queues: get_checked_out aux command could return messages in incorrect order
GitHub issue: #16008
* rabbitmqctl forget_cluster_node now removes all quorum queue and stream members (replicas)
before proceeding to leave the metadata store cluster.
This order minimizes the risk of some replicas being left behind on the leaving node.
GitHub issue: #15729
* The channel limit exceeded error message now correctly identifies the per-user limit
as the reason
GitHub issue: #15750
* AMQP 0-9-1: configure permission checks now apply to passive queue and exchange declarations,
matching the behavior of their regular counterparts
* Khepri: missing keys are now correctly distinguished from errors in certain internal operations,
avoiding spurious error-level log messages
GitHub issue: #15942
* Bindings targeting Direct Reply-to pseudo-queues are now rejected instead of
being silently accepted without any functional effect
GitHub issue: #15935
Enhancements
* More rabbitmq.conf keys now accept tagged values (e.g., encrypted:...)
GitHub issue: #15808
* When quorum queue members (replicas) are deleted from a node, either manually
via rabbitmq-queues shrink or as part of rabbitmqctl forget_cluster_node,
the members are stopped in parallel
GitHub issue: #15081
* AMQP 0-9-1: configure permission checks now apply to passive queue and exchange declarations,
matching the behavior of their regular counterparts
GitHub issue: #16085
* AMQP 0-9-1: when a connection's credentials are refreshed, the permissions cache is now
cleared and consumer permissions are re-validated immediately
GitHub issue: #16092
Management Plugin
Bug Fixes
* effective_policy_definition in HTTP API responses now returns an empty JSON object
(not an array or empty string) when no policy applies to a queue
GitHub issue: #16017
* Management UI: OAuth 2 combined with basic_auth could fail to reload provider
configuration correctly
GitHub issue: #15858
* Management UI: preference cookie expiry now respects the configured session timeout
setting rather than using a hardcoded value
GitHub issue: #15814
* Management UI: users were presented with a 401 error after changing their own password
via the UI. The session is now refreshed automatically
GitHub issue: #15730
* The deprecated, unused GET /api/auth endpoint was removed
It has been out of use since 3.11 but never removed.
GitHub issue: #16083
* POST /api/users/bulk-delete now respects the protected_users configuration,
matching the behavior of the single-user DELETE /api/users/:name endpoint
GitHub issue: #16143
* Quorum queue status and stream tracking endpoints now enforce virtual host
access checks, consistent with all other vhost-scoped endpoints
GitHub issue: #16104
Enhancements
* HTTP API displays static connection info (peer address, TLS details, auth mechanism)
even when stats collection is disabled via rabbitmq.conf
GitHub issue: #16009
* Super stream creation via HTTP API now verifies configure permission, matching
the stream protocol code path
GitHub issue: #16099
* Management API regex filters (?name=...&use_regex=true) now enforce match limits,
preventing pathological patterns from consuming excessive CPU time
GitHub issue: #16074
MQTT Plugin
Bug Fixes
* Fixed a timing-sensitive issue around Last Will message delivery and session expiration
GitHub issue: #15999
Enhancements
* MQTT QoS 0 queue type now reports member information in management API responses
GitHub issue: #15656
Web MQTT Plugin
Enhancements
* A default max_frame_size is now set on WebSocket connections, bounding decompressed frame sizes.
The limit starts at mqtt.max_packet_size_unauthenticated and is raised after successful CONNECT
GitHub issue: #16180
* A login_timeout is now enforced for WebSocket connections, matching the TCP listener behavior
GitHub issue: #16120
* WebSocket Origin header validation is now available via web_mqtt.allow_origins
GitHub issue: #16158
Web STOMP Plugin
Enhancements
* A default max_frame_size is now set on WebSocket connections. A smaller pre-authentication
limit is raised after successful STOMP CONNECT, matching the Web MQTT pattern
GitHub issue: #16180
* A login_timeout is now enforced for WebSocket connections, matching the TCP listener behavior
GitHub issue: #16120
* WebSocket Origin header validation is now available via web_stomp.allow_origins
GitHub issue: #16158
Shovel Plugin
Bug Fixes
* AMQP 1.0 shovels now properly detach links when closing connections, preventing
spurious error log entries during shutdown
GitHub issue: #15603
* AMQP 1.0 shovel status no longer includes full connection URIs in API responses
and CLI output
GitHub issue: #16108
Shovel Management Plugin
Bug Fixes
* DELETE operations now require the policymaker tag, matching the
federation plugin counterpart
GitHub issue: #16051
Federation Management Plugin
Bug Fixes
* Federation link restart operations now require the policymaker tag
GitHub issue: #16051
OAuth 2 Plugin
Bug Fixes
* The auth cache backend now correctly delegates token expiry timestamps to the wrapped backend,
ensuring connections are closed when tokens expire
GitHub issue: #16100
* OAuth 2 management UI: improved provider configuration loading and rendering
GitHub issue: #15858
LDAP Plugin
Bug Fixes
* DN values are now handled per RFC 4514
GitHub issue: #16101
Trust Store Plugin
Enhancements
* Refactored certificate identification to avoid (unlikely) conflicts
GitHub issue: #16116
* Proper CLI commands for trust store certificate management have been introduced
GitHub issue: #15746
* Rejected certificates are now logged with additional diagnostic details
GitHub issue: #15889
Consistent Hashing Exchange Plugin
Bug Fixes
* Binding weights above 10,000 are now rejected. Previously, extremely large weights could cause
excessive memory allocation
GitHub issue: #16118
Dependency Changes
* khepri was upgraded to 0.17.7
* gen_batch_server was upgraded to 0.9.1
Assets 30
Loading
Uh oh!
There was an error while loading. Please reload this page.
🚀 1 the-mikedavis reacted with rocket emoji
All reactions
* 🚀 1 reaction
1 person reacted
RabbitMQ 4.3.0-rc.1
RabbitMQ 4.3.0-rc.1 Pre-release
Pre-release
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
michaelklishin released this 20 Apr 18:19
v4.3.0-rc.1
a474164
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
RabbitMQ 4.3.0-rc.1 is a new feature release candidate.
Breaking Changes and Compatibility Notes
Mnesia and Parition Handling Strategies are Removed
Since only 4.2.x clusters can upgrade to 4.3.0 in place, this
won't be a breaking change for nearly all instalations but it will affect community
plugins that use Mnesia.
All partition handling-related keys in rabbitmq.conf will be
accepted by 4.3.0 nodes but won't have any effect:
* cluster_partition_handling
* cluster_partition_handling.pause_if_all_down.recover
* cluster_partition_handling.pause_if_all_down.nodes.$name
Team RabbitMQ recommends removing the above keys from rabbitmq.conf before or shortly after upgrading.
Deprecated Features are Now Disabled by Default
A number of deprecated features are now disabled
by default and require the user to opt-in in order to use them.
This includes non-durable (transient) non-exclusive queues:
attempts to declare a queue with such property combination will be rejected by default.
Use durable queues or transient exclusive queues instead.
Classic Queues v1 Storage (CQv1) is Removed
This release removes the original classic queue storage implementation these days
known as CQv1. A 2nd generation implementation called CQv2 has been adopted
as the default starting with 4.2.0.
This means that attempts to declare a queue using the following optional queue arguments will fail:
* x-queue-mode set to any value
* x-queue-version set to 1
Existing classic queues upgraded to CQv2 during an earlier upgrade to 4.2.x will continue
operating as usual.
Consumer Timeouts are No Longer Evaluated for Classic Queues and Streams
This release moves consumer timeout handling responsibility into the queues
themselves. Also, all protocols (except for the stream protocol) now evaluate
consumer timeout for queue types that support them. Classic queues and streams
never evaluate consumer timeouts as their use cases largely avoid the need for
such as feature.
Release Highlights
Khepri is Now The Only Metadata Store
As of this release, Khepri is the only metadata store supported
by RabbitMQ: Mnesia was removed completely.
In practical operational terms, this means that
1. For a cluster to be available, a majority of nodes must be online at all times
2. Failure and partition recovery in a RabbitMQ cluster is now significantly
simpler and uniform: all components that have replicated state (Khepri, quorum queues, streams)
recover per Raft recovery semantics
Quorum Queues Enhancements
This release upgrades the Ra dependency to 3.x and introduces
a new (8th) version of the quorum queue state machine with several new features and optimisations:
* Strict priority queues with per-priority message counts, correct
redelivery ordering, and priority-aware message expiration
* Delayed retry for quorum queues: configurable increasing backoff when
messages are returned
* Consumer timeout for quorum queues: configurable timeout for
unacknowledged messages, with protocol-specific handling for AMQP 1.0 and
MQTT
* Recovery snapshots and snapshot throttling to reduce recovery time
and improve snapshotting decisions
* Memory optimisations including compact message references, optimised
tuple storage for delayed keys, and removal of rabbit_fifo_index usage
Upgrading to 4.3.0
Documentation Guides on Upgrades
See the Upgrading guide for documentation on upgrades and GitHub releases
for release notes of individual releases.
This release series supports upgrades from 4.2.x. Upgrades from earlier series are not supported:
users must upgrade to the latest available 4.2.x patch release before upgrading to 4.3.0.
New Required Feature Flags
All feature flags introduced in 4.2.0 and earlier are required, including the following:
* rabbitmq_4.2.0
* rabbitmq_4.1.0
* rabbitmq_4.0.0
* khepri_db
* quorum_queue_non_voters
* message_containers_deaths_v2
Enable all required feature flags before upgrading to 4.3.0.
If your RabbitMQ cluster had plugin rabbitmq_amqp1_0 enabled in RabbitMQ 3.13.x (and your cluster still serves AMQP 1.0 client connections in 4.x), your cluster should do at least one rolling update after enabling feature flag rabbitmq_4.0.0 but before upgrading to 4.3.0.
Deprecated Features
In 4.3.0 the deprecation phase of the following features advanced from permitted_by_default to denied_by_default:
* amqp_address_v1
* amqp_filter_set_bug
* global_qos
* queue_master_locator
* transient_nonexcl_queues
And the deprecated feature ram_node_type has been removed.
Mixed Version Cluster Compatibility
RabbitMQ 4.3.0 nodes can run alongside 4.2.x in the same cluster.
Mixed version clusters are a mechanism that allows rolling upgrades and are not meant to be run for extended
periods of time (no more than a few hours).
Recommended Post-upgrade Procedures
This version does not require any additional post-upgrade procedures
compared to other versions.
Changes Worth Mentioning
Core Server
Enhancements
* When a message is rejected by a queue, RabbitMQ now provides the queue name and rejection reason to AMQP 1.0 publishers
in the Rejected outcome. This is particularly useful when multiple queues are bound to an exchange, as it allows
publishers to identify which specific queue out of several target queues rejected the message and why
(e.g., maximum queue length reached or queue unavailable). Previously, publishers had no way to determine which queue
rejected their message or the reason for rejection.
The queue name and reason are included in the info field of the Rejected outcome's error field:
+ queue: <queue name>
+ reason: maxlen | unavailable
GitHub issue: #15075
* Quorum queues now support strict priority queues with per-priority message counts,
correct redelivery ordering across priorities, and priority-aware message expiration scans.
GitHub issue: #13885
* Quorum queues now support delayed retry with configurable backoff based on delivery count. When messages
are returned (via reject, nack, or modify), they can be held in a delayed state before becoming
available again. The delay is based on delivery count: min(min_delay * delivery_count, max_delay).
Configuration is available via queue arguments (x-delayed-retry-type, x-delayed-retry-min,
x-delayed-retry-max) or policy keys (delayed-retry-type, delayed-retry-min,
delayed-retry-max). The retry type can be set to disabled, all, failed, or returned.
GitHub issue: #13885
* Quorum queues now support a configurable consumer timeout. When a consumer holds unacknowledged
messages beyond the timeout, the messages are returned to the queue. For AMQP 1.0 clients,
timed-out deliveries are released via DISPOSITION(state=released) instead of detaching the link,
allowing the consumer to recover without re-attaching. MQTT consumers are also supported.
The timeout can be set via the x-consumer-timeout consumer argument, queue argument, consumer-timeout
policy key, or the global consumer_timeout setting in rabbitmq.conf.
GitHub issue: #13885
* A new consumer_disconnected_timeout setting controls how long quorum queues wait before returning
messages when a consumer's node becomes unreachable due to a network partition. The default is 60 seconds.
Configurable via consumer_disconnected_timeout in rabbitmq.conf, the consumer-disconnected-timeout
policy key, or the x-consumer-disconnected-timeout queue argument.
GitHub issue: #13885
* Quorum queue recovery snapshots reduce recovery time after a member restart by avoiding
the need to replay all enqueue commands from the log.
GitHub issue: #13885
* Quorum queue snapshot throttling now uses WAL fill ratio and reclaimable byte tracking
to make smarter snapshotting decisions, yielding roughly one snapshot per queue per WAL cycle
instead of excessive snapshots in shallow, fast-flowing queues.
GitHub issue: #13885
* Quorum queue memory optimisations: message references now use a compact packed integer
representation ("compact" means up to 59-bit) when possible, halving per-message
memory overhead in many scenarios. The rabbit_fifo_index module is no longer used by the
main state machine.
GitHub issue: #13885
* Quorum queues now allow unlimited explicit message returns. The delivery limit is based on
delivery-count rather than acquired-count, so messages can be explicitly returned to the
queue without counting towards the delivery limit.
GitHub issue: #13885
* The `x-mod...
Read more
Assets 30
Loading
Uh oh!
There was an error while loading. Please reload this page.
🎉 2 0xfeeddeadbeef and IseduardoRezende reacted with hooray emoji
All reactions
* 🎉 2 reactions
2 people reacted
Previous 1 2 3 4 5 … 45 46 Next
Previous Next
Footer
© 2026 GitHub, Inc.
Footer navigation
* Terms
* Privacy
* Security
* Status
* Community
* Docs
* Contact
* Manage cookies
* Do not share my personal information
You can’t perform that action at this time.
Tip: Highlight text to share or add to ignore lists.
— Download difference patch
For now, Differences are performed on text, not graphically, only the latest screenshot is available.
Screenshot requires Playwright/WebDriver enabled