MQTTnet is a high performance .NET library for MQTT based communication. It provides a MQTT client and a MQTT server (broker). The implementation is based on the documentation from http://mqtt.org/.
[Client] Restored Server and Port behavior of client options (#2005).
v4.3.5.1141
3 weeks ago
[Client] Fix None of the discovered or specified addresses match the socket address family. (#1997).
[Client] Remove the obsolete attribute from the WithConnectionUri methods (#1979).
v4.3.4.1084
4 weeks ago
[Core] Optimized packet serialization of PUBACK and PUBREC packets for protocol version 5.0.0 (#1939, thanks to @Y-Sindo).
[Core] The package inspector is now fully async (#1941).
[Client] Added a dedicated exception when the client is not connected (#1954, thanks to @marcpiulachs).
[Client] The client will now throw a MqttClientUnexpectedDisconnectReceivedException when publishing a QoS 0 message which leads to a server disconnect (BREAKING CHANGE!, #1974, thanks to @fazho).
[Client] Exposed the certificate selection event handler in client options (#1984).
[Server] The server will no longer send NoMatchingSubscribers when the actual subscription was non success (#1965, BREAKING CHANGE!).
[Server] Fixed broken support for null in AddServer method in ASP.NET integration (#1981).
[ManagedClient] Added a new event (SubscriptionsChangedAsync) which is fired when a subscription or unsubscription was made (#1894, thanks to @pdufrene).
[ManagedClient] Fixed race condition when server shuts down while subscribing (#1987, thanks to @marve).
[TopicTemplate] Added new extension which provides a template engine for topics (#1932, thanks to @simonthum).
v4.3.3.952
6 months ago
[Server] Added new events for delivered and dropped messages (#1866, thanks to @kallayj).
[Server] The server will no longer treat a client which is receiving a large payload as alive. The packet must be received completely within the keep alive boundaries (BREAKING CHANGE!, #1883).
[Server] Fixed "service not registered" exception in ASP.NET integration (#1889).
v4.3.2.930
6 months ago
[Client] Added support for custom CA chain validation (#1851, thanks to @rido-min).
[Client] Fixed handling of unobserved tasks exceptions (#1871).
[Client] Fixed not specified ReasonCode when using SendExtendedAuthenticationExchangeDataAsync (#1882, thanks to @rido-min).
[Server] Fixed not working UpdateRetainedMessageAsync public api (#1858, thanks to @kimdiego2098).
[Server] Added support for custom DISCONNECT packets when stopping the server or disconnect a client (BREAKING CHANGE!, #1846).
[Server] Added new property to stop the server from accepting new connections even if it is running (#1846).
[Client] Added an option to avoid throwing an exception when the server returned a proper non success (but valid) response (#1681).
[Server] Improved performance by changing internal locking strategy for subscriptions (#1716, thanks to @zeheng).
[Server] Fixed exceptions when clients are connecting and disconnecting very fast while accessing the client status for connection validation (#1742).
[Server] Exposed more properties in ClientConnectedEventArgs (#1738).
v4.2.0.706
1 year ago
[Core] Added net7.0 builds (#1635, thanks to @YAJeff).
[Core] Added support for payload segments (#1585, thanks to @xljiulang)
[Client] Added support for passing MQTT v5 options (User properties etc.) for disconnects.
[Client] An internal exception is no longer caught silently when calling DisconnectAsync to indicate that the disconnect is not clean (BREAKING CHANGE).
[Client] MQTTv5 features are now checked and an exception is thrown if they are used when using protocol version 3.1.1 and lower. These checks can be disabled in client options. (BREAKING CHANGE!).
[Client] Added support for disabling packet fragmentation (required for i.e. AWS, #1690, thanks to @logicaloud).
[Client] Added new overloads for options builder.
[Client] Renamed InspectPackage to InspectPacketAsync (BREAKING CHANGE).
[ManagedClient] Exposed added and removed topics in ManagedProcessFailedEventArgs (#1678, thanks to @scottbrogden-iheartmedia).
[Server] Exposed MQTT v5 sent properties from the affected client in ClientDisconnectedAsync event.
[Server] Fixed wrong client ID passed to InterceptingUnsubscriptionEventArgs (#1631, thanks to @ghord).
[Server] Exposed socket settings for TCP keep alive in TCP options (#1544).
[Server] Exposed server session items at server level and allow custom session items for injected application messages (#1638).
[Server] Improved performance for retained message handling when subscribing using "DoNotSendOnSubscribe" or "SendAtSubscribeIfNewSubscriptionOnly" (#1661, thanks to @Int32Overflow).
[Server] Added support for changing the used TLS certificate while the server is running (#1652, thanks to @YAJeff). The certificate provider will now be invoked for every new connection!
[Server] Added a new API method which allows reading a single retained message without the need to processing the entire set of retained messages (#1659).
[Server] Added a new event (InterceptingClientEnqueueAsync) which allows intercepting when an application message is enqueued for a client (#1648).
[Server] Fixed race condition when handling connections which leads to stopped message transfers (#1677, thanks to @RazvanEmilR).
[Server] Fixed not delivered packets to other sessions if the InterceptingClientEnqueueEvent is used and accepting the packet is denied (#1685, thanks to @RossHNPC).
[Server] Added missing user properties to subscribe and unsubscribe interceptor (#1702).
v4.1.4.563
1 year ago
[Core] Fixed a memory leak in AsyncSignal implementation (#1586, thanks to @mario-zelger).
[Core] Fixed an issue with bounds handling in MqttBufferReader (#1593).
[Core] Performance improvements and reduced memory usage due to improved buffer copies (#1599, thanks to @xljiulang).
[Server] Fix not properly reset statistics (#1587, thanks to @damikun).
[Server] Now using an empty string as the sender client ID for injected application messages (#1583, thanks to @xljiulang).
[Server] Improved memory usage for ASP.NET connections (#1582, thanks to @xljiulang).
[Server] Improved memory usage and performance for ASP.NET integration (#1596, thanks to @xljiulang).
[Server] Add support for interception of will messages (#1613).
[Server] Fixed wrong topic filter detections (#1615, thanks to @logicaloud).