Skip to content

v2.8.0

Compare
Choose a tag to compare
@chkr1011 chkr1011 released this 02 Jul 19:49
· 1337 commits to master since this release

** MQTTnet is now available at Open Collective for donations (https://opencollective.com/mqttnet). **

  • [Core] Performance optimizations.
  • [Core] Due to performance reasons the timestamp of log messages is now in UTC format.
  • [Core] Added several packet validations.
  • [Core] Log messages now contain the complete source path including parent components.
  • [Core] The adapter now has an Endpoint definition as string containing remote IP and port.
  • [Client] Received messages are now processed completely in the worker thread without creating new Tasks.
  • [Client] Fixed wrong calculation for sending keep alive packets (thanks to @cstichlberger)
  • [Client] A clean disconnect (via DisconnectAsync) will no longer throw an exception.
  • [Client] Added new overloads for quick message publishing.
  • [ManagedClient] The managed client is moved to a separate nuget package.
  • [ManagedClient] Added an own message format with extended properties like ID (BREAKING CHANGE).
  • [ManagedClient] Fixed a loading issue of stored application messages (thanks to @JTrotta).
  • [ManagedClient] Added a new event which is fired when a synchronization of the subscriptions has failed.
  • [ManagedClient] Added a new event which is fired when a connection attempt has failed.
  • [ManagedClient] Exposed a new property which provides the count of not published messages (pending messages count).
  • [Server] Added support for other WebSocket sub protocol formats like mqttv-3.1.1 (thanks to @israellot).
  • [Server] The takeover of an existing client sessions is now treated as a clean disconnect of the previous client.
  • [Server] The pending messages queue per client is now limited to 250 messages. Overflow strategy and count can be changed via options (thanks to @VladimirAkopyan)
  • [Server] Keep alive checking is now suspended while large packages are being received (and thus the client is connected). Keep alive checking continues after a large packet is received completely.
  • [Server] Rewritten the ConnectedClients API and added new features for disconnecting and Endpoint information (IP etc.).
  • [Server] Added settings for disabling persistent sessions and defining a max pending messages queue size per session.
  • [Server] Persistent sessions are disabled by default (BREAKING CHANGE!).
  • [Server] Added a new interceptor which is invoked before a new message is added to the client queue.
  • [Server] Added support for Linux servers by dividing IPv4 and IPv6 support and adding new options (BREAKING CHANGE!).
  • [Server] Gracefully closed connections are no longer reported as warnings.
  • [Server] Added new overloads for initializing the ASP.NET Core integration.