Native LabVIEW MQTT Broker Server
[Fix: 176] unsubscribe from topic when session has more than one topic now searches and removes correctly the sessions in any order called.
[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
[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.
[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
This release fixes a few bugs found in dependencies related to MQTT client and MQTT Connect packet serialization of password
[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
[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
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
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.