Releases: swift-server-community/mqtt-nio
Releases · swift-server-community/mqtt-nio
v2.5.0
Minor version changes
- Add
TSTLSVersion
an enum for TLS version used by NIOTransportServices. - new versions of
TSTLSConfiguration.init
use new enumTSTLSVersion
. Deprecated old versions usingtls_protocol_version_t
.
Patch version changes
- Combined
PingreqHandler
,ByteToMQTTMessageDecoder
andMQTTEncodeHandler
into 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.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
- Merged individual task handlers into one task handler
MQTTTaskHandler
.
v2.3.0
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
ofMQTTClient
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
Add support for async/await. All functions that returned an EventLoopFuture
now have a async equivalent.
v2.1.1
- Don't create
NIOSSLClientTLSProvider
if 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.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
- 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
MQTTError
for client issues orMQTTPacketError
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
- Don't reset pingreq timer when a read occurs. This was stopping the client sending PINGREQs when reading QoS0 packets
v1.3.0
- Remove references to NIOSSL on iOS, tvOS, watchOS
- Include port in initial http request "host" header for websocket connection if not default value