The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of SwiftMQTT, reference master (6667e1), with Swift 6.0 for macOS (SPM) on 16 Sep 2024 00:58:39 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.53.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/aciidgh/SwiftMQTT.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/aciidgh/SwiftMQTT
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 6667e19 Bug/nil run loop (#41)
Cloned https://github.com/aciidgh/SwiftMQTT.git
Revision (git rev-parse @):
6667e19b0d63f00cfe7769b133ab95b1bbbf136a
SUCCESS checkout https://github.com/aciidgh/SwiftMQTT.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/aciidgh/SwiftMQTT.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-117DEE11B69C53C9.txt
[3/21] Compiling SwiftMQTT MQTTPublishPacket.swift
[4/21] Compiling SwiftMQTT MQTTStreamable.swift
[5/21] Compiling SwiftMQTT MQTTMessage.swift
[6/21] Compiling SwiftMQTT MQTTPacket.swift
[7/23] Compiling SwiftMQTT MQTTPubAck.swift
[8/23] Compiling SwiftMQTT MQTTPubMsg.swift
[9/23] Compiling SwiftMQTT MQTTSubAckPacket.swift
[10/23] Compiling SwiftMQTT MQTTSubPacket.swift
[11/23] Compiling SwiftMQTT MQTTPingPacket.swift
[12/23] Compiling SwiftMQTT MQTTPingResp.swift
[13/23] Compiling SwiftMQTT MQTTPacketFactory.swift
[14/23] Compiling SwiftMQTT MQTTPacketFixedHeader.swift
[15/23] Compiling SwiftMQTT MQTTSessionStream.swift
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:46:32: warning: capture of 'self' with non-sendable type 'MQTTSessionStream?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 15 | }
 16 |
 17 | class MQTTSessionStream: NSObject {
    |       `- note: class 'MQTTSessionStream' does not conform to the 'Sendable' protocol
 18 |
 19 |     private var currentRunLoop: RunLoop?
    :
 44 |         sessionQueue.async { [weak self] in
 45 |
 46 |             guard let `self` = self else {
    |                                `- warning: capture of 'self' with non-sendable type 'MQTTSessionStream?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 47 |                 return
 48 |             }
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:51:13: warning: capture of 'inputStream' with non-sendable type 'InputStream?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |
 50 |             self.currentRunLoop = RunLoop.current
 51 |             inputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
    |             `- warning: capture of 'inputStream' with non-sendable type 'InputStream?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |             outputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
 53 |
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:52:13: warning: capture of 'outputStream' with non-sendable type 'OutputStream?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |             self.currentRunLoop = RunLoop.current
 51 |             inputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
 52 |             outputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
    |             `- warning: capture of 'outputStream' with non-sendable type 'OutputStream?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 53 |
 54 |             inputStream?.open()
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:51:13: warning: reference to captured var 'inputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |
 50 |             self.currentRunLoop = RunLoop.current
 51 |             inputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
    |             `- warning: reference to captured var 'inputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |             outputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
 53 |
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:52:13: warning: reference to captured var 'outputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 50 |             self.currentRunLoop = RunLoop.current
 51 |             inputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
 52 |             outputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
    |             `- warning: reference to captured var 'outputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 53 |
 54 |             inputStream?.open()
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:54:13: warning: reference to captured var 'inputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |             outputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
 53 |
 54 |             inputStream?.open()
    |             `- warning: reference to captured var 'inputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 55 |             outputStream?.open()
 56 |             if ssl {
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:55:13: warning: reference to captured var 'outputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 53 |
 54 |             inputStream?.open()
 55 |             outputStream?.open()
    |             `- warning: reference to captured var 'outputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 56 |             if ssl {
 57 |                 let securityLevel = StreamSocketSecurityLevel.negotiatedSSL.rawValue
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:58:17: warning: reference to captured var 'inputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 56 |             if ssl {
 57 |                 let securityLevel = StreamSocketSecurityLevel.negotiatedSSL.rawValue
 58 |                 inputStream?.setProperty(securityLevel, forKey: .socketSecurityLevelKey)
    |                 `- warning: reference to captured var 'inputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 59 |                 outputStream?.setProperty(securityLevel, forKey: .socketSecurityLevelKey)
 60 |             }
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:59:17: warning: reference to captured var 'outputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 57 |                 let securityLevel = StreamSocketSecurityLevel.negotiatedSSL.rawValue
 58 |                 inputStream?.setProperty(securityLevel, forKey: .socketSecurityLevelKey)
 59 |                 outputStream?.setProperty(securityLevel, forKey: .socketSecurityLevelKey)
    |                 `- warning: reference to captured var 'outputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 60 |             }
 61 |             if timeout > 0 {
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:63:21: warning: capture of 'self' with non-sendable type 'MQTTSessionStream' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 15 | }
 16 |
 17 | class MQTTSessionStream: NSObject {
    |       `- note: class 'MQTTSessionStream' does not conform to the 'Sendable' protocol
 18 |
 19 |     private var currentRunLoop: RunLoop?
    :
 61 |             if timeout > 0 {
 62 |                 DispatchQueue.global().asyncAfter(deadline: .now() +  timeout) {
 63 |                     self.connectTimeout()
    |                     `- warning: capture of 'self' with non-sendable type 'MQTTSessionStream' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 64 |                 }
 65 |             }
[16/23] Compiling SwiftMQTT MQTTConnAckPacket.swift
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:46:32: warning: capture of 'self' with non-sendable type 'MQTTSessionStream?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 15 | }
 16 |
 17 | class MQTTSessionStream: NSObject {
    |       `- note: class 'MQTTSessionStream' does not conform to the 'Sendable' protocol
 18 |
 19 |     private var currentRunLoop: RunLoop?
    :
 44 |         sessionQueue.async { [weak self] in
 45 |
 46 |             guard let `self` = self else {
    |                                `- warning: capture of 'self' with non-sendable type 'MQTTSessionStream?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 47 |                 return
 48 |             }
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:51:13: warning: capture of 'inputStream' with non-sendable type 'InputStream?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |
 50 |             self.currentRunLoop = RunLoop.current
 51 |             inputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
    |             `- warning: capture of 'inputStream' with non-sendable type 'InputStream?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |             outputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
 53 |
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:52:13: warning: capture of 'outputStream' with non-sendable type 'OutputStream?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |             self.currentRunLoop = RunLoop.current
 51 |             inputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
 52 |             outputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
    |             `- warning: capture of 'outputStream' with non-sendable type 'OutputStream?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 53 |
 54 |             inputStream?.open()
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:51:13: warning: reference to captured var 'inputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |
 50 |             self.currentRunLoop = RunLoop.current
 51 |             inputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
    |             `- warning: reference to captured var 'inputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |             outputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
 53 |
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:52:13: warning: reference to captured var 'outputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 50 |             self.currentRunLoop = RunLoop.current
 51 |             inputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
 52 |             outputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
    |             `- warning: reference to captured var 'outputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 53 |
 54 |             inputStream?.open()
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:54:13: warning: reference to captured var 'inputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |             outputStream?.schedule(in: self.currentRunLoop!, forMode: .defaultRunLoopMode)
 53 |
 54 |             inputStream?.open()
    |             `- warning: reference to captured var 'inputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 55 |             outputStream?.open()
 56 |             if ssl {
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:55:13: warning: reference to captured var 'outputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 53 |
 54 |             inputStream?.open()
 55 |             outputStream?.open()
    |             `- warning: reference to captured var 'outputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 56 |             if ssl {
 57 |                 let securityLevel = StreamSocketSecurityLevel.negotiatedSSL.rawValue
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:58:17: warning: reference to captured var 'inputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 56 |             if ssl {
 57 |                 let securityLevel = StreamSocketSecurityLevel.negotiatedSSL.rawValue
 58 |                 inputStream?.setProperty(securityLevel, forKey: .socketSecurityLevelKey)
    |                 `- warning: reference to captured var 'inputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 59 |                 outputStream?.setProperty(securityLevel, forKey: .socketSecurityLevelKey)
 60 |             }
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:59:17: warning: reference to captured var 'outputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 57 |                 let securityLevel = StreamSocketSecurityLevel.negotiatedSSL.rawValue
 58 |                 inputStream?.setProperty(securityLevel, forKey: .socketSecurityLevelKey)
 59 |                 outputStream?.setProperty(securityLevel, forKey: .socketSecurityLevelKey)
    |                 `- warning: reference to captured var 'outputStream' in concurrently-executing code; this is an error in the Swift 6 language mode
 60 |             }
 61 |             if timeout > 0 {
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSessionStream.swift:63:21: warning: capture of 'self' with non-sendable type 'MQTTSessionStream' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 15 | }
 16 |
 17 | class MQTTSessionStream: NSObject {
    |       `- note: class 'MQTTSessionStream' does not conform to the 'Sendable' protocol
 18 |
 19 |     private var currentRunLoop: RunLoop?
    :
 61 |             if timeout > 0 {
 62 |                 DispatchQueue.global().asyncAfter(deadline: .now() +  timeout) {
 63 |                     self.connectTimeout()
    |                     `- warning: capture of 'self' with non-sendable type 'MQTTSessionStream' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 64 |                 }
 65 |             }
[17/23] Compiling SwiftMQTT MQTTConnectPacket.swift
[18/23] Compiling SwiftMQTT MQTTDisconnectPacket.swift
[19/23] Emitting module SwiftMQTT
[20/23] Compiling SwiftMQTT MQTTExtensions.swift
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:125:13: warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 17 | public typealias MQTTSessionCompletionBlock = (_ error: MQTTSessionError) -> Void
 18 |
 19 | open class MQTTSession {
    |            `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 20 |
 21 |     let host: String
    :
123 |         keepAliveTimer?.cancel()
124 |         delegateQueue.async { [weak self] in
125 |             self?.delegate?.mqttDidDisconnect(session: self!, error: error)
    |             `- warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
126 |         }
127 |     }
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:146:20: warning: capture of 'connAckPacket' with non-sendable type 'MQTTConnAckPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
144 |         case let connAckPacket as MQTTConnAckPacket:
145 |             delegateQueue.async { [weak self] in
146 |                 if connAckPacket.response == .connectionAccepted {
    |                    `- warning: capture of 'connAckPacket' with non-sendable type 'MQTTConnAckPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
147 |                     self?.connectionCompletionBlock?(MQTTSessionError.none)
148 |                 } else {
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/Models/MQTTConnAckPacket.swift:11:7: note: class 'MQTTConnAckPacket' does not conform to the 'Sendable' protocol
 9 | import Foundation
10 |
11 | class MQTTConnAckPacket: MQTTPacket {
   |       `- note: class 'MQTTConnAckPacket' does not conform to the 'Sendable' protocol
12 |
13 |     let sessionPresent: Bool
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:147:21: warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 17 | public typealias MQTTSessionCompletionBlock = (_ error: MQTTSessionError) -> Void
 18 |
 19 | open class MQTTSession {
    |            `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 20 |
 21 |     let host: String
    :
145 |             delegateQueue.async { [weak self] in
146 |                 if connAckPacket.response == .connectionAccepted {
147 |                     self?.connectionCompletionBlock?(MQTTSessionError.none)
    |                     `- warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 |                 } else {
149 |                     self?.connectionCompletionBlock?(MQTTSessionError.connectionError(connAckPacket.response))
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:163:17: warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 17 | public typealias MQTTSessionCompletionBlock = (_ error: MQTTSessionError) -> Void
 18 |
 19 | open class MQTTSession {
    |            `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 20 |
 21 |     let host: String
    :
161 |             let message = MQTTMessage(publishPacket: publishPacket)
162 |             delegateQueue.async { [weak self] in
163 |                 self?.delegate?.mqttDidReceive(message: message, from: self!)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
164 |             }
165 |         case _ as MQTTPingResp:
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:163:57: warning: capture of 'message' with non-sendable type 'MQTTMessage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
161 |             let message = MQTTMessage(publishPacket: publishPacket)
162 |             delegateQueue.async { [weak self] in
163 |                 self?.delegate?.mqttDidReceive(message: message, from: self!)
    |                                                         `- warning: capture of 'message' with non-sendable type 'MQTTMessage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
164 |             }
165 |         case _ as MQTTPingResp:
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/Models/MQTTMessage.swift:11:15: note: consider making struct 'MQTTMessage' conform to the 'Sendable' protocol
 9 | import Foundation
10 |
11 | public struct MQTTMessage {
   |               `- note: consider making struct 'MQTTMessage' conform to the 'Sendable' protocol
12 |     public let topic: String
13 |     public let payload: Data
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:167:17: warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 17 | public typealias MQTTSessionCompletionBlock = (_ error: MQTTSessionError) -> Void
 18 |
 19 | open class MQTTSession {
    |            `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 20 |
 21 |     let host: String
    :
165 |         case _ as MQTTPingResp:
166 |             delegateQueue.async { [weak self] in
167 |                 self?.delegate?.mqttDidAcknowledgePing(from: self!)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
168 |             }
169 |         default:
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:181:35: warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 17 | public typealias MQTTSessionCompletionBlock = (_ error: MQTTSessionError) -> Void
 18 |
 19 | open class MQTTSession {
    |            `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 20 |
 21 |     let host: String
    :
179 |     private func callSuccessCompletionBlock(for messageId: UInt16) {
180 |         delegateQueue.async { [weak self] in
181 |             let completionBlock = self?.messagesCompletionBlocks.removeValue(forKey: messageId)
    |                                   `- warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
182 |             completionBlock?(MQTTSessionError.none)
183 |         }
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:212:21: warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 17 | public typealias MQTTSessionCompletionBlock = (_ error: MQTTSessionError) -> Void
 18 |
 19 | open class MQTTSession {
    |            `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 20 |
 21 |     let host: String
    :
210 |             if send(connectPacket) == false {
211 |                 delegateQueue.async { [weak self] in
212 |                     self?.connectionCompletionBlock?(MQTTSessionError.socketError)
    |                     `- warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
213 |                     self?.connectionCompletionBlock = nil
214 |                 }
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:227:17: warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 17 | public typealias MQTTSessionCompletionBlock = (_ error: MQTTSessionError) -> Void
 18 |
 19 | open class MQTTSession {
    |            `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 20 |
 21 |     let host: String
    :
225 |             cleanupDisconnection(.socketError)
226 |             delegateQueue.async { [weak self] in
227 |                 self?.connectionCompletionBlock?(MQTTSessionError.socketError)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
228 |             }
229 |         }
[21/23] Compiling SwiftMQTT MQTTSession.swift
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:125:13: warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 17 | public typealias MQTTSessionCompletionBlock = (_ error: MQTTSessionError) -> Void
 18 |
 19 | open class MQTTSession {
    |            `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 20 |
 21 |     let host: String
    :
123 |         keepAliveTimer?.cancel()
124 |         delegateQueue.async { [weak self] in
125 |             self?.delegate?.mqttDidDisconnect(session: self!, error: error)
    |             `- warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
126 |         }
127 |     }
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:146:20: warning: capture of 'connAckPacket' with non-sendable type 'MQTTConnAckPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
144 |         case let connAckPacket as MQTTConnAckPacket:
145 |             delegateQueue.async { [weak self] in
146 |                 if connAckPacket.response == .connectionAccepted {
    |                    `- warning: capture of 'connAckPacket' with non-sendable type 'MQTTConnAckPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
147 |                     self?.connectionCompletionBlock?(MQTTSessionError.none)
148 |                 } else {
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/Models/MQTTConnAckPacket.swift:11:7: note: class 'MQTTConnAckPacket' does not conform to the 'Sendable' protocol
 9 | import Foundation
10 |
11 | class MQTTConnAckPacket: MQTTPacket {
   |       `- note: class 'MQTTConnAckPacket' does not conform to the 'Sendable' protocol
12 |
13 |     let sessionPresent: Bool
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:147:21: warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 17 | public typealias MQTTSessionCompletionBlock = (_ error: MQTTSessionError) -> Void
 18 |
 19 | open class MQTTSession {
    |            `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 20 |
 21 |     let host: String
    :
145 |             delegateQueue.async { [weak self] in
146 |                 if connAckPacket.response == .connectionAccepted {
147 |                     self?.connectionCompletionBlock?(MQTTSessionError.none)
    |                     `- warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 |                 } else {
149 |                     self?.connectionCompletionBlock?(MQTTSessionError.connectionError(connAckPacket.response))
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:163:17: warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 17 | public typealias MQTTSessionCompletionBlock = (_ error: MQTTSessionError) -> Void
 18 |
 19 | open class MQTTSession {
    |            `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 20 |
 21 |     let host: String
    :
161 |             let message = MQTTMessage(publishPacket: publishPacket)
162 |             delegateQueue.async { [weak self] in
163 |                 self?.delegate?.mqttDidReceive(message: message, from: self!)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
164 |             }
165 |         case _ as MQTTPingResp:
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:163:57: warning: capture of 'message' with non-sendable type 'MQTTMessage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
161 |             let message = MQTTMessage(publishPacket: publishPacket)
162 |             delegateQueue.async { [weak self] in
163 |                 self?.delegate?.mqttDidReceive(message: message, from: self!)
    |                                                         `- warning: capture of 'message' with non-sendable type 'MQTTMessage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
164 |             }
165 |         case _ as MQTTPingResp:
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/Models/MQTTMessage.swift:11:15: note: consider making struct 'MQTTMessage' conform to the 'Sendable' protocol
 9 | import Foundation
10 |
11 | public struct MQTTMessage {
   |               `- note: consider making struct 'MQTTMessage' conform to the 'Sendable' protocol
12 |     public let topic: String
13 |     public let payload: Data
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:167:17: warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 17 | public typealias MQTTSessionCompletionBlock = (_ error: MQTTSessionError) -> Void
 18 |
 19 | open class MQTTSession {
    |            `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 20 |
 21 |     let host: String
    :
165 |         case _ as MQTTPingResp:
166 |             delegateQueue.async { [weak self] in
167 |                 self?.delegate?.mqttDidAcknowledgePing(from: self!)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
168 |             }
169 |         default:
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:181:35: warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 17 | public typealias MQTTSessionCompletionBlock = (_ error: MQTTSessionError) -> Void
 18 |
 19 | open class MQTTSession {
    |            `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 20 |
 21 |     let host: String
    :
179 |     private func callSuccessCompletionBlock(for messageId: UInt16) {
180 |         delegateQueue.async { [weak self] in
181 |             let completionBlock = self?.messagesCompletionBlocks.removeValue(forKey: messageId)
    |                                   `- warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
182 |             completionBlock?(MQTTSessionError.none)
183 |         }
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:212:21: warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 17 | public typealias MQTTSessionCompletionBlock = (_ error: MQTTSessionError) -> Void
 18 |
 19 | open class MQTTSession {
    |            `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 20 |
 21 |     let host: String
    :
210 |             if send(connectPacket) == false {
211 |                 delegateQueue.async { [weak self] in
212 |                     self?.connectionCompletionBlock?(MQTTSessionError.socketError)
    |                     `- warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
213 |                     self?.connectionCompletionBlock = nil
214 |                 }
/Users/admin/builder/spi-builder-workspace/SwiftMQTT/SwiftMQTT/MQTTSession.swift:227:17: warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 17 | public typealias MQTTSessionCompletionBlock = (_ error: MQTTSessionError) -> Void
 18 |
 19 | open class MQTTSession {
    |            `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 20 |
 21 |     let host: String
    :
225 |             cleanupDisconnection(.socketError)
226 |             delegateQueue.async { [weak self] in
227 |                 self?.connectionCompletionBlock?(MQTTSessionError.socketError)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
228 |             }
229 |         }
[22/23] Compiling SwiftMQTT MQTTUnSubAckPacket.swift
[23/23] Compiling SwiftMQTT MQTTUnsubPacket.swift
Build complete! (13.47s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftMQTT",
  "name" : "SwiftMQTT",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SwiftMQTT",
      "targets" : [
        "SwiftMQTT"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftMQTTTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftMQTTTests",
      "path" : "SwiftMQTT/SwiftMQTTTests",
      "sources" : [
        "SwiftMQTTTests.swift"
      ],
      "target_dependencies" : [
        "SwiftMQTT"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftMQTT",
      "module_type" : "SwiftTarget",
      "name" : "SwiftMQTT",
      "path" : "SwiftMQTT/SwiftMQTT",
      "product_memberships" : [
        "SwiftMQTT"
      ],
      "sources" : [
        "MQTTExtensions.swift",
        "MQTTSession.swift",
        "MQTTSessionStream.swift",
        "Models/MQTTConnAckPacket.swift",
        "Models/MQTTConnectPacket.swift",
        "Models/MQTTDisconnectPacket.swift",
        "Models/MQTTMessage.swift",
        "Models/MQTTPacket.swift",
        "Models/MQTTPacketFactory.swift",
        "Models/MQTTPacketFixedHeader.swift",
        "Models/MQTTPingPacket.swift",
        "Models/MQTTPingResp.swift",
        "Models/MQTTPubAck.swift",
        "Models/MQTTPubMsg.swift",
        "Models/MQTTPublishPacket.swift",
        "Models/MQTTStreamable.swift",
        "Models/MQTTSubAckPacket.swift",
        "Models/MQTTSubPacket.swift",
        "Models/MQTTUnSubAckPacket.swift",
        "Models/MQTTUnsubPacket.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Done.