What’s New in HiveMQ 4.17?

What’s New in HiveMQ 4.17?

author HiveMQ Team

Written by HiveMQ Team

Category: HiveMQ Release

Published: July 5, 2023

The HiveMQ team is proud to announce the release of HiveMQ Enterprise MQTT Platform 4.17. This release adds out-of-the-box integrations with MongoDB, PostgreSQL, and MySQL databases, OpenID Connect authentication support for the HiveMQ Control Center, and the early access preview of the HiveMQ Data Governance Hub.

Highlights

  • New HiveMQ Enterprise Extension for MongoDB
  • New HiveMQ Enterprise Extension for PostgreSQL
  • New HiveMQ Enterprise Extension for MySQL
  • Launch of the HiveMQ Data Governance Hub Early Access Preview
  • Added OpenID Connect authentication for HiveMQ Control Center users to the HiveMQ Enterprise Security Extension

The HiveMQ Enterprise Extension for MongoDB

The HiveMQ platform now ships with the HiveMQ Enterprise Extension for MongoDB. MongoDB is a popular open-source, document-oriented database system that stores data in the form of JSON-like documents that are organized in collections. Our new extension gives you the ability to store MQTT messages in MongoDB and leverage the processing and analytics capabilities of your MongoDB database.

How it works

The HiveMQ Enterprise Extension for MongoDB supports a unidirectional message flow from MQTT clients via the HiveMQ broker to MongoDB. The extension can be flexibly configured to forward messages from specific MQTT topics to one or more MongoDB collections.

Example MongoDB extension configuration file:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    <hivemq-mongodb-extension>
        <mongodbs>
            <mongodb>
                <id>my-mongodb-id</id>
                <connection>
                    <host>my.host.com</host>
                    <port>27017</port>
                </connection>
            </mongodb>
        </mongodbs>
        <mqtt-to-mongodb-routes>
            <mqtt-to-mongodb-route>
                <id>my-mqtt-to-mongodb-route</id>
                <mongodb-id>my-mongodb-id</mongodb-id>
                <mqtt-topic-filters>
                    <mqtt-topic-filter>#</mqtt-topic-filter>
                </mqtt-topic-filters>
                <collection>my-collection</collection>
                <database>my-database</database>
                <processor>
                    <document-template>template.json</document-template>
                </processor>
            </mqtt-to-mongodb-route>
        </mqtt-to-mongodb-routes>
    </hivemq-mongodb-extension>

A powerful templating system lets you easily convert MQTT messages into customized MongoDB documents to ensure your data is stored in the format you need. For a list of all available placeholders, visit our documentation.

Example MongoDB extension document template:

1
2
3
4
5
6
{
    "mqtt-topic":   "${mqtt-topic}",
    "mqtt-payload": "${mqtt-payload-utf8}",
    "mqtt-qos":     "${mqtt-qos}",
    "arrival-timestamp": "${timestamp-ms}"
}

How it helps

In addition to HiveMQ platform integrations with data streaming platforms such as Apache Kafka, Amazon Kinesis, and more, our new MongoDB extension enhances your ability to integrate MQTT data with your backend systems for processing, data storage, and analytics.

HiveMQ Enterprise Extensions for PostgreSQL and MySQL

Together with the HiveMQ Enterprise Extension for MongoDB, HiveMQ 4.17 introduces two new extensions to integrate with Relational Database Management Systems (RDBMS). The HiveMQ Enterprise Extension for PostgreSQL and the HiveMQ Enterprise Extension for MySQL. Both PostgreSQL and MySQL are popular open-source databases widely used for data processing, storage, and analytics. Our new enterprise extensions let you integrate MQTT messages with these databases and leverage the full value of your existing infrastructure.

How it works

The HiveMQ Enterprise Extensions for PostgreSQL and MySQL support unidirectional message flows from MQTT clients via the HiveMQ broker to the PostgreSQL and MySQL databases. The extensions can be configured to forward messages from MQTT topics to one or more database tables. Convenient insert statements and statement templates help you easily write MQTT data and metadata into your target database table columns.

How it helps

Adding to the existing HiveMQ integrations for data streaming platforms and databases, the PostgreSQL and MySQL extensions further expand your ability to write MQTT data to the database of your choice. The HiveMQ Enterprise Extension for Postgres also enables integration with TimescaleDB and CockroachDB. Please refer to our documentation for more configuration details.

Data Governance Hub Early Access Preview

This month, we are excited to announce the availability of an Early Access Preview (EAP) of the HiveMQ Data Governance Hub.

How it works

The HiveMQ 4.17 Platform bundle now includes a free version of the Data Governance Hub EAP that lets you explore basic functionality. We’ve also added a full trial mode that provides a time-limited introduction to all Data Governance Hub functionality. For more information, see activate trial mode.

How it helps

The HiveMQ Data Governance Hub offers several license tiers to cater to different needs. For detailed information or to discuss which option is the best for your individual use case, contact our sales team they are happy to assist you.

Support for OpenID Connect in the HiveMQ Enterprise Security Extension

Starting with HiveMQ 4.17, the HiveMQ Enterprise Security Extension adds support for OpenID Connect authentication for Control Center users. OpenID Connect (OIDC) is an open authentication protocol and supports enterprise-wide single sign-on (SSO) capabilities with your preferred OIDC provider.

How it works

You configure an OIDC provider of your choice in the new OIDC realm of your ESE configuration.

Example configuration of the new OIDC realm:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<oidc-realm>
        <name>oidc-realm-name</name>
        <enabled>true</enabled>
        <configuration>
            <issuer>https://path/to/issuer</issuer>
            <client-id>my-client-id</client-id>
            <client-authentication>
                <client-secret-basic>my-client-secret</client-secret-basic>
            </client-authentication>
        </configuration>
</oidc-realm>

The OIDC realm can then be used to authenticate Control Center users in the ESE Control Center Pipeline.

Example Control Center Pipeline:

1
2
3
4
5
6
<oidc-authentication-manager>
    <realm>oidc-realm-name</realm>
    <redirect-uri>http://localhost:8080/callback</redirect-uri>
    <authorization-key-claim>user</authorization-key-claim>
    <authorization-role-key-claim>roles</authorization-role-key-claim>
</oidc-authentication-manager>

ESE follows the OIDC code flow that redirects the user to the selected external OpenID Connect provider where the user completes the authentication process before being redirected back to the HiveMQ Enterprise Security Extension. Next, ESE sets the ‘authorization-key’ and ‘authorization-role-key’ from the configured source claims and proceeds to the authorization stage of the Control Center pipeline.

How it helps

The implementation of enterprise-wide single sign-on (SSO) capabilities with the OpenID Connect Authorization Code Flow for HiveMQ Control Center users can provide higher compliance and security for your HiveMQ platform.

More Noteworthy Features and Improvements

HiveMQ Enterprise MQTT Broker

  • Fixed a race condition that could cause inconsistent client session metrics and memory leaks in client session cleanups.
  • Improved heartbeat-based failure detection between cluster nodes for increased reliability.
  • Fine-tuned the message size calculation for QoS 0 PUBLISH messages to ensure optimal use of in-memory storage.
  • Increased feedback in HiveMQ DEBUG log statements to improve the transparency of cluster state handling on JOIN/MERGE.
  • Fixed an issue that could throw an exception that prevents the successful creation of a backup.
  • Fixed an issue that could prevent a client from reauthenticating more than once.

HiveMQ Data Governance Hub (EAP)

  • Added new metrics that track the amount of time needed for publish validation and policy processing.
  • Added a new REST API endpoint that makes it possible to update an existing policy.

HiveMQ Enterprise Security Extension

  • Fixed an issue that could lead to a login failure when multiple pipelines use the same SQL realm.

HiveMQ Swarm

  • Fixed an issue that could cause incomplete reporting of metrics from the Swarm Commander to InfluxDB.

MQTT CLI

  • Added the ability to print the version of policy schemas created in the HiveMQ Data Governance Hub.
  • Added commands to list all existing schemas in the HiveMQ Data Governance Hub.

Get Started Today

To upgrade to HiveMQ 4.17 from a previous HiveMQ version, take a look at our HiveMQ Upgrade Guide. To learn more about all the features we offer, explore the HiveMQ User Guide.

author HiveMQ Team

About HiveMQ Team

We love writing about MQTT, IoT protocols and architecture in general. Our experts are here to help, so reach out to us if we can help!

mail icon Contact HiveMQ
newer posts HiveMQ Community Edition 2023.6 is released
HiveMQ 4.9.9 Maintenance Release older posts