Skip to content

Releases: dotnet/MQTTnet

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!).

v3.0.2

12 May 15:29
Compare
Choose a tag to compare
  • [Core] Fixed issues in MQTTv5 message encoding and decoding.

v3.0.1

11 May 07:47
Compare
Choose a tag to compare
  • [Core] Fixed missing properties from PUBLISH packet in MqttApplicationMessage (thanks to @pcbing).
  • [Core] Fixed wrong encoding of PUBREL and PUBCOMP packets for MQTTv5 (thanks to @perphilipp).
  • [Client] Added the authentication result to the disconnected handler (only set when connecting failed).
  • [Client] Added new overloads for MqttClientOptionsBuilder.
  • [Server] Fixed a bug which returns wrong flag for existing session in CONNACK packet (thanks to @avengerstark).
  • [nuget] .NET Framework builds are now using 4.5.2 or 4.6.1 builds instead of netstandard 2.0.

v3.0.0

06 May 18:25
Compare
Choose a tag to compare
  • [Core] Added support for MQTTv5 packages.

  • [Core] Performance improvements.

  • [Core] Removed obsolete methods.

  • [Core] Fixed a memory leak when processing lots of messages (thanks to @tschanko)

  • [Core] Added more overloads for MQTT factory.

  • [Core] The client password is now hidden from the logs (replaced with **** if set).

  • [Core] Fixed a memory leak when using SSL connections (thanks to @biovoid).

  • [Client] Added validation of topics before publishing.

  • [Client] Added new MQTTv5 features to options builder.

  • [Client] Added uniform API across all supported MQTT versions (BREAKING CHANGE!)

  • [Client] The client will now avoid sending an ACK if an exception has been thrown in message handler (thanks to @ramonsmits).

  • [Client] Fixed issues in QoS 2 handling which leads to message loss.

  • [Client] Replaced all events with proper async compatible handlers (BREAKING CHANGE!).

  • [Client] Added more configuration values to TCP endpoint options.

  • [Client] Added used PacketIdentifier to publish result.

  • [ManagedClient] Replaced all events with proper async compatible handlers (BREAKING CHANGE!).

  • [ManagedClient] The log ID is now propagated to the internal client (thanks to @vbBerni).

  • [ManagedClient] Added validation of topics before publishing.

  • [ManagedClient] The internal MQTT client is now closed properly (thanks to @vbBerni).

  • [Server] Added support for MQTTv5 clients. The server will still return success for all cases at the moment even if more granular codes are available.

  • [Server] Fixed issues in QoS 2 handling which leads to message loss.

  • [Server] Replaced all events with proper async compatible handlers (BREAKING CHANGE!).

  • [Server] The used logger instance is now propagated to the WebSocket server adapter.

  • [Server] Added the flag "IsSecureConnection" which is set to true when the connection is encrypted.

  • [Server] Fixed wrong will message behavior when stopping server (thanks to @JohBa)

  • [Server] Added validation of topics before publishing.

  • [Server] Added more configuration values to TCP endpoint options.

  • [MQTTnet Server] Added as first Alpha version of standalone cross platform MQTT server.

  • [Note] Due to MQTTv5 a lot of new classes were introduced. This required adding new namespaces as well. Most classes are backward compatible but new namespaces must be added.

v3.0.0-rc2

26 Apr 09:22
Compare
Choose a tag to compare
v3.0.0-rc2 Pre-release
Pre-release
  • [Core] Added support for MQTTv5 packages.

  • [Core] Performance improvements.

  • [Core] Removed obsolete methods.

  • [Core] Fixed a memory leak when processing lots of messages (thanks to @tschanko)

  • [Core] Added more overloads for MQTT factory.

  • [Core] The client password is now hidden from the logs (replaced with **** if set).

  • [Core] Fixed a memory leak when using SSL connections (thanks to @biovoid).

  • [Client] Added validation of topics before publishing.

  • [Client] Added new MQTTv5 features to options builder.

  • [Client] Added uniform API across all supported MQTT versions (BREAKING CHANGE!)

  • [Client] The client will now avoid sending an ACK if an exception has been thrown in message handler (thanks to @ramonsmits).

  • [Client] Fixed issues in QoS 2 handling which leads to message loss.

  • [Client] Replaced all events with proper async compatible handlers (BREAKING CHANGE!).

  • [Client] Added more configuration values to TCP endpoint options.

  • [Client] Added used PacketIdentifier to publish result.

  • [ManagedClient] Replaced all events with proper async compatible handlers (BREAKING CHANGE!).

  • [ManagedClient] The log ID is now propagated to the internal client (thanks to @vbBerni).

  • [ManagedClient] Added validation of topics before publishing.

  • [ManagedClient] The internal MQTT client is now closed properly (thanks to @vbBerni).

  • [Server] Added support for MQTTv5 clients. The server will still return success for all cases at the moment even if more granular codes are available.

  • [Server] Fixed issues in QoS 2 handling which leads to message loss.

  • [Server] Replaced all events with proper async compatible handlers (BREAKING CHANGE!).

  • [Server] The used logger instance is now propagated to the WebSocket server adapter.

  • [Server] Added the flag "IsSecureConnection" which is set to true when the connection is encrypted.

  • [Server] Fixed wrong will message behavior when stopping server (thanks to @JohBa)

  • [Server] Added validation of topics before publishing.

  • [Server] Added more configuration values to TCP endpoint options.

  • [MQTTnet Server] Added as first Alpha version of standalone cross platform MQTT server.

  • [Note] Due to MQTTv5 a lot of new classes were introduced. This required adding new namespaces as well. Most classes are backward compatible but new namespaces must be added.