Releases: LabVIEW-Open-Source/LV-MQTT-Broker
Fix for PINGREQ-PINGRESP acknowledgement
- See MQTT Connection repo (Issue 8) for details
- Addition of DebugTerminal injection into connection
Unsubscribe fix
[Fix: 176] unsubscribe from topic when session has more than one topic now searches and removes correctly the sessions in any order called.
- Added optimization in the session discarding for disconnected packets
- Updated the MQTT Control Packet dependency to fix issue with decoding passwords from Connect packets
Connection upgrade
[Feature: 173] Addition of Get NbConnections accessor method
-Updated the code base to common Connection base class
-Constructor exposes option to support session storage (defaults to True)
-Exposed protected methods for inspection of Subscriptions, Sessions and ClientIDs
Packet Tracing and Logging for MQTT Server
[Feature] Addition of PacketTracer virtual class to allow injection of logging/tracer on incoming and outgoing packets
[Fix] Inbound PUBLISH messages are now generating "Base MQTT" public events
A PacketTracer virtual class has been added to the MQTT Server to allow developers to extend and inject their custom tracing/logging solution to directly capture all incoming and outgoing packets transiting through the server's core. Developers can see an example of how to use this feature by inspecting the example VI found in the MQTT Server's palette.
Fixed Subscription QoS = 2
[Fix: 162] Disabled the DUP resend feature for packets which affected QoS = 2. Feature is not yet unit tested and will be re-enabled only when tests demonstrate it works according to specification
QoS > 0 publish packet response
This release fixes a few bugs found in dependencies related to MQTT client and MQTT Connect packet serialization of password
QoS support for MQTT Server and complete Websockets support
[MQTT-2.3.1-6] QoS = 2 is enabled
[MQTT-4.3.2-1] Subscription stores unacknowledged packets in QoS = 1 delivery, until PUBACK received
[MQTT-4.3.3-1] Subscription stores unacknowledged packets in QoS = 2 delivery, until PUBCOMP received
[MQTT-4.8.0-1] Protocol Violation causes a disconnection of the endpoint
[MQTT-6.0.0-1] Sending a Text Frame causes an immediate disconnection
[MQTT-6.0.0-2] MQTT Engine does not assume that control packets are aligned with websocket frame boundaries
[MQTT-6.0.0-3] Client send mqtt as subprotocol
[MQTT-6.0.0-4] Server responds with mqtt as subprotocol
- This release completes the support requirements specifically for Websockets connections.
- This release also brings QoS support for server, both as a receiver (published messages from client) and as a sender (subscriptions forwarding messages to clients)
Migration to separate package dependencies
[Fix: 149] Duplicate subscriptions will not duplicate the number of publish packets received
[Fix: 152] All asynchronously launched processs now have a reference to front panel to force in-memory for EXE builds (server and client)
[MQTT-7.1.2-1] Added test for conformant client over at least one lossless, ordered protocol (TCP)
[MQTT-3.3.2-2] Publishing a topic containing a wildcard gets rejected with error 55015
Process deployable in EXE
Release Notes:
[Fix: 149] Duplicate subscriptions will not duplicate the number of publish packets received
[Fix: 152] All asynchronously launched processs now have a reference to front panel to force in-memory for EXE builds (server and client)
[MQTT-7.1.2-1] Added test for conformant client over at least one lossless, ordered protocol (TCP)
[MQTT-3.3.2-2] Publishing a topic containing a wildcard gets rejected with error 55015
Optimized Client Connection
This release fixes issues reported in #150 and #151 .
Furthermore, asynchronous process launching was improved throughout and now this release is stable for high speed reconnection of client. Subscription process and session process are now cleared efficiently, which diminishes latency during reconnection process.