Skip to content

What's New in HiveMQ 4.32?

by HiveMQ Team

The HiveMQ team is proud to announce the release of HiveMQ Enterprise MQTT Platform 4.32. This release introduces our much-anticipated HiveMQ Control Center v2 Beta, additional MQTT payload fields for use in your Data Hub transformation scripts, support for Protobuf serialization in Data Hub data policies, and numerous performance and observability enhancements.

NOTE: Release 4.28 is HiveMQ’s latest LTS release. With the upcoming 4.33 release, we will sunset maintenance of our previous LTS version 4.9 (September 2022).

Highlights

  • HiveMQ Control Center v2 Beta
  • Enhanced MQTT Payload Transformation Options in Data Hub
  • Protobuf Serialization in Data Hub

Introducing the HiveMQ Control Center v2 Beta

With the release of HiveMQ 4.32, we are excited to unveil our brand-new Control Center v2 interface. Designed to enhance diagnostics, provide deeper insights into your HiveMQ cluster, and simplify IoT infrastructure management, the updated interface is now available as an open beta.

During the beta phase, you can explore and test Control Center v2 alongside the current Control Center version (v1). While the new interface introduces many great features, v2 is not yet intended to be a fully functional replacement for the existing Control Center in production environments.

In the coming months, we will continuously enhance the functionality and usability of the interface with new features. We eagerly welcome your feedback to help shape the future of the Control Center and make it even better.

You can access the Control Center v2 beta interface from the new banner in the Control Center v1 main menu, or via the url: http://<host>:8080/v2/

How it works

The existing Control Center v1 will remain the default interface for managing your HiveMQ broker while we work toward making v2 ready for production environments. Since the new interface is not yet recommended for production use, we have added some restrictions. At the moment, Control Center v2 can only be accessed by users with the superadmin role and only basic authentication methods are supported (default login credentials, file-based and database-based auth).

How it helps

Control Center v2 has been redesigned from the ground up to provide a better user experience for managing infrastructure, gaining insights into clients, and understanding the overall state of your setup. This version introduces a range of improvements, including new charting of metrics and redesigned information layouts—small but impactful quality-of-life enhancements aimed at making cluster management more intuitive. In response to user feedback, we've also added new features, such as enhanced displays for monitoring the state of extensions and integrations. These additions directly address common challenges raised by users.

Looking ahead, future releases of Control Center v2 will focus on greater extensibility, improved data availability, and new tools to tackle IoT challenges. Your feedback is crucial in shaping these updates. Please share your thoughts using the feedback tool in Control Center v2, or feel free to email us with your suggestions at ccv2-feedback@hivemq.com.

Added MQTT payload fields in HiveMQ Data Hub

HiveMQ Data Hub leverages the flexible JavaScript programming language to transform incoming MQTT messages. Using Data Hub, HiveMQ customers can transform MQTT payloads and message metadata such as the topic name and user properties to meet their business needs. Our new HiveMQ 4.32 release adds options to modify the retain flag and the quality of service level for an MQTT message.

How it works

Transformation scripts are written in JavaScript. The transform function is called for incoming MQTT messages and topics and configured via a data policy.

Example script:

function shouldBeRetained(payload) {
  return true === payload.state;
}

function transform(publish, context) {
  if( shouldBeRetained( publish.payload ) ) {
      publish.retained = true;
  }

  return publish;
}

The example script sets the retain flag for an incoming MQTT message based on specific conditions. In this case, the shouldBeRetained function checks whether the MQTT payload contains a state field that is set to true. As a result, messages that lack a retained flag but contain the specified state flag are retained.

The previous example shows how retain fields are passed to the publish argument in transformation scripts and can be modified during processing (the same is true for the new qos field.

Additionally, you can use the new qos and retain fields with the addPublish function HiveMQ 4.30 introduced to create new messages and modify retain (or QoS) values:

Example script:

function transform(publish, context) {
  const payload = publish.payload;

  const newPublish = { retain: true, topic: "state_information/" + payload.name, payload: { state: payload.state } };
  context.branches["state_information"].addPublish( newPublish );
  
  return publish;
}

This script creates a new message to be retained and publishes to a new topic that contains only the state information of the sending device.

Note: To properly serialize the new messages, the data policy must handle the state_information branch.

How it Helps

The ability to set the retain flag and QoS level in a transformation script decouples the control of whether the message should be retained or not from the publishing client. This decoupling is beneficial in various scenarios. For example, if your use case requires your Sparkplug metrics to be fanned out with only a subset of the metrics retained, a single retain flag on a Sparkplug message cannot control the scenario. However, with the new field, you can control the retain flag for each metric message. TIP: To learn more about data transformation with Sparkplug, check out our latest blog post: Sending Filtered MQTT Sparkplug Messages to MongoDB for IIoT Data Transformation: Part 1.

Protobuf Serialization in HiveMQ Data Hub

HiveMQ Data Hub now supports Google Protocol Buffers (Protobuf) as a serialization option within data policies. This new feature provides a powerful and efficient way to serialize your data, offering more flexibility and control over your IoT data management.

How it works

In HiveMQ Data Hub, users have different options to manage schemas. For example, REST API or HiveMQ Control Center. Using a Protobuf schema for serialization works in the same way as using a JSON schema.

How it helps

Previously, MQTT messages encoded in the Protobuf format were always converted to JSON when a transformation script was executed. With the new Protobuf support, you now have the flexibility to serialize data directly in the Protobuf format. This is particularly valuable when downstream services or devices require Protobuf as the ingestion format, even in the context of Sparkplug.

HiveMQ Data Hub now gives you the ability to choose your preferred data format—whether it's JSON or Protobuf. Additionally, by leveraging the addPublish function, users can send messages in both formats.

More Noteworthy Features and Improvements

HiveMQ Enterprise MQTT Broker

  • Fixed an issue that could cause the broker to send PUBLISH packets with QoS 0 in an incorrect order.
  • Improved client workload performance during background tombstone cleanup and topology change replication operations.
  • Sped up join process operations on the joining node to improve performance.
  • Streamlined HiveMQ Control Center RAM usage to increase overall system efficiency.
  • Adjusted audit log messages created by actions in the control center to ensure accurate feedback.

HiveMQ Data Hub

  • Enhanced the scalability of Data Hub fan-out functionality in HiveMQ cluster environments.
  • Improved license handling messages for Data Hub modules.

HiveMQ Enterprise Security Extension

  • Fixed an issue that could prevent LDAP authentication when multiple LDAP authentication managers are configured for the same LDAP realm.

HiveMQ Enterprise Extension for MongoDB

  • Fixed metrics cleanup on extension stop, which would prevent subsequent extension starts.
  • Improved log statements to reduce ambiguity on batch operations that span multiple topics.

Get Started Today

To upgrade to HiveMQ 4.32 from a previous HiveMQ version, follow our HiveMQ Upgrade Guide. To learn more about all the features the HiveMQ Platform offers, explore the HiveMQ User Guide.

HiveMQ Team

The HiveMQ team loves writing about MQTT, Sparkplug, Industrial IoT, protocols, how to deploy our platform, and more. We focus on industries ranging from energy, to transportation and logistics, to automotive manufacturing. Our experts are here to help, contact us with any questions.

HiveMQ logo
Review HiveMQ on G2