
LavinMQ 2.4.0 released — laying the groundwork for multithreading
Written by: Sofie Abrahamsson
We’re thrilled to announce the release of LavinMQ 2.4.0! This version marks a foundational step towards even greater performance and scalability for LavinMQ.
LavinMQ 2.4.0 introduces a multithreaded build context, laying the groundwork for true multithreaded execution in upcoming releases. As a first step, we’ve implemented a component to run in a separate thread: etcd lease keepalives. This improvement enhances the robustness and reliability of multi-node clusters, preparing LavinMQ for its next phase of development.
A significant milestone was reached with the Crystal 1.16.0 release earlier this year, where the core team delivered enhancements to multithreading. We were happy to sponsor their efforts and are excited that these enhancements now allow us to begin implementing multithreading in LavinMQ.
Highlights from 2.4.0:
- Stream filtering on any header – More flexibility for stream consumers #1053
- Active arguments now visible – See applied arguments directly on queues and exchanges #1072
- Instant queue purging – Queues without unacked messages are now purged immediately #1083
- Bug fixes and stability improvements
Full release notes are available on GitHub.
The LavinMQ management interface: arguments visible for queues.
New Branching Strategy: v2.4.x
With this release, we’re also introducing a new branching strategy. We’ve created a v2.4.x branch dedicated to bugfixes and patch releases for this version, ensuring stability until the next minor version is ready.
Thanks for continuing to build with LavinMQ. As always, we’d love your feedback. Try the new version, and let us know what you think!