AMQP 1.0 Filter Expressions
RabbitMQ 4.1.0 includes initial support for AMQP 1.0 filter expressions, a significant improvement that ensures only messages matching the client's interest are routed. Filter expressions minimize network traffic between clients and RabbitMQ while preserving message order, even when multiple clients simultaneously consume specific message sets from a stream. An in-depth explanation of filter expressions can be found in this blog.
Management UI
Users may see more information about feature flags while upgrading. The management UI in 4.1.0 now shows if a feature flag will take some time to enable while migrating.
Prometheus Plugin
The plugin now provides a Prometheus histogram for message sizes published by each application. This is a handy enhancement to gain insights into average message size, message count, and more for each protocol.
Quorum Queue improvements
Quorum queues receive a performance boost in 4.1.0 with lower interference from publishers on the queue delivery rate to consumers. CPU utilization has improved per quorum queue in this version. Troubleshooting has gotten easier to help detect when a quorum queue has not elected a leader.
Behind-the-scenes improvements
With this version there are upgrades that will help the CloudAMQP team better serve our users. Improvements have been made to the cli tool
rabbitmqadmin
with version 2 included in this release. Feature flags have been changed with quality of life improvements.
Breaking Changes
- The AMQP 0-9-1 frame_size value before authentication has increased from 4096 bytes to 8192. After authentication, clients can negotiate a new value of 8192 bytes or greater. A result below 8192 will result in errors. The default server value of 131072 bytes is recommended by the RabbitMQ team.
-
The
amqplib
library is one of the most popular libraries used by our users on CloudAMQP. The library must be upgraded to version 0.10.7 and up to work with 4.1.0. The library has been using a frame_max default of 4096 for versions before 0.10.7. The new default uses a default frame_max of 131072 bytes. Details can be found in the amqp repository. -
The default MQTT maximum packet size changed from 256 MiB to 16 MiB. This is a welcome change. This value can not exceed the
max_message_size
(configurable in the CloudAMQP console) which is now defaulted to 16mib. If you need the MQTT value adjusted to the old default or a different value, please reach out to our support team.
Want to read more about the new version? You can read about more enhancements in the release notes for RabbitMQ version 4.1.0.
Not on major version 4.0 yet? Checkout our release blog for a deeper dive into the features. Major changes for 4.0 still apply for 4.1.0. Create a 4.1.0 cluster from the CloudAMQP console or upgrade an existing one.
Need a CloudAMQP account? You can easily signup, and create a RabbitMQ instance to test RabbitMQ version 4.1.0.
For any suggestions, questions, or feedback, get in touch with us at contact@cloudamqp.com