HiveMQ is one of the first MQTT Brokers to fully implement the MQTT 5 specification and is the first enterprise-grade MQTT broker available for MQTT 5.

We are proud to announce the HiveMQ 4 Early Access Program (EAP). The HiveMQ 4 EAP is free of charge and without limitations.

You can download the EAP directly, or get started straight away with the HiveMQ 4 EAP on Docker Hub. To obtain HiveMQ 4 EAP, Scroll down to the download section of this page. Or if you are docker user: try docker.

The HiveMQ 4 EAP is the perfect way to get your feet wet with MQTT 5 and it is particularly useful if you are developing client libraries or want to test MQTT 5 with libraries such as MQTT Bee or Eclipse Paho.

Don’t use HiveMQ 4 EAP in production yet. The official, production ready release of HiveMQ 4 will be available in later this year.

MQTT 5 Feature Support

Support for all MQTT 5 packets
Full Cluster Support with all MQTT 5 features ok
MQTT 3 and MQTT 5 compatibility ok
Custom Headers and User Properties ok
Reason Codes & Negative ACKs ok
Payload Format & Content Types ok
Request / Response ok
Subscription Identifier nok
Optional Server Feature Availability ok
Enhanced Authentication Mechanisms ok
Maximum Packet Size ok
Assigned Client Identifiers ok
Server DISCONNECT ok
Connect Options ok
Session Expiry ok
Message Expiry ok
Shared Subscriptions ok
Request Problem Information ok
Flow Control ok
Topic Alias nok
Subscription Options ok
Will Delay ok
Server KeepAlive ok
Server Reference ok
Details

Details

Full MQTT 5 Packet Support

HiveMQ 4 has the most performant MQTT 5 packet parsers on the market. All MQTT packets, including the new AUTH MQTT packet, are fully supported.

Full Cluster Support with All MQTT 5 Features

The HiveMQ 4 EAP comes with complete cluster support and all MQTT 5 features are available in a resilient, high-performance and fault-tolerant way.

MQTT 3 and MQTT 5 Compatibility

Connect MQTT 3.1.1 and MQTT 5 devices simultaneously. HiveMQ passes messages to all subscribers transparently and converts between the two protocols under the hood.

Custom Headers and User Properties

The highly anticipated user-properties feature of MQTT 5 is available in the new HiveMQ version. This feature lets you add arbitrary data to virtually any MQTT packet.

Support for Payload Format and Content Types

Payload format indicators and content types are fully supported. Your MQTT client can specify MIME types and whether binary or text payloads are carried over.

Server DISCONNECT

If the broker has to disconnect MQTT clients, server-sent DISCONNECT packets are used. There is no need to puzzle out whether the disconnect was broker-induced or the connection was lost along the way.

Flow Control

HiveMQ 4 EAP now utilizes flow control for back pressure handling. Try MQTT Bee to see it in action with a high-performance MQTT 5 library.

Will Delay

To give clients a chance to reconnect in a specific time interval, Last Will and Testament messages can now be delayed.

Session Expiry

MQTT 5 session expiry is fully supported. HiveMQ can clean up resources (including offline messages and subscriptions) based on the expiry interval sent by the client.

Message Expiry

When a message expires, HiveMQ cleans up the resources, removes the expired message from all client offline queues, and deletes the corresponding retained message. Expired messages are never sent to any client.

Shared Subscriptions

Given that HiveMQ was a pioneer in introducing Shared Subscriptions (even for MQTT 3), Shared Subscriptions are, of course, fully supported for MQTT 5.

Subscription Options

All new MQTT 5 subscription options are supported: Retain as Published, No Local, Retain Handling. This adds maximum flexibility for any MQTT 5 client’s subscriptions.

Maximum Packet Size

The HiveMQ 4 EAP respects the maximum packet size limitation of MQTT clients and can restrict the maximum packet size sent by the clients.

Assigned Client Identifiers

If a client doesn’t provide a client identifier, HiveMQ assigns one. The client receives a CONNACK packet with the assigned client identifier during the connection process.

Reason Codes and Negative Acknowledgements

Debugging MQTT clients remotely was never easier. The HiveMQ 4 EAP supports a vast number of reason codes for negative acknowledgements and meaningful reason strings are implemented, too.

Optional Server Feature Availability

HiveMQ now indicates features that are not available for specific clients in the CONNACK message. For example, if you disable retained messages administratively, the HiveMQ 4 EAP notifies your clients.

Limitations

Limitations

  • HiveMQ 4 EAP is trimmed down to contain only those features that are useful for testing MQTT 5.
  • Subscription identifiers are not supported (Indicated by Optional Server Feature Availability)
  • Client to broker topic aliases and broker to client topic aliases are not supported. (Indicated by optional server feature availability).
  • The maximum size of user properties per MQTT packet is 5 MB.
  • No plugin system
  • No performance optimizations
  • All shared subscriptions on the same topic receive retained messages, not just the first subscription for a topic
  • Retained messages are sent to a subscriber, even if the No Local flag is set and the client was the original publisher.
  • HiveMQ startup can be slow (> 10s)

Try Out

Try out

Trying out the HiveMQ 4 EAP is extremely easy.

Option 1: Docker

If you’re a Docker user, simply enter this command in your terminal:

The full README with all options and additional explanations is available on DockerHub.

Option 2: Direct Download

To download the HiveMQ 4 EAP directly, just download the .zip file, unpack it and execute the run.sh script for macOS/Linux or the run.bat script for Windows.
Download HiveMQ 4 EAP now

The documentation for the HiveMQ 4 EAP can be found here.

Feedback

Feedback

Please send your feedback to support@hivemq.com. Let us know which client libraries you tested successfully against the HiveMQ 4 EAP. If anything didn’t work as smoothly as you expected, please tell us, we’re here to help.