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 main (bcc6b9), with Swift 6.0 for macOS (SPM) on 7 Mar 2025 14:34:57 UTC.

Swift 6 data race errors: 15

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.2.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

    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:40:27: warning: static property 'byteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
    |                           |- warning: static property 'byteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'byteSpacing' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
    |                           |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'prepend0x' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
    |                           |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'twoByteSpacing' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
 44 |
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:43:27: warning: static property 'reverseEndianness' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
    |                           |- warning: static property 'reverseEndianness' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'reverseEndianness' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |
 45 |         public let rawValue: Int
[48/79] 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: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:40:27: warning: static property 'byteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
    |                           |- warning: static property 'byteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'byteSpacing' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
    |                           |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'prepend0x' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
    |                           |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'twoByteSpacing' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
 44 |
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:43:27: warning: static property 'reverseEndianness' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
    |                           |- warning: static property 'reverseEndianness' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'reverseEndianness' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |
 45 |         public let rawValue: Int
[49/79] 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: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:40:27: warning: static property 'byteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
    |                           |- warning: static property 'byteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'byteSpacing' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
    |                           |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'prepend0x' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
    |                           |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'twoByteSpacing' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
 44 |
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:43:27: warning: static property 'reverseEndianness' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
    |                           |- warning: static property 'reverseEndianness' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'reverseEndianness' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |
 45 |         public let rawValue: Int
[50/79] 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: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:40:27: warning: static property 'byteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
    |                           |- warning: static property 'byteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'byteSpacing' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
    |                           |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'prepend0x' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
    |                           |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'twoByteSpacing' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
 44 |
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:43:27: warning: static property 'reverseEndianness' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
    |                           |- warning: static property 'reverseEndianness' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'reverseEndianness' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |
 45 |         public let rawValue: Int
[51/82] Compiling iOSMcuManagerLibrary McuMgrSuitManifest.swift
[52/82] Compiling iOSMcuManagerLibrary McuMgrTransport.swift
[53/82] Compiling iOSMcuManagerLibrary McuMgrUploadPipeline.swift
[54/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 |
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
[55/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 |
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
[56/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 |
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
[57/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 |
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBUUID : NSObject, NSCopying {
   |            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 3 |     open var data: Data { get }
 4 |     @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
  6 |
  7 | import Foundation
  8 | import CoreBluetooth
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
  9 |
 10 | // MARK: - PeripheralState
    :
462 | public enum McuMgrBleTransportConstant {
463 |
464 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
    |                       |- note: annotate 'SMP_SERVICE' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'SMP_CHARACTERISTIC' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
466 |
467 |     /// Max number of retries until the transaction is failed.
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBUUID : NSObject, NSCopying {
   |            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 3 |     open var data: Data { get }
 4 |     @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift: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/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
    |                           |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'twoByteSpacing' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
 44 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure
 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 |         }
[58/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 |
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBUUID : NSObject, NSCopying {
   |            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 3 |     open var data: Data { get }
 4 |     @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
  6 |
  7 | import Foundation
  8 | import CoreBluetooth
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
  9 |
 10 | // MARK: - PeripheralState
    :
462 | public enum McuMgrBleTransportConstant {
463 |
464 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
    |                       |- note: annotate 'SMP_SERVICE' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'SMP_CHARACTERISTIC' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
466 |
467 |     /// Max number of retries until the transaction is failed.
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBUUID : NSObject, NSCopying {
   |            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 3 |     open var data: Data { get }
 4 |     @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift: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/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
    |                           |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'twoByteSpacing' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
 44 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure
 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 |         }
[59/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 |
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBUUID : NSObject, NSCopying {
   |            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 3 |     open var data: Data { get }
 4 |     @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
  6 |
  7 | import Foundation
  8 | import CoreBluetooth
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
  9 |
 10 | // MARK: - PeripheralState
    :
462 | public enum McuMgrBleTransportConstant {
463 |
464 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
    |                       |- note: annotate 'SMP_SERVICE' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'SMP_CHARACTERISTIC' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
466 |
467 |     /// Max number of retries until the transaction is failed.
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBUUID : NSObject, NSCopying {
   |            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 3 |     open var data: Data { get }
 4 |     @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift: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/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
    |                           |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'twoByteSpacing' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
 44 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure
 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 |         }
[60/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 |
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBUUID : NSObject, NSCopying {
   |            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 3 |     open var data: Data { get }
 4 |     @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
  6 |
  7 | import Foundation
  8 | import CoreBluetooth
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
  9 |
 10 | // MARK: - PeripheralState
    :
462 | public enum McuMgrBleTransportConstant {
463 |
464 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
    |                       |- note: annotate 'SMP_SERVICE' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'SMP_CHARACTERISTIC' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
466 |
467 |     /// Max number of retries until the transaction is failed.
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBUUID : NSObject, NSCopying {
   |            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 3 |     open var data: Data { get }
 4 |     @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift: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/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
    |                           |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'twoByteSpacing' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
 44 |
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransportWriteState.swift:38:20: warning: capture of 'self' with non-sendable type 'McuMgrBleTransportWriteState' in a `@Sendable` closure
 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 |         }
[61/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 |             }
[62/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 |             }
[63/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 |             }
[64/82] Compiling iOSMcuManagerLibrary FileSystemManager.swift
[65/82] Compiling iOSMcuManagerLibrary ImageManager.swift
[66/82] Compiling iOSMcuManagerLibrary LogManager.swift
[67/82] Compiling iOSMcuManagerLibrary RunTestManager.swift
[68/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/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
    |                           |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'prepend0x' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift: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
[69/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/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
    |                           |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'prepend0x' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift: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
[70/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/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
    |                           |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'prepend0x' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift: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
[71/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/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
    |                           |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'prepend0x' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift: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
[72/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 |                 }
[73/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 |                 }
[74/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 |                 }
[75/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 |                 }
[76/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/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                     |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'callback' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:30: warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                              |- warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'key' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:35: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                                   |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                   `- note: task-isolated 'value' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                 }
125 |             }
[77/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/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                     |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'callback' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:30: warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                              |- warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'key' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                 }
125 |             }
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift:123:35: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
121 |
122 |                 DispatchQueue.main.async {
123 |                     callback(key, value)
    |                                   |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                   `- note: task-isolated 'value' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                 }
125 |             }
[78/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/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/McuMgrROBBuffer.swift: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 |             }
[79/82] Compiling iOSMcuManagerLibrary CBOR+String.swift
[80/82] Compiling iOSMcuManagerLibrary ResultLock.swift
[81/82] Compiling iOSMcuManagerLibrary UTI.swift
[82/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 |
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBUUID : NSObject, NSCopying {
   |            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 3 |     open var data: Data { get }
 4 |     @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Bluetooth/McuMgrBleTransport.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
  6 |
  7 | import Foundation
  8 | import CoreBluetooth
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
  9 |
 10 | // MARK: - PeripheralState
    :
462 | public enum McuMgrBleTransportConstant {
463 |
464 |     public static let SMP_SERVICE = CBUUID(string: "8D53DC1D-1DB7-4CD3-868B-8A527460AA84")
    |                       |- note: annotate 'SMP_SERVICE' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'SMP_CHARACTERISTIC' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
466 |
467 |     /// Max number of retries until the transaction is failed.
CoreBluetooth.CBUUID:2:12: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class CBUUID : NSObject, NSCopying {
   |            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 3 |     open var data: Data { get }
 4 |     @available(macOS 10.10, *)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:39:27: warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'upperCase' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'upperCase' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:40:27: warning: static property 'byteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
    |                           |- warning: static property 'byteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'byteSpacing' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:41:27: warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
    |                           |- warning: static property 'prepend0x' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'prepend0x' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:42:27: warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
    |                           |- warning: static property 'twoByteSpacing' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'twoByteSpacing' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
 44 |
/Users/admin/builder/spi-builder-workspace/Source/Extensions/Data+McuManager.swift:43:27: warning: static property 'reverseEndianness' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     // MARK: - Hex Encoding
 37 |
 38 |     struct HexEncodingOptions: OptionSet {
    |            `- note: consider making struct 'HexEncodingOptions' conform to the 'Sendable' protocol
 39 |         public static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
 40 |         public static let byteSpacing = HexEncodingOptions(rawValue: 1 << 1)
 41 |         public static let prepend0x = HexEncodingOptions(rawValue: 1 << 2)
 42 |         public static let twoByteSpacing = HexEncodingOptions(rawValue: 1 << 3)
 43 |         public static let reverseEndianness = HexEncodingOptions(rawValue: 1 << 4)
    |                           |- warning: static property 'reverseEndianness' is not concurrency-safe because non-'Sendable' type 'Data.HexEncodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'reverseEndianness' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |
 45 |         public let rawValue: Int
/Users/admin/builder/spi-builder-workspace/Source/Managers/DFU/FirmwareUpgradeManager.swift: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 |         }
Build complete! (32.51s)
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.