1.1.4
🐞 Bug fixes
- Adjusts QoS 2 handling to prevent possible disconnect/reconnect loops when PUBREL packets are resent #377
- 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) #356
- Automatically validates the Will payload maximum of 65,535 bytes to provide better feedback and decrease errors. #354 #355
✨ Improvements
- Further optimization of memory usage, a client instance now only uses around 5 kB #370
- Improved
TopicAliasAutoMapping
for better utilization of topic aliases #370 - Reduced flush calls for many small messages for better utilization of MTU size #370
- Small improvements for enhanced authentication handling #358
- Also ping when no message has been read for the keep alive time #357
- No I/O exceptions are logged while disconnecting when the server sends an RST instead of a FIN flag #374
- Connecting to an MQTT 3 only broker with MQTT 5 now returns an
Mqtt5ConnAck
with reason codeUNSUPPORTED_PROTOCOL_VERSION
instead of anMqttDecodeException
#327 - Added Javadoc for reason codes and other enums #371
🗒️ Misc
- Improved Gradle build files #363
- Improved test coverage #372
- New users section in the readme and documentation. #362
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.
❤️ Thanks to all contributors
- @LukasHiveMQ
- @SgtSilvio
- Also thanks to all code reviewers and all who created valuable issues
Related blog post: https://www.hivemq.com/blog/hivemq-mqtt-client-1-1-4-released/