VerneMQ 1.7.0 release highlights

In this post we'd like to highlight some of the new features and improvements we implemented in VerneMQ 1.7 which we released last week.

Next generation metadata replication

We now ship the vmq_swc (Server-Wide Clocks) metadata plugin with VerneMQ by default. vmq_swc is the next generation metadata replication and will eventually be the default and replace the Plumtree vmq_plumtree replication mechanism. To use Server-Wide Clocks instead of Plumtree set metadata_plugin = vmq_swc in vernemq.conf. The Server-Wide Clocks metadata plugin is still in Beta. To read more about the new replication method and the rationale behind it (performance and distributed deletes) see Taking VerneMQ replication to the next level.

Inspecting the retained messages store

It is now possible to inspect the retained message store in VerneMQ by using the new vmq-admin retain show command. Being able to inspect the retained messages has been an often requested feature, so we're happy to finally provide it.

Checking the cluster health

To make it easier to know the state of the VerneMQ cluster a dedicated HTTP health-check endpoint was added under /health which returns 200 when VerneMQ is accepting connections and joined the cluster (for clustered setups) or returns 503 in case any of the two conditions are not met.

Reauthorizing existing subscriptions

On the developer API side it is now possible to reauthorize existing client subscriptions by reapplying current auth_on_subscribe and auth_on_subscribe_m5 hooks. This feature is exposed as a developer API in vernemq_dev and in the command line via the vmq-admin session reauthorize CLI command.

Faster queue migrations

On the operations side we have reimplemented offline queue migrations during planned cluster leave and is now much faster. Migrating offline queues away from the leaving node is important to ensure that message for offline clients are available when the client establishes a new session the cluster.

And much more

Besides the above mentioned features the 1.7.0 release contains lots and lots of other improvements and bug fixes. See the changelog for more information.

Thanks to our customers and the community for giving us precious feedback, opening issues and contributing pull requests!

The VerneMQ Team