What’s New in HiveMQ 4.21?

What’s New in HiveMQ 4.21?

author HiveMQ Team

Written by HiveMQ Team

Category: HiveMQ Release

Published: October 10, 2023

The HiveMQ team is proud to announce the release of HiveMQ Enterprise MQTT Platform 4.21. This release introduces our new integration with Snowflake Data Cloud, enhances usability and configuration options in the HiveMQ Enterprise Security Extension, and adds more observability for the HiveMQ Enterprise MQTT broker.

Highlights

  • New HiveMQ Enterprise Extension for Snowflake
  • Added HiveMQ Enterprise Security Extension Preprocessors

The HiveMQ Enterprise Extension for Snowflake

The HiveMQ platform now ships with the new HiveMQ Enterprise Extension for Snowflake.

Snowflake Data Cloud is a widely used data management and data warehousing platform designed to store, process, and analyze large volumes of data. Snowflake provides a fully managed cloud-based service. Our new extension allows you to store MQTT messages in Snowflake database tables and leverage the processing and analysis capabilities of your Snowflake service to analyze and derive insights from your MQTT data.

How it works

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

Example Snowflake 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<hivemq-snowflake-extension>
    <snowflakes>
        <snowflake>
            <id>my-snowflake-id</id>
            <account-url>https://my-account-id.snowflakecomputing.com</account-url>
            <user>my-user</user>
            <role>my-role</role>
            <private-key>path/to/rsa_key.p8</private-key>
            <private-key-passphrase>my-passphrase</private-key-passphrase>
        </snowflake>
    </snowflakes>
    <mqtt-to-snowflake-routes>
        <mqtt-to-snowflake-route>
            <id>my-snowflake-route</id>
            <snowflake-id>my-snowflake-id</snowflake-id>
            <enabled>true</enabled>
            <mqtt-topic-filters>
                <mqtt-topic-filter>#</mqtt-topic-filter>
            </mqtt-topic-filters>
            <processor>
                <snowpipe-streaming>
                    <database>my_database</database>
                    <schema>my_schema</schema>
                    <table>my_table</table>
                    <columns>
                        <column>
                            <name>topic</name>
                            <value>mqtt-topic</value>
                        </column>
                        <column>
                            <name>payload</name>
                            <value>mqtt-payload-utf8</value>
                        </column>
                    </columns>
                </snowpipe-streaming>
            </processor>
        </mqtt-to-snowflake-route>
    </mqtt-to-snowflake-routes>
</hivemq-snowflake-extension>

The HiveMQ extension provides predefined MQTT placeholders for converting MQTT messages into Snowflake table rows to ensure your data is stored according to your business needs. For a list of all available placeholders, visit our Snowflake extension documentation.

How it helps

In addition to HiveMQ platform integrations with data streaming platforms such as Apache Kafka and Amazon Kinesis and our integrations with databases such as PostgreSQL, and MongoDB, the new Snowflake extension adds the ability to integrate MQTT data directly with the Snowflake Data Cloud. This new extension further expands your capabilities to integrate your IoT architecture with scalable and efficient data storage, processing, and analytics systems.

New Enterprise Security Extension Preprocessors

HiveMQ 4.21 adds multiple new preprocessing options in the HiveMQ Enterprise Security Extension (ESE). Preprocessing gives you the ability to perform various data preparation and transformation tasks in an ESE pipeline before authentication and authorization take place.

How it works

HiveMQ Enterprise Security Extension preprocessors are lightweight pipeline steps that work with the current state of your ESE variables and have no external dependencies. To add preprocessing to a pipeline, you configure one or more preprocessors. The new Set preprocessor allows you to set the state of an ESE string or byte variable to a predefined value of your choice.

Example set string preprocessor configuration:

1
2
3
4
<set-string-preprocessor>
        <variable>string-variable</variable>
        <value>my-value</value>
</set-string-preprocessor>

How it helps

Our flexible new Set preprocessor expands the ways you can work with ESE string and byte variables. The option to create and set custom values makes it easier to fulfill a wide range of use cases. For more information on all the preprocessors the HiveMQ Enterprise Security Extension offers, see Preprocessors.

Additional Features and Improvements

HiveMQ Enterprise MQTT Broker

  • Added log statements to provide greater visibility for failure detection states to facilitate testing and debugging.
  • Added the health states DEGRADED and DEGRADED_SERVICE to the Health API to indicate broker components that can negatively impact the service quality of the HiveMQ broker.
  • Fixed an issue that could cause incorrect metric incrementation when a node repeatedly leaves and joins a two-node cluster.

HiveMQ Enterprise Security Extension

  • Added new Copy preprocessors to replace the now deprecated plain preprocessor.

HiveMQ Data Hub

  • Added a license warning on all Data Hub views in the control center when no active Data Hub license is detected with the option to start the free trial mode.

MQTT CLI

  • Added DEBUG level log statements for MQTT 5 SUBACK, PUBACK, PUBREC, PUBREL, and PUBCOMP acknowledgment packets.
  • Fixed an issue that could prevent MQTT CLI connection to a secured broker.
  • Fixed an issue in the help description for the default TLS protocol version that could cause the formation of an incorrect command.

Get Started Today

To upgrade to HiveMQ 4.21 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 Edge 2023.7 is Released
HiveMQ 4.9.12 Maintenance Release older posts