Get HiveMQ

We make it easy for you to try HiveMQ

HiveMQ 4.2.1

See this release blog post.

HiveMQ 4.2

See this release blog post.

HiveMQ 4.1.1

See this release blog post.

HiveMQ 4.1

See this release blog post.

HiveMQ 4.0.3

See this release blog post.

HiveMQ 4.0.2

See this release blog post.

HiveMQ 4.0.1

See this release blog post.

HiveMQ 4.0

See this release blog post.

HiveMQ 3.4.5

See this release blog post.

HiveMQ 3.4.4

See this release blog post.

HiveMQ 3.4.3

See this release blog post.

HiveMQ 3.4.2

See this release blog post.

HiveMQ 3.4.1

See this release blog post.

HiveMQ 3.4.0

See this release blog post.

HiveMQ 3.3.4

See this release blog post.

HiveMQ 3.3.3

See this release blog post.

HiveMQ 3.3.2

See this release blog post.

HiveMQ 3.3.1

See this release blog post.

HiveMQ 3.3.0

See this release blog post.

HiveMQ 3.2.10

See this release blog post.

HiveMQ 3.2.9

See this release blog post.

HiveMQ 3.2.8

See this release blog post.

HiveMQ 3.2.7

See this release blog post.

HiveMQ 3.2.6

See this release blog post.

HiveMQ 3.2.5

See this release blog post.

HiveMQ 3.1.10

See this release blog post.

HiveMQ 3.2.4

See this release blog post.

HiveMQ 3.2.3

See this release blog post.

HiveMQ 3.1.9

See this release blog post.

HiveMQ 3.2.2

See this release blog post.

HiveMQ 3.1.8

See this release blog post.

HiveMQ 3.2.1

See this release blog post.

HiveMQ 3.1.7

See this release blog post.

HiveMQ 3.2

See this release blog post.

HiveMQ 3.1.6

See this release blog post.

HiveMQ 3.1.5

See this release blog post.

HiveMQ 3.1.4

See this release blog post.

HiveMQ 3.1.3

See this release blog post.

HiveMQ 3.1.2

See this release blog post.

HiveMQ 3.1.1

See this release blog post.

HiveMQ 3.1.0

This feature release brings lots of improvements and features. Most notable are distributed cluster, async plugin services and next-gen shared subscriptions. See all improvements and features

HiveMQ 3.0.3

See this release blog post.

HiveMQ 3.0.2

See this release blog post.

HiveMQ 3.0.1

See this release blog post.

HiveMQ 3.0.0

This major release brings a ton of improvements and features. Most notable are the increase in performance, more stability, flexible configuration and new features in the plugin system. See all improvements and features

All HiveMQ 2.x users should upgrade to this release if they can.

HiveMQ 3.0.0 is not a drop-in replacement. The storage layer changed and all files in the data folder should be removed. Also there are changes in the plugin system API. Please follow our upgrade instructions.



HiveMQ 2.3.1

HiveMQ 2.3.1 is a bugfix release which fixes bugs in the plugin system and in the messaging core. This version also brings a new Diagnostic Mode which allows to gather diagnostic information useful for nailing down issues. The persistence layer introduced in HiveMQ 2.3.1 was improved and performance should now be even better.

HiveMQ 2.3.1 is a drop-in replacement for HiveMQ 2.3.0.

In particular this release brings:

  • Added a diagnostic mode for HiveMQ
  • Fixed the @Cached Annotation from the plugin system and caching works again
  • Fixed a bug where an exception was logged when HiveMQ was shutdown, while connected to a cluster
  • Fixed an issue which caused unnecessary latency on QoS 1 and 2 messages
  • Fixed a ConcurrentModificationException which was caused when subscribing and unsubscribing to topics at the same time
  • Fixed an issue on Windows where network interfaces could not be read properly in rare circumstances
  • Fixed a race condition when checking permissions via the plugin system on Publish and Subscribe messages
  • Removed chatty in-flight size warning if the in-flight windows was disabled

All HiveMQ 2.3.0 users should upgrade to this release if they can.

HiveMQ 2.3.0

The HiveMQ 2.3.0 release brings a new high-performance persistence layer and a backported version of the upcoming HiveMQ 3.0 next generation cluster. In addition to this major changes, several bugs were fixed and the performance improved dramatically when having many subscriptions on the broker. HiveMQ 2.3.0 is not a drop-in replacement. The storage layer changed and all files in the data folder should be removed

In particular this release brings:

  • Removed Infinispan
  • Backported HiveMQ 3 cluster
  • Added new persistence layer which scales much better for high-throughput scenarios
  • Improvements in the CPU consumption for many topic subscriptions
  • Improved validations for empty topics
  • Fixed a bug in the PublishDispatcher which didn’t respect retained messages
  • Fixed a bug where onDisconnect callbacks could be called multiple times
  • Fixed an edge case bug where clients don’t get disconnected on invalid CONNECT messages (username not set but password set)
  • Fixed a bug in a MQTT decoder which didn’t read messages correctly in rare circumstances
  • Fixed client take-over bug in the cluster which didn’t disconnect clients with the same ID on other cluster nodes
  • Fixed a bug where HiveMQ refused to build a cluster when not every node has a valid license
  • Fixed a bug where empty topics were allowed to subscribe and publish for MQTT 3.1.1
  • Fixed a bug where HiveMQ didn’t disconnect a client when the username was empty but the password wasn’t in a CONNECT message
  • Improved the cluster chapter in the documentation
  • Added new examples for the new cluster in the “conf/examples” folder of the HiveMQ package

All HiveMQ 2.2.x users should upgrade to this release if they can. The storage layer was improved dramatically which results in better performance and the cluster performs much better and is more reliable.



HiveMQ 2.2.1

The 2.2.1 release of HiveMQ brings many bug fixes for MQTT 3.1.1 edge case handling, especially for handling huge topics. In addition to that, some cluster improvements and bug fixes are included. HiveMQ 2.2.1 is a drop-in replacement for HiveMQ 2.2.0 and 2.1.x.

In particular this release brings:

  • Fixed an issue that caused HiveMQ to not handle topic names with more than 255 characters properly
  • Fixed a bug where HiveMQ accepted CONNECT with password but without username
  • HiveMQ does now accept a single / as topic
  • Clients that sent a PUBLISH message with a topic that contained a wild card, are now disconnected immediately.
  • Fixed a bug where topics with wild cards as the only character in its topic tree level have been accepted
  • Improvements in cluster stability
  • Fixed a bug where endless message routings in clusters can occur in rare circumstances
  • Fixed a bug where LWT messages were not sent properly with huge topic sizes

All HiveMQ 2.2.0 users should upgrade to this release, especially if they are using MQTT 3.1.1 or the HiveMQ cluster functionality



HiveMQ 2.2.0

HiveMQ 2.2.0 is a drop-in replacement for HiveMQ 2.1.0 and 2.1.1.

In particular this release brings:

  • Fixed a rare ConcurrentModificationExceptions when clients send MQTT UNSUBSCRIBE messages in a cluster
  • Stability and memory improvements



HiveMQ 2.1.1

The 2.1.1 release of HiveMQ is a bugfix release. It fixes invalid MQTT 3.1.1 duplicate header send on resent PUBRELs and fixes a bug where low-level callbacks in the plugin system were not called properly.

HiveMQ 2.1.1 is a drop-in replacement for HiveMQ 2.1.0.

In particular this release brings:

  • Fixed a race condition which caused different bugs in edge cases or under high load. This caused NullPointerExceptions in the plugin system like for OnPublishReceivedCallbacks.
  • Fixed a bug that some of the lowlevel callbacks wouldn’t be called
  • Fixed a bug where outgoing MQTT 3.1.1 PUBREL packets were resent with the DUP flag although this isn’t allowed due to the MQTT 3.1.1 specification
  • Fixed MQTT 3.1.1 packet headers for bridges (contained dup flags if they were resent)

All HiveMQ 2.1.0 users should upgrade to this bugfix release if possible.



HiveMQ 2.1.0

The 2.1.0 release of HiveMQ is minor feature and bugfix release which brings additional features like Plugin Isolation, recent MQTT 3.1.1 features and TLS support for bridges. This versions also brings some bugfixes and performance improvements.

HiveMQ 2.1.0 is a drop-in replacement for HiveMQ 2.0.x.

In particular this release brings:

  • HiveMQ SPI is now available in Maven Central
  • Updated start script for debian-based linux
  • Plugin classpaths are now completely isolated
  • Added support for the MQTT 3.1.1 sessionPresent flag
  • Added a configuration option to change the LWT send behaviour to always send a LWT, even on graceful disconnections
  • Added support for secure communication between bridges (TLS)
  • Added support for client certificate authentication for bridges
  • Fixed a bug where some LWT messages were sent although the client disconnected gracefully
  • Fixed an issue with handling of CONNECT messages which are sent more than once. HiveMQ now disconnects every client which sends more than one CONNECT message.
  • Fixed various harmless errors in the log which occurred when a client disconnected abruptly
  • Fixed a rare regression where connections were counted more than once in the free trial version
  • Fixed a bug where retained messages could be sent to more than one client
  • Fixed a bug where the stored messages statistics calculation was wrong
  • Fixed a bug in the HiveMQ subscription store for custom plugins
  • Various memory and performance improvements
  • Various fixes and improvements in the user guide and plugin developer documentation

All HiveMQ 2.0.x users should upgrade to this minor release to profit from the recent features and bugfixes.



HiveMQ 2.0.2

The 2.0.2 release of HiveMQ is an important bugfix release which fixes a bug in the Last Will and Testament Handling.

This release is a drop-in replacement for HiveMQ 2.0.0 and HiveMQ 2.0.1

In particular this release brings:

  • Fixed a critical regression where Last Will and Testament Messages weren’t delivered reliably

All HiveMQ 2.0.0 users should upgrade to this important bugfix release.



HiveMQ 2.0.1

The 2.0.1 release of HiveMQ is an important bugfix release which fixes bugs in the plugin system, the messaging core, the clustering functionality and brings many stability improvements.

This release is a drop-in replacement for HiveMQ 2.0.0

In particular this release brings:

  • Fixed a bug where the Subscription Store Service for plugins could lost messages after a HiveMQ reboot
  • Fixed a bug in the Subscription Store Service where current subscriptions were not returned from “getSubscriptions()”
  • Fixed a bug where QoS 2 messages could be lost after a HiveMQ reboot
  • Fixed various bugs which affected the in-flight handling of HiveMQ
  • Fixed a typo in the bridge schema definition file “bridge.xsd”. “trustStore” is now spelled “truststore”
  • Fixed a bug which affected message ordering for resent in-flight messages
  • Fixed a bug in clustering where retained messages were sent to all subscribers on all nodes
  • Fixed a bug where UnmarshallingExceptions occured when using clustering
  • Fixed a few log messages where not all information was shown properly
  • Fixed a race condition which caused exceptions when misbehaving clients disconnected
  • Fixed an exception which could occur when the maximum limit of concurrent connections exceeded
  • Improved the error message when another application is already using the ports HiveMQ wants to use
  • Added the “messages.maxQueued” property to the default config file
  • Added more detailed tracing output for DEBUG and TRACE log levels
  • Added more information about misbehaving clients if errors occur (like IP address of the client) to the log
  • General stability improvements

All HiveMQ 2.0.0 users should upgrade to this important bugfix release.



HiveMQ 2.0.0

The 2.0.0 release of HiveMQ is a major feature release that MQTT 3.1.1 support, MQTT broker bridging and major additions the the HiveMQ Plugin API. Also there are many bugfixes included in this release. This release is not a drop-in replacement and your data may be lost.

In particular this release brings:

  • Added transparent MQTT 3.1.1 support
  • Backported MQTT 3.1.1 behaviour to MQTT 3.1: On overlapping subscriptions by one client, the highest QoS wins
  • Backported MQTT 3.1.1 behaviour to MQTT 3.1: Wildcard subscriptions (‘#’) do not include topics beginning with ‘$’. Formerly only the ‘$SYS/’ topic was excluded
  • Bridging protocol is fully supported
  • Added support for scheduled callbacks
  • Fixed a bug where a wrong QoS was passed to the onInsufficientSubscribePermissionDisconnect callback
  • QoS and In-Flight handling was rewritten completely for improved performance
  • It’s now possible to limit queue size of messages
  • Maximum in-flight message window is now restricted to 65535
  • Start scripts are now including JAVA_OPTS from the system
  • Changed $SYS topics to the $SYS topics specified here: https://github.com/mqtt/mqtt.github.io/wiki/SYS-Topics
  • Bridge Service for plugins added
  • $SYS Topic Service for plugins added
  • Experimental REST Service for plugins added
  • Improved clustering
  • Start script improvements
  • Squashed many nasty bugs
  • Added new metadata format
  • Improvements in many documentation chapters.
  • Improved general performance

All new HiveMQ users should use this version. Also, you should consider upgrading to this release if you are a 1.x user

Please backup your “data” folder because HiveMQ will now use a new data storage format and your old data will be lost. Please contact hivemq@dc-square.de if you need help with upgrading your old data.