Releases: swift-server-community/mqtt-nio
Releases · swift-server-community/mqtt-nio
v2.5.2
- Deprecated
MQTTClient.Configuration.maxRetryAttemptsas it is no longer used - Activate pingeq hander on channel handler activation not addition
v2.5.1
- Fixed issue where automatic PINGREQ messages were never sent
v2.5.0
Minor version changes
- Add
TSTLSVersionan enum for TLS version used by NIOTransportServices. - new versions of
TSTLSConfiguration.inituse new enumTSTLSVersion. Deprecated old versions usingtls_protocol_version_t.
Patch version changes
- Combined
PingreqHandler,ByteToMQTTMessageDecoderandMQTTEncodeHandlerinto one channel handlerMQTTMessageHandler.
Other changes
- Renamed sanity.sh to validate.sh
- Added CONTRIBUTING.md
- Added CODE_OF_CONDUCT.md
- Added SECURITY.md
v2.4.0
Minor Release Changes
- Added new
TSTLSConfiguration.initthat 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
- Merged individual task handlers into one task handler
MQTTTaskHandler.
v2.3.0
Minor release changes
- Added
AsyncSequencefor listening for PUBLISH messages - Added v5 publish listeners that filter on subscription identifier
- Added
shutdownListenerto catch when the client is shutdown (used by AsyncSequence publish listeners) - Error on
deinitofMQTTClientthat hasn't been shutdown - Added async
shutdownfunction.
Other changes
Use XCTestExpression in tests instead of Thread.sleep
Require SwiftFormat to be run on PRs
v2.2.0
Add support for async/await. All functions that returned an EventLoopFuture now have a async equivalent.
v2.1.1
- Don't create
NIOSSLClientTLSProviderif SSL disabled. Fixes connection issue with raw IP address
v2.1.0
- MQTT v5: send identifier not found for unhandled PUBREL and PUBREC packets
- Add
MQTTClient.V5.authto 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
- Add Support for MQTT v5.0.
- Set version in
Configuration. Can access v5.0 specific features viaMQTTClient.v5. - Add v5 features like properties and reasons.
- Extract server parameters from CONNACK properties.
- Set version in
- Replaced FreeRTOS coreMQTT packet serialisation C library with Swift.
- Combined error types. Errors are either
MQTTErrorfor client issues orMQTTPacketErrorfor 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
webSocketMaxFrameSizeconfiguration parameter.