HiveMQ 1.5.0 released

Written by The HiveMQ Team

Category: HiveMQ Release

Published: March 3, 2014


We are pleased to announce the release of HiveMQ 1.5.0, which brings new features (plugin developers will be excited ;) ) and a few bug fixes.

Service APIs for plugin developers

In this release we took the Plugin SDK a step forward and implemented Service APIs, which allow the plugin developer to retrieve and manipulate HiveMQ internals. At the moment we have 4 services (Publish Service, Client Service, Subscription Store and Retained Message Store), and we’re planning to add more in the next releases.

Lately HiveMQ users requested to have a possibility to publish new MQTT messages from within a plugin. This is now possible with the Publish Service.

Another very helpful service is the Client Service, it returns a list of all connected and absent clients (disconnected clients with a clean session equals false). If a certain client is connected, it is also possible to retrieve more information like username and client certificate, if used.

Together with the Subscription Service it is possible to get all topics a client is subscribed to or change (add/remove) his subscriptions.

HiveMQ users did also ask us, if it would be possible to delete retained messages more efficiently. We didn’t want to build a specific solution for that problem and therefore created the Retained Message Store, which allows the handling of retained messages in general.

More detailed information about all the services can be found in the plugin developer guide.

Debian

A lot of users are using HiveMQ on debian-based systems, for example Debian, Ubuntu or Raspbian. So in this version we included an especially adapted init script for these systems, which will make it a lot easier to run HiveMQ as a service.

Misc

  • Since the implementation of the native websockets support the default port for connections over websockets were 80. This is the standard for websockets, but very error prone due to other applications running on that port or privilege issues. Overall we experienced that it make a lot more sense to set this to 8000 for standard websockets and to 8001 for additional SSL/TLS encryption.
  • We fixed a bug where QoS 1 and Qos 2 messages could be sent multiple times on rare occasions. This only happened, if the devices were connected over a slow mobile network.
  • As part of finding the above mentioned bug, we improved the stability of QoS 1 and QoS 2 handling.
  • We also increased the default client id limit from 23 characters to 65535. But this is still customizable, so anyone who needs a smaller limit can change this in the config.
  • A small bug in picking up a configured network interface for websockets was corrected and now the configured interface is used.
  • Performance improvements

We hope you enjoy the features of the new version. Please tell us how you feel about the changes in the comments or via mail to info@hivemq.com.

The HiveMQ Team

We highly recommend all HiveMQ users to upgrade to this new release, especially if you are experiencing problems with the LWT handling

The HiveMQ Team

<  Getting started: HiveMQ, Native Websockets Support and Message Log Plugin   |   How to delete MQTT Retained Messages on Subtopics Recursively   >