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.9.2 (bcc6b9), with Swift 6.1 for macOS (SPM) on 30 Apr 2025 20:14:54 UTC.

Swift 6 data race errors: 15

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.61.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/NordicSemiconductor/IOS-nRF-Connect-Device-Manager.git
Reference: 1.9.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/NordicSemiconductor/IOS-nRF-Connect-Device-Manager
 * tag               1.9.2      -> FETCH_HEAD
HEAD is now at bcc6b9b Merge pull request #334 from NordicSemiconductor/override-fix
Cloned https://github.com/NordicSemiconductor/IOS-nRF-Connect-Device-Manager.git
Revision (git rev-parse @):
bcc6b9b8b575cc23d8d6f9880475bb80d38519e5
SUCCESS checkout https://github.com/NordicSemiconductor/IOS-nRF-Connect-Device-Manager.git at 1.9.2
Fetching https://github.com/valpackett/SwiftCBOR.git
Fetching https://github.com/weichsel/ZIPFoundation.git
[1/5562] Fetching zipfoundation
[113/6949] Fetching zipfoundation, swiftcbor
Fetched https://github.com/valpackett/SwiftCBOR.git from cache (0.88s)
[724/5562] Fetching zipfoundation
Fetched https://github.com/weichsel/ZIPFoundation.git from cache (1.18s)
Computing version for https://github.com/weichsel/ZIPFoundation.git
Computed https://github.com/weichsel/ZIPFoundation.git at 0.9.19 (1.73s)
Computing version for https://github.com/valpackett/SwiftCBOR.git
Computed https://github.com/valpackett/SwiftCBOR.git at 0.4.7 (0.56s)
Creating working copy for https://github.com/valpackett/SwiftCBOR.git
Working copy of https://github.com/valpackett/SwiftCBOR.git resolved at 0.4.7
Creating working copy for https://github.com/weichsel/ZIPFoundation.git
Working copy of https://github.com/weichsel/ZIPFoundation.git resolved at 0.9.19
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "ios-nrf-connect-device-manager",
      "name": "iOSMcuManagerLibrary",
      "url": "https://github.com/NordicSemiconductor/IOS-nRF-Connect-Device-Manager.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/IOS-nRF-Connect-Device-Manager",
      "dependencies": [
        {
          "identity": "swiftcbor",
          "name": "SwiftCBOR",
          "url": "https://github.com/valpackett/SwiftCBOR.git",
          "version": "0.4.7",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftCBOR",
          "dependencies": [
          ]
        },
        {
          "identity": "zipfoundation",
          "name": "ZIPFoundation",
          "url": "https://github.com/weichsel/ZIPFoundation.git",
          "version": "0.9.19",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ZIPFoundation",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/NordicSemiconductor/IOS-nRF-Connect-Device-Manager.git
[1/4765] Fetching ios-nrf-connect-device-manager
Fetched https://github.com/NordicSemiconductor/IOS-nRF-Connect-Device-Manager.git from cache (1.19s)
Fetching https://github.com/weichsel/ZIPFoundation.git from cache
Fetching https://github.com/valpackett/SwiftCBOR.git from cache
Fetched https://github.com/weichsel/ZIPFoundation.git from cache (0.50s)
Fetched https://github.com/valpackett/SwiftCBOR.git from cache (0.50s)
Computing version for https://github.com/valpackett/SwiftCBOR.git
Computed https://github.com/valpackett/SwiftCBOR.git at 0.4.7 (0.55s)
Computing version for https://github.com/weichsel/ZIPFoundation.git
Computed https://github.com/weichsel/ZIPFoundation.git at 0.9.19 (0.04s)
Creating working copy for https://github.com/weichsel/ZIPFoundation.git
Working copy of https://github.com/weichsel/ZIPFoundation.git resolved at 0.9.19
Creating working copy for https://github.com/NordicSemiconductor/IOS-nRF-Connect-Device-Manager.git
Working copy of https://github.com/NordicSemiconductor/IOS-nRF-Connect-Device-Manager.git resolved at 1.9.2 (bcc6b9b)
Creating working copy for https://github.com/valpackett/SwiftCBOR.git
Working copy of https://github.com/valpackett/SwiftCBOR.git resolved at 0.4.7
warning: '.resolve-product-dependencies': dependency 'ios-nrf-connect-device-manager' is not used by any target
Found 2 product dependencies
  - SwiftCBOR
  - ZIPFoundation
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/NordicSemiconductor/IOS-nRF-Connect-Device-Manager.git
https://github.com/NordicSemiconductor/IOS-nRF-Connect-Device-Manager.git
{
  "dependencies" : [
    {
      "identity" : "swiftcbor",
      "requirement" : {
        "exact" : [
          "0.4.7"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/valpackett/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",
        "McuMgrUploadPipeline.swift",
        "Utils/CBOR+String.swift",
        "Utils/ResultLock.swift",
        "Utils/UTI.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/5] Write sources
[0/5] Copying PrivacyInfo.xcprivacy
[2/5] Write sources
[4/5] Write swift-version-2F0A5646E1D333AE.txt
[6/43] Emitting module ZIPFoundation
[7/45] Compiling SwiftCBOR FixedWidthInteger+Bytes.swift
[8/46] Compiling SwiftCBOR Util.swift
[9/46] Compiling ZIPFoundation URL+ZIP.swift
[10/46] Compiling ZIPFoundation resource_bundle_accessor.swift
[11/46] Compiling SwiftCBOR UnkeyedEncodingContainer.swift
[12/46] Compiling ZIPFoundation Data+Serialization.swift
[13/46] Compiling ZIPFoundation FileManager+ZIP.swift
[14/46] Compiling ZIPFoundation Archive+BackingConfiguration.swift
[15/46] Compiling ZIPFoundation Archive+Deprecated.swift
[16/46] Compiling ZIPFoundation Archive+Helpers.swift
[17/46] Compiling ZIPFoundation Data+Compression.swift
[18/46] Compiling ZIPFoundation Date+ZIP.swift
[20/46] Compiling SwiftCBOR CBOROptions.swift
[22/46] Compiling ZIPFoundation Entry+Serialization.swift
[24/46] Compiling ZIPFoundation Data+CompressionDeprecated.swift
[25/46] Compiling SwiftCBOR CBOREncodable.swift
[26/46] Compiling ZIPFoundation Archive+Writing.swift
[28/46] Compiling ZIPFoundation Archive.swift
[29/46] Compiling SwiftCBOR CodableCBORDecoder.swift
[30/46] Compiling SwiftCBOR CBORDecoder.swift
[35/46] Emitting module SwiftCBOR
[36/46] Compiling ZIPFoundation Entry+ZIP64.swift
[37/46] Compiling ZIPFoundation Entry.swift
[38/46] Compiling ZIPFoundation Archive+MemoryFile.swift
[41/46] Compiling ZIPFoundation Archive+Progress.swift
[42/46] Compiling ZIPFoundation Archive+Reading.swift
[47/79] Compiling iOSMcuManagerLibrary McuMgrSuitManifest.swift
[48/79] Compiling iOSMcuManagerLibrary McuMgrTransport.swift
[49/79] Compiling iOSMcuManagerLibrary McuMgrUploadPipeline.swift
[50/82] Compiling iOSMcuManagerLibrary McuManager.swift
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:367: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
365 | public enum McuMgrError: Error, LocalizedError {
366 |     case returnCode(_ rc: McuMgrReturnCode)
367 |     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
368 |
369 |     public var errorDescription: String? {
    :
379 | // MARK: - McuMgrGroupReturnCode
380 |
381 | public class McuMgrGroupReturnCode: CBORMappable {
    |              `- note: class 'McuMgrGroupReturnCode' does not conform to the 'Sendable' protocol
382 |
383 |     public var group: UInt64 = 0
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:125:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
123 |             } catch let robBufferError {
124 |                 DispatchQueue.main.async {
125 |                     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
126 |                 }
127 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:125:30: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
123 |             } catch let robBufferError {
124 |                 DispatchQueue.main.async {
125 |                     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
126 |                 }
127 |             }
[51/82] Compiling iOSMcuManagerLibrary McuMgrHeader.swift
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:367: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
365 | public enum McuMgrError: Error, LocalizedError {
366 |     case returnCode(_ rc: McuMgrReturnCode)
367 |     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
368 |
369 |     public var errorDescription: String? {
    :
379 | // MARK: - McuMgrGroupReturnCode
380 |
381 | public class McuMgrGroupReturnCode: CBORMappable {
    |              `- note: class 'McuMgrGroupReturnCode' does not conform to the 'Sendable' protocol
382 |
383 |     public var group: UInt64 = 0
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:125:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
123 |             } catch let robBufferError {
124 |                 DispatchQueue.main.async {
125 |                     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
126 |                 }
127 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:125:30: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
123 |             } catch let robBufferError {
124 |                 DispatchQueue.main.async {
125 |                     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
126 |                 }
127 |             }
[52/82] Compiling iOSMcuManagerLibrary McuMgrImage.swift
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:367: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
365 | public enum McuMgrError: Error, LocalizedError {
366 |     case returnCode(_ rc: McuMgrReturnCode)
367 |     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
368 |
369 |     public var errorDescription: String? {
    :
379 | // MARK: - McuMgrGroupReturnCode
380 |
381 | public class McuMgrGroupReturnCode: CBORMappable {
    |              `- note: class 'McuMgrGroupReturnCode' does not conform to the 'Sendable' protocol
382 |
383 |     public var group: UInt64 = 0
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:125:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
123 |             } catch let robBufferError {
124 |                 DispatchQueue.main.async {
125 |                     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
126 |                 }
127 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuManager.swift:125:30: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
123 |             } catch let robBufferError {
124 |                 DispatchQueue.main.async {
125 |                     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
126 |                 }
127 |             }
[53/82] Emitting module iOSMcuManagerLibrary
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:464: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
462 | public enum McuMgrBleTransportConstant {
463 |
464 |     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
465 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
466 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/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
    :
462 | public enum McuMgrBleTransportConstant {
463 |
464 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
    |                       |- note: add '@MainActor' to make static property 'SMP_SERVICE' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
465 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
466 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:465: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
463 |
464 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
465 |     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: add '@MainActor' to make static property 'SMP_CHARACTERISTIC' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
466 |
467 |     /// Max number of retries until the transaction is failed.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/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: add '@MainActor' to make static property 'upperCase' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'byteSpacing' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'prepend0x' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'twoByteSpacing' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'reverseEndianness' part of global actor 'MainActor'
    |                           `- 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:1216: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
1214 | public enum FirmwareUpgradeError: Error, LocalizedError {
1215 |     case unknown(String)
1216 |     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
1217 |     case connectionFailedAfterReset
1218 |     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:648: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
646 |
647 | public enum SuitManagerError: Error, LocalizedError {
648 |     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
649 |     case listRoleResponseMismatch(roleCount: Int, responseCount: Int)
650 |
/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:367: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
365 | public enum McuMgrError: Error, LocalizedError {
366 |     case returnCode(_ rc: McuMgrReturnCode)
367 |     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
368 |
369 |     public var errorDescription: String? {
    :
379 | // MARK: - McuMgrGroupReturnCode
380 |
381 | public class McuMgrGroupReturnCode: CBORMappable {
    |              `- note: class 'McuMgrGroupReturnCode' does not conform to the 'Sendable' protocol
382 |
383 |     public var group: UInt64 = 0
/Users/admin/builder/spi-builder-workspace/Source/McuMgrPackage.swift:94: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
 92 |         case deniedAccessToScopedResource, notAValidDocument, unableToAccessCacheDirectory
 93 |         case manifestFileNotFound, manifestImageNotFound
 94 |         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
 95 |
 96 |         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:80:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 78 |         didSet {
 79 |             DispatchQueue.main.async {
 80 |                 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
 81 |             }
 82 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:114:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
112 |         didSet {
113 |             DispatchQueue.main.async {
114 |                 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
115 |             }
116 |         }
[54/82] Compiling iOSMcuManagerLibrary SettingsManager.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:648: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
646 |
647 | public enum SuitManagerError: Error, LocalizedError {
648 |     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
649 |     case listRoleResponseMismatch(roleCount: Int, responseCount: Int)
650 |
/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/Managers/SuitManager.swift:529:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
527 |                 let waitTime: DispatchTimeInterval = .milliseconds(Self.POLLING_INTERVAL_MS)
528 |                 DispatchQueue.main.asyncAfter(deadline: .now() + waitTime) { [unowned self] in
529 |                     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
530 |                     self.poll(callback: self.pollingCallback)
531 |                 }
[55/82] Compiling iOSMcuManagerLibrary ShellManager.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:648: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
646 |
647 | public enum SuitManagerError: Error, LocalizedError {
648 |     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
649 |     case listRoleResponseMismatch(roleCount: Int, responseCount: Int)
650 |
/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/Managers/SuitManager.swift:529:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
527 |                 let waitTime: DispatchTimeInterval = .milliseconds(Self.POLLING_INTERVAL_MS)
528 |                 DispatchQueue.main.asyncAfter(deadline: .now() + waitTime) { [unowned self] in
529 |                     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
530 |                     self.poll(callback: self.pollingCallback)
531 |                 }
[56/82] Compiling iOSMcuManagerLibrary StatsManager.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:648: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
646 |
647 | public enum SuitManagerError: Error, LocalizedError {
648 |     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
649 |     case listRoleResponseMismatch(roleCount: Int, responseCount: Int)
650 |
/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/Managers/SuitManager.swift:529:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
527 |                 let waitTime: DispatchTimeInterval = .milliseconds(Self.POLLING_INTERVAL_MS)
528 |                 DispatchQueue.main.asyncAfter(deadline: .now() + waitTime) { [unowned self] in
529 |                     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
530 |                     self.poll(callback: self.pollingCallback)
531 |                 }
[57/82] Compiling iOSMcuManagerLibrary SuitManager.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/SuitManager.swift:648: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
646 |
647 | public enum SuitManagerError: Error, LocalizedError {
648 |     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
649 |     case listRoleResponseMismatch(roleCount: Int, responseCount: Int)
650 |
/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/Managers/SuitManager.swift:529:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
527 |                 let waitTime: DispatchTimeInterval = .milliseconds(Self.POLLING_INTERVAL_MS)
528 |                 DispatchQueue.main.asyncAfter(deadline: .now() + waitTime) { [unowned self] in
529 |                     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
530 |                     self.poll(callback: self.pollingCallback)
531 |                 }
[58/82] Compiling iOSMcuManagerLibrary McuMgrROBBuffer.swift
/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: 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 |             }
[59/82] Compiling iOSMcuManagerLibrary McuMgrResponse.swift
/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: 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 |             }
[60/82] Compiling iOSMcuManagerLibrary McuMgrSuitEnvelope.swift
/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: 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 |             }
[61/82] Compiling iOSMcuManagerLibrary McuMgrLogDelegate.swift
/Users/admin/builder/spi-builder-workspace/Source/McuMgrPackage.swift:94: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
 92 |         case deniedAccessToScopedResource, notAValidDocument, unableToAccessCacheDirectory
 93 |         case manifestFileNotFound, manifestImageNotFound
 94 |         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
 95 |
 96 |         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 |
[62/82] Compiling iOSMcuManagerLibrary McuMgrManifest.swift
/Users/admin/builder/spi-builder-workspace/Source/McuMgrPackage.swift:94: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
 92 |         case deniedAccessToScopedResource, notAValidDocument, unableToAccessCacheDirectory
 93 |         case manifestFileNotFound, manifestImageNotFound
 94 |         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
 95 |
 96 |         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 |
[63/82] Compiling iOSMcuManagerLibrary McuMgrPackage.swift
/Users/admin/builder/spi-builder-workspace/Source/McuMgrPackage.swift:94: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
 92 |         case deniedAccessToScopedResource, notAValidDocument, unableToAccessCacheDirectory
 93 |         case manifestFileNotFound, manifestImageNotFound
 94 |         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
 95 |
 96 |         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 |
[64/82] Compiling iOSMcuManagerLibrary CBOR+McuManager.swift
/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: add '@MainActor' to make static property 'upperCase' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'byteSpacing' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'prepend0x' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'twoByteSpacing' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'reverseEndianness' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |
 45 |         public let rawValue: Int
[65/82] Compiling iOSMcuManagerLibrary Data+McuManager.swift
/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: add '@MainActor' to make static property 'upperCase' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'byteSpacing' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'prepend0x' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'twoByteSpacing' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'reverseEndianness' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |
 45 |         public let rawValue: Int
[66/82] Compiling iOSMcuManagerLibrary String+McuManager.swift
/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: add '@MainActor' to make static property 'upperCase' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'byteSpacing' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'prepend0x' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'twoByteSpacing' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'reverseEndianness' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |
 45 |         public let rawValue: Int
[67/82] Compiling iOSMcuManagerLibrary BasicManager.swift
/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: add '@MainActor' to make static property 'upperCase' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'byteSpacing' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'prepend0x' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'twoByteSpacing' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'reverseEndianness' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |
 45 |         public let rawValue: Int
[68/82] Compiling iOSMcuManagerLibrary FileSystemManager.swift
[69/82] Compiling iOSMcuManagerLibrary ImageManager.swift
[70/82] Compiling iOSMcuManagerLibrary LogManager.swift
[71/82] Compiling iOSMcuManagerLibrary RunTestManager.swift
[72/82] Compiling iOSMcuManagerLibrary McuMgrBleTransport+CBCentralManagerDelegate.swift
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:464: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
462 | public enum McuMgrBleTransportConstant {
463 |
464 |     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
465 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
466 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/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
    :
462 | public enum McuMgrBleTransportConstant {
463 |
464 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
    |                       |- note: add '@MainActor' to make static property 'SMP_SERVICE' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
465 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
466 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:465: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
463 |
464 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
465 |     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: add '@MainActor' to make static property 'SMP_CHARACTERISTIC' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
466 |
467 |     /// Max number of retries until the transaction is failed.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:189:24: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a '@Sendable' closure
 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.
    :
187 |         operationQueue.addOperation {
188 |             for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
189 |                 switch self._send(data: data, timeoutInSeconds: timeout) {
    |                        `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a '@Sendable' closure
190 |                 case .failure(McuMgrTransportError.waitAndRetry):
191 |                     let waitInterval = min(timeout, McuMgrBleTransportConstant.WAIT_AND_RETRY_INTERVAL)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:201:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a '@Sendable' closure
199 |                     self.log(msg: error.localizedDescription, atLevel: .error)
200 |                     DispatchQueue.main.async {
201 |                         callback(nil, error)
    |                         |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
202 |                     }
203 |                     return
/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
 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
 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
 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
 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
 42 |
 43 |     func sharedLock(_ writeClosure: @escaping () -> Void) {
 44 |         lockingQueue.async { writeClosure() }
    |                              |- warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a '@Sendable' closure
    |                              `- 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
 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
 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
 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 open(sequenceNumber: McuSequenceNumber, dueTo error: McuMgrTransportError) {
 88 |         lockingQueue.async {
 89 |             self.state[sequenceNumber]?.writeLock.open(error)
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 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
 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 completedWrite(sequenceNumber: McuSequenceNumber) {
 94 |         lockingQueue.async {
 95 |             self.state[sequenceNumber] = nil
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 96 |         }
 97 |     }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:101:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
 99 |     func onError(_ error: Error) {
100 |         lockingQueue.async {
101 |             self.state.forEach { _, value in
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
102 |                 value.writeLock.open(error)
103 |             }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:109:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
107 |     func onWriteError(sequenceNumber: McuSequenceNumber, error: Error) {
108 |         lockingQueue.async {
109 |             self.state[sequenceNumber]?.writeLock.open(error)
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
110 |         }
111 |     }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:80:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 78 |         didSet {
 79 |             DispatchQueue.main.async {
 80 |                 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
 81 |             }
 82 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:114:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
112 |         didSet {
113 |             DispatchQueue.main.async {
114 |                 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
115 |             }
116 |         }
[73/82] Compiling iOSMcuManagerLibrary McuMgrBleTransport+CBPeripheralDelegate.swift
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:464: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
462 | public enum McuMgrBleTransportConstant {
463 |
464 |     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
465 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
466 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/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
    :
462 | public enum McuMgrBleTransportConstant {
463 |
464 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
    |                       |- note: add '@MainActor' to make static property 'SMP_SERVICE' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
465 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
466 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:465: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
463 |
464 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
465 |     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: add '@MainActor' to make static property 'SMP_CHARACTERISTIC' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
466 |
467 |     /// Max number of retries until the transaction is failed.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:189:24: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a '@Sendable' closure
 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.
    :
187 |         operationQueue.addOperation {
188 |             for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
189 |                 switch self._send(data: data, timeoutInSeconds: timeout) {
    |                        `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a '@Sendable' closure
190 |                 case .failure(McuMgrTransportError.waitAndRetry):
191 |                     let waitInterval = min(timeout, McuMgrBleTransportConstant.WAIT_AND_RETRY_INTERVAL)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:201:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a '@Sendable' closure
199 |                     self.log(msg: error.localizedDescription, atLevel: .error)
200 |                     DispatchQueue.main.async {
201 |                         callback(nil, error)
    |                         |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
202 |                     }
203 |                     return
/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
 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
 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
 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
 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
 42 |
 43 |     func sharedLock(_ writeClosure: @escaping () -> Void) {
 44 |         lockingQueue.async { writeClosure() }
    |                              |- warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a '@Sendable' closure
    |                              `- 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
 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
 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
 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 open(sequenceNumber: McuSequenceNumber, dueTo error: McuMgrTransportError) {
 88 |         lockingQueue.async {
 89 |             self.state[sequenceNumber]?.writeLock.open(error)
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 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
 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 completedWrite(sequenceNumber: McuSequenceNumber) {
 94 |         lockingQueue.async {
 95 |             self.state[sequenceNumber] = nil
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 96 |         }
 97 |     }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:101:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
 99 |     func onError(_ error: Error) {
100 |         lockingQueue.async {
101 |             self.state.forEach { _, value in
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
102 |                 value.writeLock.open(error)
103 |             }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:109:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
107 |     func onWriteError(sequenceNumber: McuSequenceNumber, error: Error) {
108 |         lockingQueue.async {
109 |             self.state[sequenceNumber]?.writeLock.open(error)
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
110 |         }
111 |     }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:80:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 78 |         didSet {
 79 |             DispatchQueue.main.async {
 80 |                 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
 81 |             }
 82 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:114:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
112 |         didSet {
113 |             DispatchQueue.main.async {
114 |                 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
115 |             }
116 |         }
[74/82] Compiling iOSMcuManagerLibrary McuMgrBleTransport.swift
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:464: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
462 | public enum McuMgrBleTransportConstant {
463 |
464 |     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
465 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
466 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/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
    :
462 | public enum McuMgrBleTransportConstant {
463 |
464 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
    |                       |- note: add '@MainActor' to make static property 'SMP_SERVICE' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
465 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
466 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:465: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
463 |
464 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
465 |     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: add '@MainActor' to make static property 'SMP_CHARACTERISTIC' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
466 |
467 |     /// Max number of retries until the transaction is failed.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:189:24: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a '@Sendable' closure
 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.
    :
187 |         operationQueue.addOperation {
188 |             for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
189 |                 switch self._send(data: data, timeoutInSeconds: timeout) {
    |                        `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a '@Sendable' closure
190 |                 case .failure(McuMgrTransportError.waitAndRetry):
191 |                     let waitInterval = min(timeout, McuMgrBleTransportConstant.WAIT_AND_RETRY_INTERVAL)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:201:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a '@Sendable' closure
199 |                     self.log(msg: error.localizedDescription, atLevel: .error)
200 |                     DispatchQueue.main.async {
201 |                         callback(nil, error)
    |                         |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
202 |                     }
203 |                     return
/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
 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
 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
 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
 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
 42 |
 43 |     func sharedLock(_ writeClosure: @escaping () -> Void) {
 44 |         lockingQueue.async { writeClosure() }
    |                              |- warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a '@Sendable' closure
    |                              `- 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
 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
 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
 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 open(sequenceNumber: McuSequenceNumber, dueTo error: McuMgrTransportError) {
 88 |         lockingQueue.async {
 89 |             self.state[sequenceNumber]?.writeLock.open(error)
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 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
 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 completedWrite(sequenceNumber: McuSequenceNumber) {
 94 |         lockingQueue.async {
 95 |             self.state[sequenceNumber] = nil
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 96 |         }
 97 |     }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:101:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
 99 |     func onError(_ error: Error) {
100 |         lockingQueue.async {
101 |             self.state.forEach { _, value in
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
102 |                 value.writeLock.open(error)
103 |             }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:109:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
107 |     func onWriteError(sequenceNumber: McuSequenceNumber, error: Error) {
108 |         lockingQueue.async {
109 |             self.state[sequenceNumber]?.writeLock.open(error)
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
110 |         }
111 |     }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:80:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 78 |         didSet {
 79 |             DispatchQueue.main.async {
 80 |                 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
 81 |             }
 82 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:114:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
112 |         didSet {
113 |             DispatchQueue.main.async {
114 |                 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
115 |             }
116 |         }
[75/82] Compiling iOSMcuManagerLibrary McuMgrBleTransportWriteState.swift
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:464: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
462 | public enum McuMgrBleTransportConstant {
463 |
464 |     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
465 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
466 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/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
    :
462 | public enum McuMgrBleTransportConstant {
463 |
464 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
    |                       |- note: add '@MainActor' to make static property 'SMP_SERVICE' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
465 |     public static let SMP_CHARACTERISTIC = CBUUID(string: "DA2E7828-FBCE-4E01-AE9E-261174997C48")
466 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:465: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
463 |
464 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
465 |     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: add '@MainActor' to make static property 'SMP_CHARACTERISTIC' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
466 |
467 |     /// Max number of retries until the transaction is failed.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:189:24: warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a '@Sendable' closure
 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.
    :
187 |         operationQueue.addOperation {
188 |             for i in 0..<McuMgrBleTransportConstant.MAX_RETRIES {
189 |                 switch self._send(data: data, timeoutInSeconds: timeout) {
    |                        `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransport' in a '@Sendable' closure
190 |                 case .failure(McuMgrTransportError.waitAndRetry):
191 |                     let waitInterval = min(timeout, McuMgrBleTransportConstant.WAIT_AND_RETRY_INTERVAL)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:201:25: warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a '@Sendable' closure
199 |                     self.log(msg: error.localizedDescription, atLevel: .error)
200 |                     DispatchQueue.main.async {
201 |                         callback(nil, error)
    |                         |- warning: capture of 'callback' with non-sendable type 'McuMgrCallback<T>' (aka '(Optional<T>, Optional<any Error>) -> ()') in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
202 |                     }
203 |                     return
/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
 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
 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
 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
 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
 42 |
 43 |     func sharedLock(_ writeClosure: @escaping () -> Void) {
 44 |         lockingQueue.async { writeClosure() }
    |                              |- warning: capture of 'writeClosure' with non-sendable type '() -> Void' in a '@Sendable' closure
    |                              `- 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
 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
 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
 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 open(sequenceNumber: McuSequenceNumber, dueTo error: McuMgrTransportError) {
 88 |         lockingQueue.async {
 89 |             self.state[sequenceNumber]?.writeLock.open(error)
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 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
 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 completedWrite(sequenceNumber: McuSequenceNumber) {
 94 |         lockingQueue.async {
 95 |             self.state[sequenceNumber] = nil
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 96 |         }
 97 |     }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:101:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
 99 |     func onError(_ error: Error) {
100 |         lockingQueue.async {
101 |             self.state.forEach { _, value in
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
102 |                 value.writeLock.open(error)
103 |             }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:109:13: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
 16 | // MARK: - McuMgrBleTransportWriteState
 17 |
 18 | final class McuMgrBleTransportWriteState {
    |             `- note: class 'McuMgrBleTransportWriteState' does not conform to the 'Sendable' protocol
 19 |
 20 |     // MARK: - Private Properties
    :
107 |     func onWriteError(sequenceNumber: McuSequenceNumber, error: Error) {
108 |         lockingQueue.async {
109 |             self.state[sequenceNumber]?.writeLock.open(error)
    |             `- warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a '@Sendable' closure
110 |         }
111 |     }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:80:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 78 |         didSet {
 79 |             DispatchQueue.main.async {
 80 |                 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
 81 |             }
 82 |         }
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:114:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
112 |         didSet {
113 |             DispatchQueue.main.async {
114 |                 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
115 |             }
116 |         }
[76/82] Compiling iOSMcuManagerLibrary CrashManager.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1216: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
1214 | public enum FirmwareUpgradeError: Error, LocalizedError {
1215 |     case unknown(String)
1216 |     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
1217 |     case connectionFailedAfterReset
1218 |     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:193:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 191 |         if state != previousState {
 192 |             DispatchQueue.main.async { [weak self] in
 193 |                 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
 194 |             }
 195 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:193:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
 191 |         if state != previousState {
 192 |             DispatchQueue.main.async { [weak self] in
 193 |                 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
 194 |             }
 195 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:193:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
 191 |         if state != previousState {
 192 |             DispatchQueue.main.async { [weak self] in
 193 |                 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
 194 |             }
 195 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:328:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 326 |         paused = false
 327 |         DispatchQueue.main.async { [weak self] in
 328 |             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
 329 |             // Release cyclic reference.
 330 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:241:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 239 |                 // Allow Library Apps to show 100% Progress in this case.
 240 |                 DispatchQueue.main.async { [weak self] in
 241 |                     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
 242 |                                                             timestamp: Date())
 243 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:345:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 343 |         paused = false
 344 |         DispatchQueue.main.async { [weak self] in
 345 |             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
 346 |             // Release cyclic reference.
 347 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:345:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
 343 |         paused = false
 344 |         DispatchQueue.main.async { [weak self] in
 345 |             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
 346 |             // Release cyclic reference.
 347 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:974:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 972 |         self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
 973 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
 974 |             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
 975 |             self?.reconnect()
 976 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1113:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1111 |
1112 |         DispatchQueue.main.async { [weak self] in
1113 |             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
1114 |         }
1115 |     }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1124:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1122 |     public func uploadDidCancel() {
1123 |         DispatchQueue.main.async { [weak self] in
1124 |             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
1125 |         }
1126 |         state = .none
[77/82] Compiling iOSMcuManagerLibrary FirmwareUpgradeController.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1216: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
1214 | public enum FirmwareUpgradeError: Error, LocalizedError {
1215 |     case unknown(String)
1216 |     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
1217 |     case connectionFailedAfterReset
1218 |     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:193:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 191 |         if state != previousState {
 192 |             DispatchQueue.main.async { [weak self] in
 193 |                 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
 194 |             }
 195 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:193:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
 191 |         if state != previousState {
 192 |             DispatchQueue.main.async { [weak self] in
 193 |                 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
 194 |             }
 195 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:193:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
 191 |         if state != previousState {
 192 |             DispatchQueue.main.async { [weak self] in
 193 |                 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
 194 |             }
 195 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:328:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 326 |         paused = false
 327 |         DispatchQueue.main.async { [weak self] in
 328 |             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
 329 |             // Release cyclic reference.
 330 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:241:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 239 |                 // Allow Library Apps to show 100% Progress in this case.
 240 |                 DispatchQueue.main.async { [weak self] in
 241 |                     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
 242 |                                                             timestamp: Date())
 243 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:345:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 343 |         paused = false
 344 |         DispatchQueue.main.async { [weak self] in
 345 |             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
 346 |             // Release cyclic reference.
 347 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:345:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
 343 |         paused = false
 344 |         DispatchQueue.main.async { [weak self] in
 345 |             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
 346 |             // Release cyclic reference.
 347 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:974:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 972 |         self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
 973 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
 974 |             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
 975 |             self?.reconnect()
 976 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1113:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1111 |
1112 |         DispatchQueue.main.async { [weak self] in
1113 |             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
1114 |         }
1115 |     }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1124:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1122 |     public func uploadDidCancel() {
1123 |         DispatchQueue.main.async { [weak self] in
1124 |             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
1125 |         }
1126 |         state = .none
[78/82] Compiling iOSMcuManagerLibrary FirmwareUpgradeManager.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1216: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
1214 | public enum FirmwareUpgradeError: Error, LocalizedError {
1215 |     case unknown(String)
1216 |     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
1217 |     case connectionFailedAfterReset
1218 |     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:193:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 191 |         if state != previousState {
 192 |             DispatchQueue.main.async { [weak self] in
 193 |                 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
 194 |             }
 195 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:193:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
 191 |         if state != previousState {
 192 |             DispatchQueue.main.async { [weak self] in
 193 |                 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
 194 |             }
 195 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:193:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
 191 |         if state != previousState {
 192 |             DispatchQueue.main.async { [weak self] in
 193 |                 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
 194 |             }
 195 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:328:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 326 |         paused = false
 327 |         DispatchQueue.main.async { [weak self] in
 328 |             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
 329 |             // Release cyclic reference.
 330 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:241:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 239 |                 // Allow Library Apps to show 100% Progress in this case.
 240 |                 DispatchQueue.main.async { [weak self] in
 241 |                     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
 242 |                                                             timestamp: Date())
 243 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:345:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 343 |         paused = false
 344 |         DispatchQueue.main.async { [weak self] in
 345 |             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
 346 |             // Release cyclic reference.
 347 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:345:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
 343 |         paused = false
 344 |         DispatchQueue.main.async { [weak self] in
 345 |             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
 346 |             // Release cyclic reference.
 347 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:974:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 972 |         self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
 973 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
 974 |             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
 975 |             self?.reconnect()
 976 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1113:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1111 |
1112 |         DispatchQueue.main.async { [weak self] in
1113 |             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
1114 |         }
1115 |     }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1124:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1122 |     public func uploadDidCancel() {
1123 |         DispatchQueue.main.async { [weak self] in
1124 |             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
1125 |         }
1126 |         state = .none
[79/82] Compiling iOSMcuManagerLibrary DefaultManager.swift
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1216: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
1214 | public enum FirmwareUpgradeError: Error, LocalizedError {
1215 |     case unknown(String)
1216 |     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
1217 |     case connectionFailedAfterReset
1218 |     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:193:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 191 |         if state != previousState {
 192 |             DispatchQueue.main.async { [weak self] in
 193 |                 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
 194 |             }
 195 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:193:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
 191 |         if state != previousState {
 192 |             DispatchQueue.main.async { [weak self] in
 193 |                 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
 194 |             }
 195 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:193:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
 191 |         if state != previousState {
 192 |             DispatchQueue.main.async { [weak self] in
 193 |                 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
 194 |             }
 195 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:328:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 326 |         paused = false
 327 |         DispatchQueue.main.async { [weak self] in
 328 |             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
 329 |             // Release cyclic reference.
 330 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:241:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 239 |                 // Allow Library Apps to show 100% Progress in this case.
 240 |                 DispatchQueue.main.async { [weak self] in
 241 |                     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
 242 |                                                             timestamp: Date())
 243 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:345:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 343 |         paused = false
 344 |         DispatchQueue.main.async { [weak self] in
 345 |             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
 346 |             // Release cyclic reference.
 347 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:345:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
 343 |         paused = false
 344 |         DispatchQueue.main.async { [weak self] in
 345 |             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
 346 |             // Release cyclic reference.
 347 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:974:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 972 |         self.log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds reconnecting...", atLevel: .info)
 973 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
 974 |             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
 975 |             self?.reconnect()
 976 |         }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1113:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1111 |
1112 |         DispatchQueue.main.async { [weak self] in
1113 |             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
1114 |         }
1115 |     }
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift:1124:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1122 |     public func uploadDidCancel() {
1123 |         DispatchQueue.main.async { [weak self] in
1124 |             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
1125 |         }
1126 |         state = .none
[80/82] Compiling iOSMcuManagerLibrary CBOR+String.swift
[81/82] Compiling iOSMcuManagerLibrary ResultLock.swift
[82/82] Compiling iOSMcuManagerLibrary UTI.swift
Build complete! (13.31s)
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/valpackett/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",
        "McuMgrUploadPipeline.swift",
        "Utils/CBOR+String.swift",
        "Utils/ResultLock.swift",
        "Utils/UTI.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.