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 iOSMcuManagerLibrary, reference 1.7.4 (306560), with Swift 6.0 for macOS (SPM) on 31 Oct 2024 18:25:17 UTC.

Swift 6 data race errors: 18

Build Command

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

Build Log

    |                 `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 66 |             }
 67 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 35 | // MARK: - McuMgrBleTransport
 36 |
 37 | public class McuMgrBleTransport: NSObject {
    |              `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
 38 |
 39 |     /// The CBPeripheral for this transport to communicate with.
    :
 97 |         didSet {
 98 |             DispatchQueue.main.async {
 99 |                 self.notifyPeripheralDelegate()
    |                 `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 |             }
101 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:172:24: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 35 | // MARK: - McuMgrBleTransport
 36 |
 37 | public class McuMgrBleTransport: NSObject {
    |              `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
 38 |
 39 |     /// The CBPeripheral for this transport to communicate with.
    :
170 |         operationQueue.addOperation {
171 |             for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
172 |                 switch self._send(data: data, timeoutInSeconds: timeout) {
    |                        `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 |                 case .failure(McuMgrTransportError.waitAndRetry):
174 |                     let waitInterval = min(timeout, McuMgrBleTransportConstant.WAIT_AND_RETRY_INTERVAL)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:184:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
182 |                     self.log(msg: error.localizedDescription, atLevel: .error)
183 |                     DispatchQueue.main.async {
184 |                         callback(nil, error)
    |                         |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
185 |                     }
186 |                     return
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:184:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
182 |                     self.log(msg: error.localizedDescription, atLevel: .error)
183 |                     DispatchQueue.main.async {
184 |                         callback(nil, error)
    |                         |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
185 |                     }
186 |                     return
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:191:29: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
189 |                         let response: T = try McuMgrResponse.buildResponse(scheme: .ble, data: responseData)
190 |                         DispatchQueue.main.async {
191 |                             callback(response, nil)
    |                             |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
192 |                         }
193 |                     } catch {
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:191:38: warning: capture of 'response' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
167 |     }
168 |
169 |     public func send<T: McuMgrResponse>(data: Data, timeout: Int, callback: @escaping McuMgrCallback<T>) {
    |                      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
170 |         operationQueue.addOperation {
171 |             for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
    :
189 |                         let response: T = try McuMgrResponse.buildResponse(scheme: .ble, data: responseData)
190 |                         DispatchQueue.main.async {
191 |                             callback(response, nil)
    |                                      `- warning: capture of 'response' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
192 |                         }
193 |                     } catch {
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:196:29: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
194 |                         self.log(msg: error.localizedDescription, atLevel: .error)
195 |                         DispatchQueue.main.async {
196 |                             callback(nil, error)
    |                             |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 |                         }
198 |                     }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:206:17: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
204 |             // If we made it here, all retries failed.
205 |             DispatchQueue.main.async {
206 |                 callback(nil, McuMgrTransportError.sendFailed)
    |                 |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
207 |             }
208 |         }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
   |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
   |                           |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'twoByteSpacing' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
44 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
 36 |         lockingQueue.async {
 37 |             // Either the Lock for a Sequence Number is Open, or there's no state for it.
 38 |             assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
    |                    `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 39 |             self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
 40 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:39:86: warning: capture of 'lock' with non-sendable type 'ResultLock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 37 |             // Either the Lock for a Sequence Number is Open, or there's no state for it.
 38 |             assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
 39 |             self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
    |                                                                                      `- warning: capture of 'lock' with non-sendable type 'ResultLock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 40 |         }
 41 |     }
/Users/admin/builder/spi-builder-workspace/Source/Utils/ResultLock.swift:11:14: note: class 'ResultLock' does not conform to the 'Sendable' protocol
 9 | public typealias ResultLockKey = String
10 |
11 | public class ResultLock {
   |              `- note: class 'ResultLock' does not conform to the 'Sendable' protocol
12 |
13 |     private var semaphore: DispatchSemaphore
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: implicit capture of 'self' requires that 'McuMgrBleTransportWriteState' conforms to `Sendable`; this is an error in the Swift 6 language mode
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
 36 |         lockingQueue.async {
 37 |             // Either the Lock for a Sequence Number is Open, or there's no state for it.
 38 |             assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
    |                    `- warning: implicit capture of 'self' requires that 'McuMgrBleTransportWriteState' conforms to `Sendable`; this is an error in the Swift 6 language mode
 39 |             self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
 40 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:44:30: warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 42 |
 43 |     func sharedLock(_ writeClosure: @escaping () -> Void) {
 44 |         lockingQueue.async { writeClosure() }
    |                              |- warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 45 |     }
 46 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:49:16: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
 47 |     func received(sequenceNumber: McuSequenceNumber, data: Data) {
 48 |         lockingQueue.async {
 49 |             if self.state[sequenceNumber]?.chunk == nil {
    |                `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 // If we do not have any current response data, this is the initial
 51 |                 // packet in a potentially fragmented response. Get the expected
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:89:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
 87 |     func completedWrite(sequenceNumber: McuSequenceNumber) {
 88 |         lockingQueue.async {
 89 |             self.state[sequenceNumber] = nil
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |         }
 91 |     }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:95:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
 93 |     func onError(_ error: Error) {
 94 |         lockingQueue.async {
 95 |             self.state.forEach { _, value in
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 96 |                 value.writeLock.open(error)
 97 |             }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:103:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
101 |     func onWriteError(sequenceNumber: McuSequenceNumber, error: Error) {
102 |         lockingQueue.async {
103 |             self.state[sequenceNumber]?.writeLock.open(error)
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
104 |         }
105 |     }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:65:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 63 |         didSet {
 64 |             DispatchQueue.main.async {
 65 |                 self.notifyPeripheralDelegate()
    |                 |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 66 |             }
 67 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 97 |         didSet {
 98 |             DispatchQueue.main.async {
 99 |                 self.notifyPeripheralDelegate()
    |                 |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 |             }
101 |         }
[60/81] Compiling iOSMcuManagerLibrary McuMgrBleTransportWriteState.swift
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:448:23: warning: static property 'SMP_SERVICE' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
446 | public enum McuMgrBleTransportConstant {
447 |
448 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
    |                       `- warning: static property 'SMP_SERVICE' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
449 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
450 |
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBUUID : NSObject, NSCopying {
   |            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 3 |     open var data: Data { get }
 4 |     @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
  6 |
  7 | import Foundation
  8 | import CoreBluetooth
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
  9 |
 10 | // MARK: - PeripheralState
    :
446 | public enum McuMgrBleTransportConstant {
447 |
448 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
    |                       |- note: annotate 'SMP_SERVICE' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
449 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
450 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:449:23: warning: static property 'SMP_CHARACTERISTIC' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
447 |
448 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
449 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
    |                       |- warning: static property 'SMP_CHARACTERISTIC' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'SMP_CHARACTERISTIC' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
450 |
451 |     /// Max number of retries until the transaction is failed.
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBUUID : NSObject, NSCopying {
   |            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 3 |     open var data: Data { get }
 4 |     @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:65:17: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 35 | // MARK: - McuMgrBleTransport
 36 |
 37 | public class McuMgrBleTransport: NSObject {
    |              `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
 38 |
 39 |     /// The CBPeripheral for this transport to communicate with.
    :
 63 |         didSet {
 64 |             DispatchQueue.main.async {
 65 |                 self.notifyPeripheralDelegate()
    |                 `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 66 |             }
 67 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 35 | // MARK: - McuMgrBleTransport
 36 |
 37 | public class McuMgrBleTransport: NSObject {
    |              `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
 38 |
 39 |     /// The CBPeripheral for this transport to communicate with.
    :
 97 |         didSet {
 98 |             DispatchQueue.main.async {
 99 |                 self.notifyPeripheralDelegate()
    |                 `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 |             }
101 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:172:24: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 35 | // MARK: - McuMgrBleTransport
 36 |
 37 | public class McuMgrBleTransport: NSObject {
    |              `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
 38 |
 39 |     /// The CBPeripheral for this transport to communicate with.
    :
170 |         operationQueue.addOperation {
171 |             for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
172 |                 switch self._send(data: data, timeoutInSeconds: timeout) {
    |                        `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 |                 case .failure(McuMgrTransportError.waitAndRetry):
174 |                     let waitInterval = min(timeout, McuMgrBleTransportConstant.WAIT_AND_RETRY_INTERVAL)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:184:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
182 |                     self.log(msg: error.localizedDescription, atLevel: .error)
183 |                     DispatchQueue.main.async {
184 |                         callback(nil, error)
    |                         |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
185 |                     }
186 |                     return
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:184:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
182 |                     self.log(msg: error.localizedDescription, atLevel: .error)
183 |                     DispatchQueue.main.async {
184 |                         callback(nil, error)
    |                         |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
185 |                     }
186 |                     return
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:191:29: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
189 |                         let response: T = try McuMgrResponse.buildResponse(scheme: .ble, data: responseData)
190 |                         DispatchQueue.main.async {
191 |                             callback(response, nil)
    |                             |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
192 |                         }
193 |                     } catch {
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:191:38: warning: capture of 'response' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
167 |     }
168 |
169 |     public func send<T: McuMgrResponse>(data: Data, timeout: Int, callback: @escaping McuMgrCallback<T>) {
    |                      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
170 |         operationQueue.addOperation {
171 |             for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
    :
189 |                         let response: T = try McuMgrResponse.buildResponse(scheme: .ble, data: responseData)
190 |                         DispatchQueue.main.async {
191 |                             callback(response, nil)
    |                                      `- warning: capture of 'response' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
192 |                         }
193 |                     } catch {
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:196:29: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
194 |                         self.log(msg: error.localizedDescription, atLevel: .error)
195 |                         DispatchQueue.main.async {
196 |                             callback(nil, error)
    |                             |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 |                         }
198 |                     }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:206:17: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
204 |             // If we made it here, all retries failed.
205 |             DispatchQueue.main.async {
206 |                 callback(nil, McuMgrTransportError.sendFailed)
    |                 |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
207 |             }
208 |         }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
   |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
   |                           |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'twoByteSpacing' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
44 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
 36 |         lockingQueue.async {
 37 |             // Either the Lock for a Sequence Number is Open, or there's no state for it.
 38 |             assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
    |                    `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 39 |             self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
 40 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:39:86: warning: capture of 'lock' with non-sendable type 'ResultLock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 37 |             // Either the Lock for a Sequence Number is Open, or there's no state for it.
 38 |             assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
 39 |             self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
    |                                                                                      `- warning: capture of 'lock' with non-sendable type 'ResultLock' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 40 |         }
 41 |     }
/Users/admin/builder/spi-builder-workspace/Source/Utils/ResultLock.swift:11:14: note: class 'ResultLock' does not conform to the 'Sendable' protocol
 9 | public typealias ResultLockKey = String
10 |
11 | public class ResultLock {
   |              `- note: class 'ResultLock' does not conform to the 'Sendable' protocol
12 |
13 |     private var semaphore: DispatchSemaphore
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: implicit capture of 'self' requires that 'McuMgrBleTransportWriteState' conforms to `Sendable`; this is an error in the Swift 6 language mode
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
 36 |         lockingQueue.async {
 37 |             // Either the Lock for a Sequence Number is Open, or there's no state for it.
 38 |             assert(self.state[sequenceNumber]?.writeLock.isOpen ?? true)
    |                    `- warning: implicit capture of 'self' requires that 'McuMgrBleTransportWriteState' conforms to `Sendable`; this is an error in the Swift 6 language mode
 39 |             self.state[sequenceNumber] = (sequenceNumber: sequenceNumber, writeLock: lock, nil, nil)
 40 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:44:30: warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 42 |
 43 |     func sharedLock(_ writeClosure: @escaping () -> Void) {
 44 |         lockingQueue.async { writeClosure() }
    |                              |- warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 45 |     }
 46 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:49:16: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
 47 |     func received(sequenceNumber: McuSequenceNumber, data: Data) {
 48 |         lockingQueue.async {
 49 |             if self.state[sequenceNumber]?.chunk == nil {
    |                `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 // If we do not have any current response data, this is the initial
 51 |                 // packet in a potentially fragmented response. Get the expected
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:89:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
 87 |     func completedWrite(sequenceNumber: McuSequenceNumber) {
 88 |         lockingQueue.async {
 89 |             self.state[sequenceNumber] = nil
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |         }
 91 |     }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:95:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
 93 |     func onError(_ error: Error) {
 94 |         lockingQueue.async {
 95 |             self.state.forEach { _, value in
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 96 |                 value.writeLock.open(error)
 97 |             }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:103:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
101 |     func onWriteError(sequenceNumber: McuSequenceNumber, error: Error) {
102 |         lockingQueue.async {
103 |             self.state[sequenceNumber]?.writeLock.open(error)
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
104 |         }
105 |     }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:65:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 63 |         didSet {
 64 |             DispatchQueue.main.async {
 65 |                 self.notifyPeripheralDelegate()
    |                 |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 66 |             }
 67 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 97 |         didSet {
 98 |             DispatchQueue.main.async {
 99 |                 self.notifyPeripheralDelegate()
    |                 |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 |             }
101 |         }
[61/81] Compiling iOSMcuManagerLibrary SuitManager.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:319:21: warning: capture of 'self' with non-sendable type 'SuitManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 11 | // MARK: - SuitManager
 12 |
 13 | public class SuitManager: McuManager {
    |              `- note: class 'SuitManager' does not conform to the 'Sendable' protocol
 14 |
 15 |     // MARK: Constants
    :
317 |                 let waitTime: DispatchTimeInterval = .milliseconds(Self.POLLING_INTERVAL_MS)
318 |                 DispatchQueue.main.asyncAfter(deadline: .now() + waitTime) { [unowned self] in
319 |                     self.pollAttempts += 1
    |                     `- warning: capture of 'self' with non-sendable type 'SuitManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
320 |                     self.poll(callback: self.pollingCallback)
321 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:413:10: warning: associated value 'suitDelegateRequiredForResource' of 'Sendable'-conforming enum 'SuitManagerError' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
411 |
412 | public enum SuitManagerError: Error, LocalizedError {
413 |     case suitDelegateRequiredForResource(_ resource: FirmwareUpgradeResource)
    |          `- warning: associated value 'suitDelegateRequiredForResource' of 'Sendable'-conforming enum 'SuitManagerError' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
414 |     case listRoleResponseMismatch(roleCount: Int, responseCount: Int)
415 |
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeController.swift:38:13: note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
36 | // MARK: FirmwareUpgradeResource
37 |
38 | public enum FirmwareUpgradeResource: CustomStringConvertible {
   |             `- note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
39 |     case file(name: String)
40 |
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:374:10: warning: associated value 'groupCode' of 'Sendable'-conforming enum 'McuMgrError' has non-sendable type 'McuMgrGroupReturnCode'; this is an error in the Swift 6 language mode
372 | public enum McuMgrError: Error, LocalizedError {
373 |     case returnCode(_ rc: McuMgrReturnCode)
374 |     case groupCode(_ group: McuMgrGroupReturnCode)
    |          `- warning: associated value 'groupCode' of 'Sendable'-conforming enum 'McuMgrError' has non-sendable type 'McuMgrGroupReturnCode'; this is an error in the Swift 6 language mode
375 |
376 |     public var errorDescription: String? {
    :
386 | // MARK: - McuMgrGroupReturnCode
387 |
388 | public class McuMgrGroupReturnCode: CBORMappable {
    |              `- note: class 'McuMgrGroupReturnCode' does not conform to the 'Sendable' protocol
389 |
390 |     public var group: UInt64 = 0
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:132:21: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |             } catch let robBufferError {
131 |                 DispatchQueue.main.async {
132 |                     callback(response, robBufferError)
    |                     |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
133 |                 }
134 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:132:30: warning: capture of 'response' with non-sendable type 'T?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 96 |     }
 97 |
 98 |     public func send<T: McuMgrResponse, R: RawRepresentable>(op: McuMgrOperation, flags: UInt8,
    |                      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 99 |                                                              commandId: R, payload: [String:CBOR]?,
100 |                                                              timeout: Int = DEFAULT_SEND_TIMEOUT_SECONDS,
    :
130 |             } catch let robBufferError {
131 |                 DispatchQueue.main.async {
132 |                     callback(response, robBufferError)
    |                              `- warning: capture of 'response' with non-sendable type 'T?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |                 }
134 |             }
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:319:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
317 |                 let waitTime: DispatchTimeInterval = .milliseconds(Self.POLLING_INTERVAL_MS)
318 |                 DispatchQueue.main.asyncAfter(deadline: .now() + waitTime) { [unowned self] in
319 |                     self.pollAttempts += 1
    |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
320 |                     self.poll(callback: self.pollingCallback)
321 |                 }
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:132:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
130 |             } catch let robBufferError {
131 |                 DispatchQueue.main.async {
132 |                     callback(response, robBufferError)
    |                     |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'callback' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
133 |                 }
134 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:132:30: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
130 |             } catch let robBufferError {
131 |                 DispatchQueue.main.async {
132 |                     callback(response, robBufferError)
    |                              |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'response' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
133 |                 }
134 |             }
[62/81] Compiling iOSMcuManagerLibrary McuManager.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:319:21: warning: capture of 'self' with non-sendable type 'SuitManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 11 | // MARK: - SuitManager
 12 |
 13 | public class SuitManager: McuManager {
    |              `- note: class 'SuitManager' does not conform to the 'Sendable' protocol
 14 |
 15 |     // MARK: Constants
    :
317 |                 let waitTime: DispatchTimeInterval = .milliseconds(Self.POLLING_INTERVAL_MS)
318 |                 DispatchQueue.main.asyncAfter(deadline: .now() + waitTime) { [unowned self] in
319 |                     self.pollAttempts += 1
    |                     `- warning: capture of 'self' with non-sendable type 'SuitManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
320 |                     self.poll(callback: self.pollingCallback)
321 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:413:10: warning: associated value 'suitDelegateRequiredForResource' of 'Sendable'-conforming enum 'SuitManagerError' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
411 |
412 | public enum SuitManagerError: Error, LocalizedError {
413 |     case suitDelegateRequiredForResource(_ resource: FirmwareUpgradeResource)
    |          `- warning: associated value 'suitDelegateRequiredForResource' of 'Sendable'-conforming enum 'SuitManagerError' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
414 |     case listRoleResponseMismatch(roleCount: Int, responseCount: Int)
415 |
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeController.swift:38:13: note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
36 | // MARK: FirmwareUpgradeResource
37 |
38 | public enum FirmwareUpgradeResource: CustomStringConvertible {
   |             `- note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
39 |     case file(name: String)
40 |
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:374:10: warning: associated value 'groupCode' of 'Sendable'-conforming enum 'McuMgrError' has non-sendable type 'McuMgrGroupReturnCode'; this is an error in the Swift 6 language mode
372 | public enum McuMgrError: Error, LocalizedError {
373 |     case returnCode(_ rc: McuMgrReturnCode)
374 |     case groupCode(_ group: McuMgrGroupReturnCode)
    |          `- warning: associated value 'groupCode' of 'Sendable'-conforming enum 'McuMgrError' has non-sendable type 'McuMgrGroupReturnCode'; this is an error in the Swift 6 language mode
375 |
376 |     public var errorDescription: String? {
    :
386 | // MARK: - McuMgrGroupReturnCode
387 |
388 | public class McuMgrGroupReturnCode: CBORMappable {
    |              `- note: class 'McuMgrGroupReturnCode' does not conform to the 'Sendable' protocol
389 |
390 |     public var group: UInt64 = 0
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:132:21: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |             } catch let robBufferError {
131 |                 DispatchQueue.main.async {
132 |                     callback(response, robBufferError)
    |                     |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
133 |                 }
134 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:132:30: warning: capture of 'response' with non-sendable type 'T?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 96 |     }
 97 |
 98 |     public func send<T: McuMgrResponse, R: RawRepresentable>(op: McuMgrOperation, flags: UInt8,
    |                      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 99 |                                                              commandId: R, payload: [String:CBOR]?,
100 |                                                              timeout: Int = DEFAULT_SEND_TIMEOUT_SECONDS,
    :
130 |             } catch let robBufferError {
131 |                 DispatchQueue.main.async {
132 |                     callback(response, robBufferError)
    |                              `- warning: capture of 'response' with non-sendable type 'T?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |                 }
134 |             }
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:319:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
317 |                 let waitTime: DispatchTimeInterval = .milliseconds(Self.POLLING_INTERVAL_MS)
318 |                 DispatchQueue.main.asyncAfter(deadline: .now() + waitTime) { [unowned self] in
319 |                     self.pollAttempts += 1
    |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
320 |                     self.poll(callback: self.pollingCallback)
321 |                 }
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:132:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
130 |             } catch let robBufferError {
131 |                 DispatchQueue.main.async {
132 |                     callback(response, robBufferError)
    |                     |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'callback' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
133 |                 }
134 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:132:30: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
130 |             } catch let robBufferError {
131 |                 DispatchQueue.main.async {
132 |                     callback(response, robBufferError)
    |                              |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'response' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
133 |                 }
134 |             }
[63/81] Compiling iOSMcuManagerLibrary McuMgrHeader.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:319:21: warning: capture of 'self' with non-sendable type 'SuitManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 11 | // MARK: - SuitManager
 12 |
 13 | public class SuitManager: McuManager {
    |              `- note: class 'SuitManager' does not conform to the 'Sendable' protocol
 14 |
 15 |     // MARK: Constants
    :
317 |                 let waitTime: DispatchTimeInterval = .milliseconds(Self.POLLING_INTERVAL_MS)
318 |                 DispatchQueue.main.asyncAfter(deadline: .now() + waitTime) { [unowned self] in
319 |                     self.pollAttempts += 1
    |                     `- warning: capture of 'self' with non-sendable type 'SuitManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
320 |                     self.poll(callback: self.pollingCallback)
321 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:413:10: warning: associated value 'suitDelegateRequiredForResource' of 'Sendable'-conforming enum 'SuitManagerError' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
411 |
412 | public enum SuitManagerError: Error, LocalizedError {
413 |     case suitDelegateRequiredForResource(_ resource: FirmwareUpgradeResource)
    |          `- warning: associated value 'suitDelegateRequiredForResource' of 'Sendable'-conforming enum 'SuitManagerError' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
414 |     case listRoleResponseMismatch(roleCount: Int, responseCount: Int)
415 |
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeController.swift:38:13: note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
36 | // MARK: FirmwareUpgradeResource
37 |
38 | public enum FirmwareUpgradeResource: CustomStringConvertible {
   |             `- note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
39 |     case file(name: String)
40 |
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:374:10: warning: associated value 'groupCode' of 'Sendable'-conforming enum 'McuMgrError' has non-sendable type 'McuMgrGroupReturnCode'; this is an error in the Swift 6 language mode
372 | public enum McuMgrError: Error, LocalizedError {
373 |     case returnCode(_ rc: McuMgrReturnCode)
374 |     case groupCode(_ group: McuMgrGroupReturnCode)
    |          `- warning: associated value 'groupCode' of 'Sendable'-conforming enum 'McuMgrError' has non-sendable type 'McuMgrGroupReturnCode'; this is an error in the Swift 6 language mode
375 |
376 |     public var errorDescription: String? {
    :
386 | // MARK: - McuMgrGroupReturnCode
387 |
388 | public class McuMgrGroupReturnCode: CBORMappable {
    |              `- note: class 'McuMgrGroupReturnCode' does not conform to the 'Sendable' protocol
389 |
390 |     public var group: UInt64 = 0
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:132:21: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |             } catch let robBufferError {
131 |                 DispatchQueue.main.async {
132 |                     callback(response, robBufferError)
    |                     |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
133 |                 }
134 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:132:30: warning: capture of 'response' with non-sendable type 'T?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 96 |     }
 97 |
 98 |     public func send<T: McuMgrResponse, R: RawRepresentable>(op: McuMgrOperation, flags: UInt8,
    |                      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 99 |                                                              commandId: R, payload: [String:CBOR]?,
100 |                                                              timeout: Int = DEFAULT_SEND_TIMEOUT_SECONDS,
    :
130 |             } catch let robBufferError {
131 |                 DispatchQueue.main.async {
132 |                     callback(response, robBufferError)
    |                              `- warning: capture of 'response' with non-sendable type 'T?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |                 }
134 |             }
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:319:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
317 |                 let waitTime: DispatchTimeInterval = .milliseconds(Self.POLLING_INTERVAL_MS)
318 |                 DispatchQueue.main.asyncAfter(deadline: .now() + waitTime) { [unowned self] in
319 |                     self.pollAttempts += 1
    |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
320 |                     self.poll(callback: self.pollingCallback)
321 |                 }
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:132:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
130 |             } catch let robBufferError {
131 |                 DispatchQueue.main.async {
132 |                     callback(response, robBufferError)
    |                     |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'callback' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
133 |                 }
134 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:132:30: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
130 |             } catch let robBufferError {
131 |                 DispatchQueue.main.async {
132 |                     callback(response, robBufferError)
    |                              |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'response' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
133 |                 }
134 |             }
[64/81] Compiling iOSMcuManagerLibrary FileSystemManager.swift
[65/81] Compiling iOSMcuManagerLibrary ImageManager.swift
[66/81] Compiling iOSMcuManagerLibrary LogManager.swift
[67/81] Compiling iOSMcuManagerLibrary RunTestManager.swift
[68/81] Compiling iOSMcuManagerLibrary CrashManager.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1151:10: warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1149 | public enum FirmwareUpgradeError: Error, LocalizedError {
1150 |     case unknown(String)
1151 |     case invalidResponse(McuMgrResponse)
     |          `- warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1152 |     case connectionFailedAfterReset
1153 |     case untestedImageFound(image: Int, slot: Int)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrResponse.swift:10:12: note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
   8 | import SwiftCBOR
   9 |
  10 | open class McuMgrResponse: CBORMappable {
     |            `- note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
  11 |
  12 |     //**************************************************************************
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:17: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                 `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:61: warning: capture of 'previousState' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                             `- warning: capture of 'previousState' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 195 |             }
 196 |         }
     :
1171 | //******************************************************************************
1172 |
1173 | public enum FirmwareUpgradeState {
     |             `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1174 |     case none
1175 |     case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:80: warning: capture of 'state' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                                                `- warning: capture of 'state' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 195 |             }
 196 |         }
     :
1171 | //******************************************************************************
1172 |
1173 | public enum FirmwareUpgradeState {
     |             `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1174 |     case none
1175 |     case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:242:21: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 240 |                 // Allow Library Apps to show 100% Progress in this case.
 241 |                 DispatchQueue.main.async { [weak self] in
 242 |                     self?.delegate?.uploadProgressDidChange(bytesSent: 100, imageSize: 100,
     |                     `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 243 |                                                             timestamp: Date())
 244 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
   |                           |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'prepend0x' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
   |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:321:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 319 |         paused = false
 320 |         DispatchQueue.main.async { [weak self] in
 321 |             self?.delegate?.upgradeDidComplete()
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 322 |             // Release cyclic reference.
 323 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:53: warning: capture of 'tmp' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |                                                     `- warning: capture of 'tmp' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
     :
1171 | //******************************************************************************
1172 |
1173 | public enum FirmwareUpgradeState {
     |             `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1174 |     case none
1175 |     case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:929:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 927 |         self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
 928 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
 929 |             self?.log(msg: "Reconnecting...", atLevel: .info)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 930 |             self?.reconnect()
 931 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1061:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
1059 |
1060 |         DispatchQueue.main.async { [weak self] in
1061 |             self?.delegate?.uploadProgressDidChange(bytesSent: bytesSent, imageSize: imageSize, timestamp: timestamp)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1062 |         }
1063 |     }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1072:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
1070 |     public func uploadDidCancel() {
1071 |         DispatchQueue.main.async { [weak self] in
1072 |             self?.delegate?.upgradeDidCancel(state: .none)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1073 |         }
1074 |         state = .none
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                 |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |                 `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                             |- warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
     |                                                             `- note: task-isolated 'previousState' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                                                |- warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
     |                                                                                `- note: task-isolated 'state' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:321:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 319 |         paused = false
 320 |         DispatchQueue.main.async { [weak self] in
 321 |             self?.delegate?.upgradeDidComplete()
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 322 |             // Release cyclic reference.
 323 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:242:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 240 |                 // Allow Library Apps to show 100% Progress in this case.
 241 |                 DispatchQueue.main.async { [weak self] in
 242 |                     self?.delegate?.uploadProgressDidChange(bytesSent: 100, imageSize: 100,
     |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |                     `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 243 |                                                             timestamp: Date())
 244 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |                                                     |- warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
     |                                                     `- note: task-isolated 'tmp' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:929:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 927 |         self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
 928 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
 929 |             self?.log(msg: "Reconnecting...", atLevel: .info)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 930 |             self?.reconnect()
 931 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1061:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1059 |
1060 |         DispatchQueue.main.async { [weak self] in
1061 |             self?.delegate?.uploadProgressDidChange(bytesSent: bytesSent, imageSize: imageSize, timestamp: timestamp)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1062 |         }
1063 |     }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1072:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1070 |     public func uploadDidCancel() {
1071 |         DispatchQueue.main.async { [weak self] in
1072 |             self?.delegate?.upgradeDidCancel(state: .none)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1073 |         }
1074 |         state = .none
[69/81] Compiling iOSMcuManagerLibrary FirmwareUpgradeController.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1151:10: warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1149 | public enum FirmwareUpgradeError: Error, LocalizedError {
1150 |     case unknown(String)
1151 |     case invalidResponse(McuMgrResponse)
     |          `- warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1152 |     case connectionFailedAfterReset
1153 |     case untestedImageFound(image: Int, slot: Int)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrResponse.swift:10:12: note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
   8 | import SwiftCBOR
   9 |
  10 | open class McuMgrResponse: CBORMappable {
     |            `- note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
  11 |
  12 |     //**************************************************************************
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:17: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                 `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:61: warning: capture of 'previousState' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                             `- warning: capture of 'previousState' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 195 |             }
 196 |         }
     :
1171 | //******************************************************************************
1172 |
1173 | public enum FirmwareUpgradeState {
     |             `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1174 |     case none
1175 |     case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:80: warning: capture of 'state' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                                                `- warning: capture of 'state' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 195 |             }
 196 |         }
     :
1171 | //******************************************************************************
1172 |
1173 | public enum FirmwareUpgradeState {
     |             `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1174 |     case none
1175 |     case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:242:21: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 240 |                 // Allow Library Apps to show 100% Progress in this case.
 241 |                 DispatchQueue.main.async { [weak self] in
 242 |                     self?.delegate?.uploadProgressDidChange(bytesSent: 100, imageSize: 100,
     |                     `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 243 |                                                             timestamp: Date())
 244 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
   |                           |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'prepend0x' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
   |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:321:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 319 |         paused = false
 320 |         DispatchQueue.main.async { [weak self] in
 321 |             self?.delegate?.upgradeDidComplete()
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 322 |             // Release cyclic reference.
 323 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:53: warning: capture of 'tmp' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |                                                     `- warning: capture of 'tmp' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
     :
1171 | //******************************************************************************
1172 |
1173 | public enum FirmwareUpgradeState {
     |             `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1174 |     case none
1175 |     case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:929:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 927 |         self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
 928 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
 929 |             self?.log(msg: "Reconnecting...", atLevel: .info)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 930 |             self?.reconnect()
 931 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1061:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
1059 |
1060 |         DispatchQueue.main.async { [weak self] in
1061 |             self?.delegate?.uploadProgressDidChange(bytesSent: bytesSent, imageSize: imageSize, timestamp: timestamp)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1062 |         }
1063 |     }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1072:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
1070 |     public func uploadDidCancel() {
1071 |         DispatchQueue.main.async { [weak self] in
1072 |             self?.delegate?.upgradeDidCancel(state: .none)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1073 |         }
1074 |         state = .none
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                 |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |                 `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                             |- warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
     |                                                             `- note: task-isolated 'previousState' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                                                |- warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
     |                                                                                `- note: task-isolated 'state' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:321:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 319 |         paused = false
 320 |         DispatchQueue.main.async { [weak self] in
 321 |             self?.delegate?.upgradeDidComplete()
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 322 |             // Release cyclic reference.
 323 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:242:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 240 |                 // Allow Library Apps to show 100% Progress in this case.
 241 |                 DispatchQueue.main.async { [weak self] in
 242 |                     self?.delegate?.uploadProgressDidChange(bytesSent: 100, imageSize: 100,
     |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |                     `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 243 |                                                             timestamp: Date())
 244 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |                                                     |- warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
     |                                                     `- note: task-isolated 'tmp' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:929:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 927 |         self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
 928 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
 929 |             self?.log(msg: "Reconnecting...", atLevel: .info)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 930 |             self?.reconnect()
 931 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1061:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1059 |
1060 |         DispatchQueue.main.async { [weak self] in
1061 |             self?.delegate?.uploadProgressDidChange(bytesSent: bytesSent, imageSize: imageSize, timestamp: timestamp)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1062 |         }
1063 |     }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1072:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1070 |     public func uploadDidCancel() {
1071 |         DispatchQueue.main.async { [weak self] in
1072 |             self?.delegate?.upgradeDidCancel(state: .none)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1073 |         }
1074 |         state = .none
[70/81] Compiling iOSMcuManagerLibrary FirmwareUpgradeManager.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1151:10: warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1149 | public enum FirmwareUpgradeError: Error, LocalizedError {
1150 |     case unknown(String)
1151 |     case invalidResponse(McuMgrResponse)
     |          `- warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1152 |     case connectionFailedAfterReset
1153 |     case untestedImageFound(image: Int, slot: Int)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrResponse.swift:10:12: note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
   8 | import SwiftCBOR
   9 |
  10 | open class McuMgrResponse: CBORMappable {
     |            `- note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
  11 |
  12 |     //**************************************************************************
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:17: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                 `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:61: warning: capture of 'previousState' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                             `- warning: capture of 'previousState' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 195 |             }
 196 |         }
     :
1171 | //******************************************************************************
1172 |
1173 | public enum FirmwareUpgradeState {
     |             `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1174 |     case none
1175 |     case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:80: warning: capture of 'state' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                                                `- warning: capture of 'state' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 195 |             }
 196 |         }
     :
1171 | //******************************************************************************
1172 |
1173 | public enum FirmwareUpgradeState {
     |             `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1174 |     case none
1175 |     case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:242:21: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 240 |                 // Allow Library Apps to show 100% Progress in this case.
 241 |                 DispatchQueue.main.async { [weak self] in
 242 |                     self?.delegate?.uploadProgressDidChange(bytesSent: 100, imageSize: 100,
     |                     `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 243 |                                                             timestamp: Date())
 244 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
   |                           |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'prepend0x' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
   |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:321:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 319 |         paused = false
 320 |         DispatchQueue.main.async { [weak self] in
 321 |             self?.delegate?.upgradeDidComplete()
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 322 |             // Release cyclic reference.
 323 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:53: warning: capture of 'tmp' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |                                                     `- warning: capture of 'tmp' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
     :
1171 | //******************************************************************************
1172 |
1173 | public enum FirmwareUpgradeState {
     |             `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1174 |     case none
1175 |     case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:929:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 927 |         self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
 928 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
 929 |             self?.log(msg: "Reconnecting...", atLevel: .info)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 930 |             self?.reconnect()
 931 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1061:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
1059 |
1060 |         DispatchQueue.main.async { [weak self] in
1061 |             self?.delegate?.uploadProgressDidChange(bytesSent: bytesSent, imageSize: imageSize, timestamp: timestamp)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1062 |         }
1063 |     }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1072:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
1070 |     public func uploadDidCancel() {
1071 |         DispatchQueue.main.async { [weak self] in
1072 |             self?.delegate?.upgradeDidCancel(state: .none)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1073 |         }
1074 |         state = .none
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                 |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |                 `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                             |- warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
     |                                                             `- note: task-isolated 'previousState' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                                                |- warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
     |                                                                                `- note: task-isolated 'state' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:321:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 319 |         paused = false
 320 |         DispatchQueue.main.async { [weak self] in
 321 |             self?.delegate?.upgradeDidComplete()
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 322 |             // Release cyclic reference.
 323 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:242:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 240 |                 // Allow Library Apps to show 100% Progress in this case.
 241 |                 DispatchQueue.main.async { [weak self] in
 242 |                     self?.delegate?.uploadProgressDidChange(bytesSent: 100, imageSize: 100,
     |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |                     `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 243 |                                                             timestamp: Date())
 244 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |                                                     |- warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
     |                                                     `- note: task-isolated 'tmp' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:929:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 927 |         self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
 928 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
 929 |             self?.log(msg: "Reconnecting...", atLevel: .info)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 930 |             self?.reconnect()
 931 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1061:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1059 |
1060 |         DispatchQueue.main.async { [weak self] in
1061 |             self?.delegate?.uploadProgressDidChange(bytesSent: bytesSent, imageSize: imageSize, timestamp: timestamp)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1062 |         }
1063 |     }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1072:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1070 |     public func uploadDidCancel() {
1071 |         DispatchQueue.main.async { [weak self] in
1072 |             self?.delegate?.upgradeDidCancel(state: .none)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1073 |         }
1074 |         state = .none
[71/81] Compiling iOSMcuManagerLibrary DefaultManager.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1151:10: warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1149 | public enum FirmwareUpgradeError: Error, LocalizedError {
1150 |     case unknown(String)
1151 |     case invalidResponse(McuMgrResponse)
     |          `- warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1152 |     case connectionFailedAfterReset
1153 |     case untestedImageFound(image: Int, slot: Int)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrResponse.swift:10:12: note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
   8 | import SwiftCBOR
   9 |
  10 | open class McuMgrResponse: CBORMappable {
     |            `- note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
  11 |
  12 |     //**************************************************************************
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:17: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                 `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:61: warning: capture of 'previousState' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                             `- warning: capture of 'previousState' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 195 |             }
 196 |         }
     :
1171 | //******************************************************************************
1172 |
1173 | public enum FirmwareUpgradeState {
     |             `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1174 |     case none
1175 |     case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:80: warning: capture of 'state' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                                                `- warning: capture of 'state' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 195 |             }
 196 |         }
     :
1171 | //******************************************************************************
1172 |
1173 | public enum FirmwareUpgradeState {
     |             `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1174 |     case none
1175 |     case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:242:21: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 240 |                 // Allow Library Apps to show 100% Progress in this case.
 241 |                 DispatchQueue.main.async { [weak self] in
 242 |                     self?.delegate?.uploadProgressDidChange(bytesSent: 100, imageSize: 100,
     |                     `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 243 |                                                             timestamp: Date())
 244 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
   |                           |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'prepend0x' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
   |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:321:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 319 |         paused = false
 320 |         DispatchQueue.main.async { [weak self] in
 321 |             self?.delegate?.upgradeDidComplete()
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 322 |             // Release cyclic reference.
 323 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:53: warning: capture of 'tmp' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |                                                     `- warning: capture of 'tmp' with non-sendable type 'FirmwareUpgradeState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
     :
1171 | //******************************************************************************
1172 |
1173 | public enum FirmwareUpgradeState {
     |             `- note: consider making enum 'FirmwareUpgradeState' conform to the 'Sendable' protocol
1174 |     case none
1175 |     case requestMcuMgrParameters, bootloaderInfo, eraseAppSettings
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:929:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
 927 |         self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
 928 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
 929 |             self?.log(msg: "Reconnecting...", atLevel: .info)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 930 |             self?.reconnect()
 931 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1061:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
1059 |
1060 |         DispatchQueue.main.async { [weak self] in
1061 |             self?.delegate?.uploadProgressDidChange(bytesSent: bytesSent, imageSize: imageSize, timestamp: timestamp)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1062 |         }
1063 |     }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1072:13: warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  10 | // MARK: - FirmwareUpgradeManager
  11 |
  12 | public class FirmwareUpgradeManager: FirmwareUpgradeController, ConnectionObserver {
     |              `- note: class 'FirmwareUpgradeManager' does not conform to the 'Sendable' protocol
  13 |
  14 |     // MARK: Private Properties
     :
1070 |     public func uploadDidCancel() {
1071 |         DispatchQueue.main.async { [weak self] in
1072 |             self?.delegate?.upgradeDidCancel(state: .none)
     |             `- warning: capture of 'self' with non-sendable type 'FirmwareUpgradeManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1073 |         }
1074 |         state = .none
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                 |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |                 `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                             |- warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
     |                                                             `- note: task-isolated 'previousState' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:194:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
 192 |         if state != previousState {
 193 |             DispatchQueue.main.async { [weak self] in
 194 |                 self?.delegate?.upgradeStateDidChange(from: previousState, to: state)
     |                                                                                |- warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
     |                                                                                `- note: task-isolated 'state' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 195 |             }
 196 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:321:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 319 |         paused = false
 320 |         DispatchQueue.main.async { [weak self] in
 321 |             self?.delegate?.upgradeDidComplete()
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 322 |             // Release cyclic reference.
 323 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:242:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 240 |                 // Allow Library Apps to show 100% Progress in this case.
 241 |                 DispatchQueue.main.async { [weak self] in
 242 |                     self?.delegate?.uploadProgressDidChange(bytesSent: 100, imageSize: 100,
     |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |                     `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 243 |                                                             timestamp: Date())
 244 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:338:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
 336 |         paused = false
 337 |         DispatchQueue.main.async { [weak self] in
 338 |             self?.delegate?.upgradeDidFail(inState: tmp, with: error)
     |                                                     |- warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
     |                                                     `- note: task-isolated 'tmp' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 339 |             // Release cyclic reference.
 340 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:929:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 927 |         self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
 928 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
 929 |             self?.log(msg: "Reconnecting...", atLevel: .info)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 930 |             self?.reconnect()
 931 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1061:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1059 |
1060 |         DispatchQueue.main.async { [weak self] in
1061 |             self?.delegate?.uploadProgressDidChange(bytesSent: bytesSent, imageSize: imageSize, timestamp: timestamp)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1062 |         }
1063 |     }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1072:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1070 |     public func uploadDidCancel() {
1071 |         DispatchQueue.main.async { [weak self] in
1072 |             self?.delegate?.upgradeDidCancel(state: .none)
     |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
1073 |         }
1074 |         state = .none
[72/81] Compiling iOSMcuManagerLibrary SettingsManager.swift
[73/81] Compiling iOSMcuManagerLibrary ShellManager.swift
[74/81] Compiling iOSMcuManagerLibrary StatsManager.swift
[75/81] Compiling iOSMcuManagerLibrary McuMgrPackage.swift
/Users/admin/builder/spi-builder-workspace/Source/McuMgrPackage.swift:102:14: warning: associated value 'resourceNotFound' of 'Sendable'-conforming enum 'Error' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
100 |         case deniedAccessToScopedResource, notAValidDocument, unableToAccessCacheDirectory
101 |         case manifestFileNotFound, manifestImageNotFound
102 |         case resourceNotFound(_ resource: FirmwareUpgradeResource)
    |              `- warning: associated value 'resourceNotFound' of 'Sendable'-conforming enum 'Error' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
103 |
104 |         public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeController.swift:38:13: note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
36 | // MARK: FirmwareUpgradeResource
37 |
38 | public enum FirmwareUpgradeResource: CustomStringConvertible {
   |             `- note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
39 |     case file(name: String)
40 |
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
   |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:23:14: warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 15 |  <Key, Value> Re-Order Buffer.
 16 |  */
 17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
    |                               `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 18 |
 19 |     // MARK: BufferError
    :
 21 |     enum BufferError: Error {
 22 |         case empty
 23 |         case invalidKey(_ key: Key)
    |              `- warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 24 |         case noValueForKey(_ key: Key)
 25 |     }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:24:14: warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 15 |  <Key, Value> Re-Order Buffer.
 16 |  */
 17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
    |                               `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 18 |
 19 |     // MARK: BufferError
    :
 22 |         case empty
 23 |         case invalidKey(_ key: Key)
 24 |         case noValueForKey(_ key: Key)
    |              `- warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 25 |     }
 26 |
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:21: warning: capture of 'callback' with non-sendable type '(Key, Value) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                     |- warning: capture of 'callback' with non-sendable type '(Key, Value) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:30: warning: capture of 'key' with non-sendable type 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 15 |  <Key, Value> Re-Order Buffer.
 16 |  */
 17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
    |                               `- note: consider making generic parameter 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') conform to the 'Sendable' protocol
 18 |
 19 |     // MARK: BufferError
    :
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                              `- warning: capture of 'key' with non-sendable type 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:35: warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 15 |  <Key, Value> Re-Order Buffer.
 16 |  */
 17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
    |                                                           `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
 18 |
 19 |     // MARK: BufferError
    :
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                                   `- warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                     |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'callback' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:30: warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                              |- warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'key' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:35: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                                   |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                   `- note: task-isolated 'value' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                 }
125 |             }
[76/81] Compiling iOSMcuManagerLibrary McuMgrROBBuffer.swift
/Users/admin/builder/spi-builder-workspace/Source/McuMgrPackage.swift:102:14: warning: associated value 'resourceNotFound' of 'Sendable'-conforming enum 'Error' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
100 |         case deniedAccessToScopedResource, notAValidDocument, unableToAccessCacheDirectory
101 |         case manifestFileNotFound, manifestImageNotFound
102 |         case resourceNotFound(_ resource: FirmwareUpgradeResource)
    |              `- warning: associated value 'resourceNotFound' of 'Sendable'-conforming enum 'Error' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
103 |
104 |         public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeController.swift:38:13: note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
36 | // MARK: FirmwareUpgradeResource
37 |
38 | public enum FirmwareUpgradeResource: CustomStringConvertible {
   |             `- note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
39 |     case file(name: String)
40 |
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
   |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:23:14: warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 15 |  <Key, Value> Re-Order Buffer.
 16 |  */
 17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
    |                               `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 18 |
 19 |     // MARK: BufferError
    :
 21 |     enum BufferError: Error {
 22 |         case empty
 23 |         case invalidKey(_ key: Key)
    |              `- warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 24 |         case noValueForKey(_ key: Key)
 25 |     }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:24:14: warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 15 |  <Key, Value> Re-Order Buffer.
 16 |  */
 17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
    |                               `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 18 |
 19 |     // MARK: BufferError
    :
 22 |         case empty
 23 |         case invalidKey(_ key: Key)
 24 |         case noValueForKey(_ key: Key)
    |              `- warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 25 |     }
 26 |
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:21: warning: capture of 'callback' with non-sendable type '(Key, Value) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                     |- warning: capture of 'callback' with non-sendable type '(Key, Value) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:30: warning: capture of 'key' with non-sendable type 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 15 |  <Key, Value> Re-Order Buffer.
 16 |  */
 17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
    |                               `- note: consider making generic parameter 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') conform to the 'Sendable' protocol
 18 |
 19 |     // MARK: BufferError
    :
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                              `- warning: capture of 'key' with non-sendable type 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:35: warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 15 |  <Key, Value> Re-Order Buffer.
 16 |  */
 17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
    |                                                           `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
 18 |
 19 |     // MARK: BufferError
    :
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                                   `- warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                     |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'callback' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:30: warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                              |- warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'key' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:35: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                                   |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                   `- note: task-isolated 'value' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                 }
125 |             }
[77/81] Compiling iOSMcuManagerLibrary McuMgrResponse.swift
/Users/admin/builder/spi-builder-workspace/Source/McuMgrPackage.swift:102:14: warning: associated value 'resourceNotFound' of 'Sendable'-conforming enum 'Error' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
100 |         case deniedAccessToScopedResource, notAValidDocument, unableToAccessCacheDirectory
101 |         case manifestFileNotFound, manifestImageNotFound
102 |         case resourceNotFound(_ resource: FirmwareUpgradeResource)
    |              `- warning: associated value 'resourceNotFound' of 'Sendable'-conforming enum 'Error' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
103 |
104 |         public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeController.swift:38:13: note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
36 | // MARK: FirmwareUpgradeResource
37 |
38 | public enum FirmwareUpgradeResource: CustomStringConvertible {
   |             `- note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
39 |     case file(name: String)
40 |
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
   |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:23:14: warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 15 |  <Key, Value> Re-Order Buffer.
 16 |  */
 17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
    |                               `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 18 |
 19 |     // MARK: BufferError
    :
 21 |     enum BufferError: Error {
 22 |         case empty
 23 |         case invalidKey(_ key: Key)
    |              `- warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 24 |         case noValueForKey(_ key: Key)
 25 |     }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:24:14: warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 15 |  <Key, Value> Re-Order Buffer.
 16 |  */
 17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
    |                               `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 18 |
 19 |     // MARK: BufferError
    :
 22 |         case empty
 23 |         case invalidKey(_ key: Key)
 24 |         case noValueForKey(_ key: Key)
    |              `- warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 25 |     }
 26 |
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:21: warning: capture of 'callback' with non-sendable type '(Key, Value) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                     |- warning: capture of 'callback' with non-sendable type '(Key, Value) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:30: warning: capture of 'key' with non-sendable type 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 15 |  <Key, Value> Re-Order Buffer.
 16 |  */
 17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
    |                               `- note: consider making generic parameter 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') conform to the 'Sendable' protocol
 18 |
 19 |     // MARK: BufferError
    :
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                              `- warning: capture of 'key' with non-sendable type 'Dictionary<Key, Value>.Keys.Element' (aka 'Key') in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:35: warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 15 |  <Key, Value> Re-Order Buffer.
 16 |  */
 17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
    |                                                           `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
 18 |
 19 |     // MARK: BufferError
    :
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                                   `- warning: capture of 'value' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                     |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'callback' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:30: warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                              |- warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'key' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:35: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                                   |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                   `- note: task-isolated 'value' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                 }
125 |             }
[78/81] Emitting module iOSMcuManagerLibrary
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:65:17: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 35 | // MARK: - McuMgrBleTransport
 36 |
 37 | public class McuMgrBleTransport: NSObject {
    |              `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
 38 |
 39 |     /// The CBPeripheral for this transport to communicate with.
    :
 63 |         didSet {
 64 |             DispatchQueue.main.async {
 65 |                 self.notifyPeripheralDelegate()
    |                 `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 66 |             }
 67 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 35 | // MARK: - McuMgrBleTransport
 36 |
 37 | public class McuMgrBleTransport: NSObject {
    |              `- note: class 'McuMgrBleTransport' does not conform to the 'Sendable' protocol
 38 |
 39 |     /// The CBPeripheral for this transport to communicate with.
    :
 97 |         didSet {
 98 |             DispatchQueue.main.async {
 99 |                 self.notifyPeripheralDelegate()
    |                 `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 |             }
101 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:448:23: warning: static property 'SMP_SERVICE' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
446 | public enum McuMgrBleTransportConstant {
447 |
448 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
    |                       `- warning: static property 'SMP_SERVICE' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
449 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
450 |
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBUUID : NSObject, NSCopying {
   |            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 3 |     open var data: Data { get }
 4 |     @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
  6 |
  7 | import Foundation
  8 | import CoreBluetooth
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
  9 |
 10 | // MARK: - PeripheralState
    :
446 | public enum McuMgrBleTransportConstant {
447 |
448 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
    |                       |- note: annotate 'SMP_SERVICE' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
449 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
450 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:449:23: warning: static property 'SMP_CHARACTERISTIC' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
447 |
448 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
449 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
    |                       |- warning: static property 'SMP_CHARACTERISTIC' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'SMP_CHARACTERISTIC' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
450 |
451 |     /// Max number of retries until the transaction is failed.
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBUUID : NSObject, NSCopying {
   |            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 3 |     open var data: Data { get }
 4 |     @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
   |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:40:27: warning: static property 'byteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
   |                           |- warning: static property 'byteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'byteSpacing' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
   |                           |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'prepend0x' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
   |                           |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'twoByteSpacing' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
44 |
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:43:27: warning: static property 'reverseEndianness' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
36 |     // MARK: - Hex Encoding
37 |
38 |     struct HexEncodingOptions: OptionSet {
   |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
   |                           |- warning: static property 'reverseEndianness' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'reverseEndianness' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 |         public let rawValue: Int
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1151:10: warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1149 | public enum FirmwareUpgradeError: Error, LocalizedError {
1150 |     case unknown(String)
1151 |     case invalidResponse(McuMgrResponse)
     |          `- warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'FirmwareUpgradeError' has non-sendable type 'McuMgrResponse'; this is an error in the Swift 6 language mode
1152 |     case connectionFailedAfterReset
1153 |     case untestedImageFound(image: Int, slot: Int)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrResponse.swift:10:12: note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
   8 | import SwiftCBOR
   9 |
  10 | open class McuMgrResponse: CBORMappable {
     |            `- note: class 'McuMgrResponse' does not conform to the 'Sendable' protocol
  11 |
  12 |     //**************************************************************************
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:319:21: warning: capture of 'self' with non-sendable type 'SuitManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 11 | // MARK: - SuitManager
 12 |
 13 | public class SuitManager: McuManager {
    |              `- note: class 'SuitManager' does not conform to the 'Sendable' protocol
 14 |
 15 |     // MARK: Constants
    :
317 |                 let waitTime: DispatchTimeInterval = .milliseconds(Self.POLLING_INTERVAL_MS)
318 |                 DispatchQueue.main.asyncAfter(deadline: .now() + waitTime) { [unowned self] in
319 |                     self.pollAttempts += 1
    |                     `- warning: capture of 'self' with non-sendable type 'SuitManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
320 |                     self.poll(callback: self.pollingCallback)
321 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:413:10: warning: associated value 'suitDelegateRequiredForResource' of 'Sendable'-conforming enum 'SuitManagerError' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
411 |
412 | public enum SuitManagerError: Error, LocalizedError {
413 |     case suitDelegateRequiredForResource(_ resource: FirmwareUpgradeResource)
    |          `- warning: associated value 'suitDelegateRequiredForResource' of 'Sendable'-conforming enum 'SuitManagerError' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
414 |     case listRoleResponseMismatch(roleCount: Int, responseCount: Int)
415 |
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeController.swift:38:13: note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
36 | // MARK: FirmwareUpgradeResource
37 |
38 | public enum FirmwareUpgradeResource: CustomStringConvertible {
   |             `- note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
39 |     case file(name: String)
40 |
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:374:10: warning: associated value 'groupCode' of 'Sendable'-conforming enum 'McuMgrError' has non-sendable type 'McuMgrGroupReturnCode'; this is an error in the Swift 6 language mode
372 | public enum McuMgrError: Error, LocalizedError {
373 |     case returnCode(_ rc: McuMgrReturnCode)
374 |     case groupCode(_ group: McuMgrGroupReturnCode)
    |          `- warning: associated value 'groupCode' of 'Sendable'-conforming enum 'McuMgrError' has non-sendable type 'McuMgrGroupReturnCode'; this is an error in the Swift 6 language mode
375 |
376 |     public var errorDescription: String? {
    :
386 | // MARK: - McuMgrGroupReturnCode
387 |
388 | public class McuMgrGroupReturnCode: CBORMappable {
    |              `- note: class 'McuMgrGroupReturnCode' does not conform to the 'Sendable' protocol
389 |
390 |     public var group: UInt64 = 0
/Users/admin/builder/spi-builder-workspace/Source/McuMgrPackage.swift:102:14: warning: associated value 'resourceNotFound' of 'Sendable'-conforming enum 'Error' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
100 |         case deniedAccessToScopedResource, notAValidDocument, unableToAccessCacheDirectory
101 |         case manifestFileNotFound, manifestImageNotFound
102 |         case resourceNotFound(_ resource: FirmwareUpgradeResource)
    |              `- warning: associated value 'resourceNotFound' of 'Sendable'-conforming enum 'Error' has non-sendable type 'FirmwareUpgradeResource'; this is an error in the Swift 6 language mode
103 |
104 |         public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeController.swift:38:13: note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
36 | // MARK: FirmwareUpgradeResource
37 |
38 | public enum FirmwareUpgradeResource: CustomStringConvertible {
   |             `- note: consider making enum 'FirmwareUpgradeResource' conform to the 'Sendable' protocol
39 |     case file(name: String)
40 |
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:23:14: warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 15 |  <Key, Value> Re-Order Buffer.
 16 |  */
 17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
    |                               `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 18 |
 19 |     // MARK: BufferError
    :
 21 |     enum BufferError: Error {
 22 |         case empty
 23 |         case invalidKey(_ key: Key)
    |              `- warning: associated value 'invalidKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 24 |         case noValueForKey(_ key: Key)
 25 |     }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:24:14: warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 15 |  <Key, Value> Re-Order Buffer.
 16 |  */
 17 | public struct McuMgrROBBuffer<Key: Hashable & Comparable, Value> {
    |                               `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
 18 |
 19 |     // MARK: BufferError
    :
 22 |         case empty
 23 |         case invalidKey(_ key: Key)
 24 |         case noValueForKey(_ key: Key)
    |              `- warning: associated value 'noValueForKey' of 'Sendable'-conforming enum 'BufferError' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
 25 |     }
 26 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:65:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 63 |         didSet {
 64 |             DispatchQueue.main.async {
 65 |                 self.notifyPeripheralDelegate()
    |                 |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 66 |             }
 67 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:99:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 97 |         didSet {
 98 |             DispatchQueue.main.async {
 99 |                 self.notifyPeripheralDelegate()
    |                 |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 |             }
101 |         }
[79/81] Compiling iOSMcuManagerLibrary CBOR+String.swift
[80/81] Compiling iOSMcuManagerLibrary ResultLock.swift
[81/81] Compiling iOSMcuManagerLibrary UTI.swift
Build complete! (34.47s)
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/Source/PrivacyInfo.xcprivacy
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swiftcbor",
      "requirement" : {
        "exact" : [
          "0.4.7"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/unrelentingtech/SwiftCBOR.git"
    },
    {
      "identity" : "zipfoundation",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.9.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/weichsel/ZIPFoundation.git"
    }
  ],
  "manifest_display_name" : "iOSMcuManagerLibrary",
  "name" : "iOSMcuManagerLibrary",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "macos",
      "version" : "10.13"
    }
  ],
  "products" : [
    {
      "name" : "iOSMcuManagerLibrary",
      "targets" : [
        "iOSMcuManagerLibrary"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "iOSMcuManagerLibrary",
      "module_type" : "SwiftTarget",
      "name" : "iOSMcuManagerLibrary",
      "path" : "Source",
      "product_dependencies" : [
        "SwiftCBOR",
        "ZIPFoundation"
      ],
      "product_memberships" : [
        "iOSMcuManagerLibrary"
      ],
      "sources" : [
        "Bluetooth/McuMgrBleTransport+CBCentralManagerDelegate.swift",
        "Bluetooth/McuMgrBleTransport+CBPeripheralDelegate.swift",
        "Bluetooth/McuMgrBleTransport.swift",
        "Bluetooth/McuMgrBleTransportWriteState.swift",
        "Extensions/CBOR+McuManager.swift",
        "Extensions/Data+McuManager.swift",
        "Extensions/String+McuManager.swift",
        "Managers/BasicManager.swift",
        "Managers/CrashManager.swift",
        "Managers/DFU/FirmwareUpgradeController.swift",
        "Managers/DFU/FirmwareUpgradeManager.swift",
        "Managers/DefaultManager.swift",
        "Managers/FileSystemManager.swift",
        "Managers/ImageManager.swift",
        "Managers/LogManager.swift",
        "Managers/RunTestManager.swift",
        "Managers/SettingsManager.swift",
        "Managers/ShellManager.swift",
        "Managers/StatsManager.swift",
        "Managers/SuitManager.swift",
        "McuManager.swift",
        "McuMgrHeader.swift",
        "McuMgrImage.swift",
        "McuMgrLogDelegate.swift",
        "McuMgrManifest.swift",
        "McuMgrPackage.swift",
        "McuMgrROBBuffer.swift",
        "McuMgrResponse.swift",
        "McuMgrSuitEnvelope.swift",
        "McuMgrSuitManifest.swift",
        "McuMgrTransport.swift",
        "Utils/CBOR+String.swift",
        "Utils/ResultLock.swift",
        "Utils/UTI.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.