Skip to content

Releases: swift-server-community/mqtt-nio

v2.5.0

12 Nov 16:50
Compare
Choose a tag to compare

Minor version changes

  • Add TSTLSVersion an enum for TLS version used by NIOTransportServices.
  • new versions of TSTLSConfiguration.init use new enum TSTLSVersion. Deprecated old versions using tls_protocol_version_t.

Patch version changes

  • Combined PingreqHandler, ByteToMQTTMessageDecoder and MQTTEncodeHandler into one channel handler MQTTMessageHandler.

Other changes

  • Renamed sanity.sh to validate.sh
  • Added CONTRIBUTING.md
  • Added CODE_OF_CONDUCT.md
  • Added SECURITY.md

v2.4.0

05 Nov 08:36
8f72844
Compare
Choose a tag to compare

Minor Release Changes

  • Added new TSTLSConfiguration.init that allows for p12 and DER loading.
  • Close connection as soon as we receive a DISCONNECT packet from the server

Patch Release Changes

  • Fix issue where inflight PUBLISH messages were being deleted on server disconnection

Other changes

  • Enable writing CodeCoverage result to Codecov in CI
  • Enable running tests in macOS CI
  • Fixed certificate generation scripts
  • Add additional tests

v2.3.1

02 Nov 08:26
162e622
Compare
Choose a tag to compare
  • Merged individual task handlers into one task handler MQTTTaskHandler.

v2.3.0

01 Nov 10:34
5efd2b2
Compare
Choose a tag to compare

Minor release changes

  • Added AsyncSequence for listening for PUBLISH messages
  • Added v5 publish listeners that filter on subscription identifier
  • Added shutdownListener to catch when the client is shutdown (used by AsyncSequence publish listeners)
  • Error on deinit of MQTTClient that hasn't been shutdown
  • Added async shutdown function.

Other changes

Use XCTestExpression in tests instead of Thread.sleep
Require SwiftFormat to be run on PRs

v2.2.0

26 Oct 07:16
Compare
Choose a tag to compare

Add support for async/await. All functions that returned an EventLoopFuture now have a async equivalent.

v2.1.1

18 Aug 06:35
Compare
Choose a tag to compare
  • Don't create NIOSSLClientTLSProvider if SSL disabled. Fixes connection issue with raw IP address

v2.1.0

13 Jul 07:00
Compare
Choose a tag to compare
  • MQTT v5: send identifier not found for unhandled PUBREL and PUBREC packets
  • Add MQTTClient.V5.auth to re-authenticate a client with the server
  • Don't output reason and properties for PUBACK, PUBREC, PUBREL, PUBCOMP, AUTH, DISCONNECT packets when reason is success and there no properties.
  • Log messages as trace instead of debug. Add server connection/disconnection log messages.

v2.0.0

30 Jun 20:31
80285f6
Compare
Choose a tag to compare
  • Add Support for MQTT v5.0.
    • Set version in Configuration. Can access v5.0 specific features via MQTTClient.v5 .
    • Add v5 features like properties and reasons.
    • Extract server parameters from CONNACK properties.
  • Replaced FreeRTOS coreMQTT packet serialisation C library with Swift.
  • Combined error types. Errors are either MQTTError for client issues or MQTTPacketError for packet validation issues.
  • Fix packet resend policy. Now PUBLISH and PUBREL packets are stored while waiting for a response from the server. If the server connection is lost the packets still waiting for a response are resent.
  • Add PUBLISH/SUBSCRIBE packet validation to ensure we aren't sending bad packets to server.
  • Add MQTT v3.1.1 connection return codes.
  • Add webSocketMaxFrameSize configuration parameter.

v1.3.1

26 Jun 10:25
Compare
Choose a tag to compare
  • Don't reset pingreq timer when a read occurs. This was stopping the client sending PINGREQs when reading QoS0 packets

v1.3.0

12 Jun 09:23
Compare
Choose a tag to compare
  • Remove references to NIOSSL on iOS, tvOS, watchOS
  • Include port in initial http request "host" header for websocket connection if not default value