Skip to content

Releases: dotnet/MQTTnet

v3.0.11

16 May 19:22
Compare
Choose a tag to compare
  • [Client] Fixed issue in keep alive handling.
  • [MQTTnet.Server] Added support for delivering static files (HTML, JavaScript etc.).
  • [MQTTnet.Server] Fixed web socket protocol errors (when using paho JS etc.).

v3.0.10

14 May 19:11
Compare
Choose a tag to compare
  • [Core] Improved logger performance (BREAKING CHANGE!).
  • [Core] Renamed some topic filter relevant classes (BREAKING CHANGE!).
  • [Core] Improved task management for UWP connections (thanks to @xgstation).
  • [Core] Fixed broken logger which decreases overall performance.
  • [Core] Fixed issue in closed socket detection (fixes high CPU load issue).
  • [Client] Added method to trigger PING/PONG manually (connection check etc.).
  • [Client] Added support for certificate validation callback when using Web Sockets (requires netstandard2.1+).
  • [Client] Fixed a memory leak when web socket based connections trying to reconnect with an offline server.
  • [Client] Fixed a memory leak when TCP based connections trying to reconnect with an offline server.
  • [Client] Fixed an issue when connecting to an invalid host (format).
  • [Client] Added support for user properties in CONNECT packet.
  • [Client] Removed KeepAliveSendInterval and improved keep alive handling (BREAKING CHANGE!).
  • [ManagedClient] Added method to trigger PING/PONG manually (connection check etc.).
  • [MQTTnet.AspNetCore] improved compatibility with AspNetCore 3.1.
  • [MQTTnet.AspNetCore] Fixed several packaging issues with the Nuget package.
  • [MQTTnet.Server] Fixed wrong version output.

v3.0.9

10 Apr 22:02
Compare
Choose a tag to compare
  • [All] Due to a merge issue not all changes are included in 3.0.8. All these changes are now included in this version.
  • [Core] Updated all nuget references.
  • [Core] Added MqttApplicationMessage.GetUserProperty() convenience method (thanks to @PMExtra).
  • [LowLevelMqttClient] Added low level MQTT client in order to provide more flexibility when using the MQTT protocol. This client requires detailed knowledge about the MQTT protocol.
  • [Client] Improve connection stability (thanks to @jltjohanlindqvist).
  • [Client] Support WithConnectionUri to configure client (thanks to @PMExtra).
  • [Client] Support PublishAsync with QoS 1 and QoS 2 from within an ApplicationMessageReceivedHandler (#648, #587, thanks to @PSanetra).
  • [Client] Fixed MqttCommunicationTimedOutExceptions, caused by a long running ApplicationMessageReceivedHandler, which blocked MQTT packets from being processed (#829, thanks to @PSanetra).
  • [ManagedClient] Added builder class for MqttClientUnsubscribeOptions (thanks to @dominikviererbe).
  • [ManagedClient] Added support for persisted sessions (thansk to @PMExtra).
  • [ManagedClient] Fixed a memory leak (thanks to @zawodskoj).
  • [ManagedClient] Improved internal subscription management (#569, thanks to @cstichlberger).
  • [ManagedClient] Refactored log messages (thanks to @cstichlberger).
  • [Server] Added support for assigned client IDs (MQTTv5 only) (thanks to @bcrosnier).
  • [Server] Added interceptor for unsubscriptions.
  • [Server] Removed exceptions when user properties are set with MQTT protocol version 3.1
  • [Server] Added custom session items to the client status.
  • [Server] Added option to check whether the server is already started properly or not.
  • [MQTTnet.AspNetCore] improved compatibility with AspNetCore 3.1
  • [MQTTnet.Server] Added interceptor for unsubscriptions.

v3.0.8

10 Jan 21:13
8ecf658
Compare
Choose a tag to compare
  • [Core] Converted all pending methods to use async/await.
  • [Core] Fixed an issue when serializing a PubRec (QoS 2) packet for MQTTv5.
  • [Client] Fixed an issue when checking for revoked SSL certificates (thanks to @cslutgen).
  • [RpcClient] Added support for custom topic generation strategies.
  • [Server] Refactoring of server certificate password classes (BREAKING CHANGE!).
  • [Server] Fixed an issue with empty server certificate passwords (thanks to @SeppPenner).
  • [MQTTnet.Server] Added support for certificate passwords (BREAKING CHANGE IN CONFIG!)
  • [MQTTnet.AspNetCore] Fixed an issue with MQTTv5 package serialization (#743, thanks to @JanEggers, @pcbing).

v3.0.7

18 Aug 19:03
Compare
Choose a tag to compare
  • [Core] Converted all pending methods to use async/await.
  • [Core] Fixed an issue when serializing a PubRec (QoS 2) packet for MQTTv5.
  • [Client] Fixed an issue when checking for revoked SSL certificates (thanks to @cslutgen).
  • [RpcClient] Added support for custom topic generation strategies.
  • [Server] Refactoring of server certificate password classes (BREAKING CHANGE!).
  • [Server] Fixed an issue with empty server certificate passwords (thanks to @SeppPenner).
  • [MQTTnet.Server] Added support for certificate passwords (BREAKING CHANGE IN CONFIG!)
  • [MQTTnet.AspNetCore] Fixed an issue with MQTTv5 package serialization (#743, thanks to @JanEggers, @pcbing).

v3.0.6

11 Aug 14:39
Compare
Choose a tag to compare
  • [Core] Nuget packages with symbols are now also published to improve debugging.
  • [Core] Improve task handling (thanks to @mwinterb)
  • [ManagedClient] Fix a race condition in the message storage (thanks to @PaulFake).
  • [Server] Added items dictionary to client session in order to share data across interceptors as along as the session exists.
  • [Server] Exposed CONNECT packet properties in Application Message and Subscription interceptor.
  • [Server] Fixed: Sending Large packets with AspnetCore based connection throws System.ArgumentException.
  • [Server] Fixed wrong usage of socket option NoDelay.
  • [Server] Added remote certificate validation callback (thanks to @rudacs).
  • [Server] Add support for certificate passwords (thanks to @cslutgen).
  • [MQTTnet.Server] Added REST API for publishing basic messages.

v3.0.5

28 Jun 08:23
Compare
Choose a tag to compare
  • [Server] Moved new socket options to TCP options to avoid incompatibility with Linux hosts.

v3.0.4

27 Jun 08:15
Compare
Choose a tag to compare
  • [Core] Fixed wrong versions in nuget packages.
  • [Server] The TCP address is now reused when starting which should prevent "port in used" error when restarting.

v3.0.3

23 Jun 19:50
Compare
Choose a tag to compare
  • [Core] Fixed issues in MQTTv5 message encoding and decoding.
  • [Core] Added extension method to allow usage of WebSocket4Net in clients to fix issues with AWS and Xamarin.
  • [Core] Fixed usage of wrong data type for passwords (string -> byte[]).
  • [Core] Fixed an ObjectDisposedException when sending data using a WebSocket channel.
  • [Core] Performance optimizations.
  • [Client] Added support for extended authentication exchange.
  • [Client] Exposed MQTTv5 CONNACK values to client.
  • [Client] Added MqttClientSubscribeOptionsBuilder.
  • [Client] The disconnected handler is now executed in a new task to prevent deadlocks when reconnecting etc. (thanks to @lizziebeans).
  • [Client] Converted option DualMode into nullable boolean to preserve original value and avoid exceptions in IPv4 only networks (thanks to @lavaflo).
  • [Server] Exposed ClientCertificateRequired and CheckCertificateRevocation at TLS options.
  • [Server] Exposed client certificate at client connection validator.
  • [Server] The subscription interceptor now supports altering the entire topic filter.
  • [Server] Exposed more properties to the connection validator context.
  • [MQTTnet.Server] Added authentication support via Python script file.
  • [MQTTnet.Server] Migrated the result of connection validations to ReasonCode (MQTTv5) instead of ReturnCode (MQTTv3 only) (BREAKING CHANGE!).

v3.0.3-rc3

14 Jun 18:50
Compare
Choose a tag to compare
v3.0.3-rc3 Pre-release
Pre-release
  • [Core] Fixed issues in MQTTv5 message encoding and decoding.
  • [Core] Added extension method to allow usage of WebSocket4Net in clients to fix issues with AWS and Xamarin.
  • [Core] Fixed usage of wrong data type for passwords (string -> byte[]).
  • [Core] Fixed an ObjectDisposedException when sending data using a WebSocket channel.
  • [Client] Added support for extended authentication exchange.
  • [Client] Exposed MQTTv5 CONNACK values to client.
  • [Client] Added MqttClientSubscribeOptionsBuilder.
  • [Client] The disconnected handler is now executed in a new task to prevent deadlocks when reconnecting etc. (thanks to @lizziebeans).
  • [Client] Converted option DualMode into nullable boolean to preserve original value and avoid exceptions in IPv4 only networks (thanks to @lavaflo).
  • [Server] Exposed ClientCertificateRequired and CheckCertificateRevocation at TLS options.
  • [Server] Exposed client certificate at client connection validator.
  • [Server] The subscription interceptor now supports altering the entire topic filter.
  • [Server] Exposed more properties to the connection validator context.
  • [MQTTnet.Server] Added authentication support via Python script file.
  • [MQTTnet.Server] Migrated the result of connection validations to ReasonCode (MQTTv5) instead of ReturnCode (MQTTv3 only) (BREAKING CHANGE!).