The HiveMQ MQTT Client 1.1.4 is released

Written by Silvio Giebl

Category: HiveMQ MQTT Client MQTT Client

Published: March 4, 2020


The HiveMQ team is pleased to announce the availability of HiveMQ MQTT Client 1.1.4.

This patch release for version 1.1 includes the following improvements:

Bug fixes

  • Adjusts handling to prevent possible disconnect/reconnect loops when QoS 2 PUBREL packets are resent.
  • Ensures that event loops are always released to eliminate an issue that some threads unnecessarily remain active in rare cases (hostname not found and reconnect disabled).
  • Automatically validates the Will payload maximum of 65,535 bytes to provide better feedback and decrease errors.

Improvements

  • Further optimization of memory usage, a client instance now only uses around 5 kB
  • Improved TopicAliasAutoMapping for better utilization of topic aliases
  • Reduced flush calls for many small messages for better utilization of MTU size
  • Small improvements for enhanced authentication handling
  • Also ping when no message has been read for the keep alive time
  • No I/O exceptions are logged while disconnecting when the server sends an RST instead of a FIN flag
  • Connecting to an MQTT 3 only broker with MQTT 5 now returns an Mqtt5ConnAck with reason code UNSUPPORTED_PROTOCOL_VERSION instead of an MqttDecodeException
  • Added Javadoc for reason codes and other enums

Miscellaneous

  • Improved Gradle build files
  • Improved test coverage
  • New users section in the readme and documentation. If you use the HiveMQ MQTT Client in a project that is not listed in the new section, feel free to open an issue or pull request.


You can get the new version as a Maven artifact from Maven Central, JCenter, or JitPack.

Also check out the project on GitHub.

We recommend upgrading to this patch release for all HiveMQ MQTT Client library users.

Have a great day,

Silvio from the HiveMQ Team

About Silvio Giebl

Silvio Giebl is a software developer at HiveMQ and maintainer of the HiveMQ MQTT Client open-source library. He is interested in high-performance applications on the JVM and reactive programming.
Enhanced Authentication - MQTT 5 Essentials Part 11
Reference Architecture for VDA5050