The Swift Package Index logo.Swift Package Index

Build Information

Failed to build iOSMcuManagerLibrary, reference 1.14.2 (81bad9), with Swift 6.1 for macOS (SPM) on 1 Apr 2026 22:41:50 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64

Build Log

122 |                     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
123 |                 }
124 |             }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/SuitManager.swift:650: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
648 |
649 | public enum SuitManagerError: Error, LocalizedError {
650 |     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
651 |     case listRoleResponseMismatch(roleCount: Int, responseCount: Int)
652 |
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/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/iOSMcuManagerLibrary/Source/McuManager.swift:437: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
435 | public enum McuMgrError: Error, LocalizedError {
436 |     case returnCode(_ rc: McuMgrReturnCode)
437 |     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
438 |
439 |     public var errorDescription: String? {
    :
449 | // MARK: - McuMgrGroupReturnCode
450 |
451 | public class McuMgrGroupReturnCode: CBORMappable {
    |              `- note: class 'McuMgrGroupReturnCode' does not conform to the 'Sendable' protocol
452 |
453 |     // MARK: Public Properties
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/McuMgrCallbackOoOBuffer.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> Out-of-Order Buffer.
 16 |  */
 17 | public struct McuMgrCallbackOoOBuffer<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/iOSMcuManagerLibrary/Source/McuMgrCallbackOoOBuffer.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> Out-of-Order Buffer.
 16 |  */
 17 | public struct McuMgrCallbackOoOBuffer<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/iOSMcuManagerLibrary/Source/Managers/SuitManager.swift:531:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
529 |                 let waitTime: DispatchTimeInterval = .milliseconds(Self.POLLING_INTERVAL_MS)
530 |                 DispatchQueue.main.asyncAfter(deadline: .now() + waitTime) { [unowned self] in
531 |                     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
532 |                     self.poll(callback: self.pollingCallback)
533 |                 }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/McuManager.swift:156:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
154 |             } catch let robBufferError {
155 |                 DispatchQueue.main.async {
156 |                     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
157 |                 }
158 |             }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/McuManager.swift:156:30: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
154 |             } catch let robBufferError {
155 |                 DispatchQueue.main.async {
156 |                     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
157 |                 }
158 |             }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/McuMgrCallbackOoOBuffer.swift:122:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
120 |
121 |                 DispatchQueue.main.async {
122 |                     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
123 |                 }
124 |             }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/McuMgrCallbackOoOBuffer.swift:122:30: warning: sending 'key' risks causing data races; this is an error in the Swift 6 language mode
120 |
121 |                 DispatchQueue.main.async {
122 |                     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
123 |                 }
124 |             }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/McuMgrCallbackOoOBuffer.swift:122:35: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
120 |
121 |                 DispatchQueue.main.async {
122 |                     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
123 |                 }
124 |             }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/ImageManager.swift:539:17: warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
537 |
538 |     private func onUploadResponseError(_ error: any LocalizedError, for response: McuMgrUploadResponse) {
539 |         if case let McuMgrError.returnCode(.busy) = error {
    |                 `- warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
540 |             log(msg: "Received 'busy' Error from Device. Will try again after a short day.", atLevel: .debug)
541 |             if let offset = response.off {
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/ImageManager.swift:543:21: warning: capture of 'self' with non-sendable type 'ImageManager?' in a '@Sendable' closure
 11 | // MARK: - ImageManager
 12 |
 13 | public class ImageManager: McuManager {
    |              `- note: class 'ImageManager' does not conform to the 'Sendable' protocol
 14 |
 15 |     // MARK: Image
    :
541 |             if let offset = response.off {
542 |                 Timer.scheduledTimer(withTimeInterval: McuManager.BUSY_WAIT_DELAY_MS, repeats: false) { [weak self] timer in
543 |                     self?.sendNext(from: offset)
    |                     `- warning: capture of 'self' with non-sendable type 'ImageManager?' in a '@Sendable' closure
544 |                 }
545 |                 return // prevent Upload Cancellation.
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/ImageManager.swift:539:17: warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
537 |
538 |     private func onUploadResponseError(_ error: any LocalizedError, for response: McuMgrUploadResponse) {
539 |         if case let McuMgrError.returnCode(.busy) = error {
    |                 `- warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
540 |             log(msg: "Received 'busy' Error from Device. Will try again after a short day.", atLevel: .debug)
541 |             if let offset = response.off {
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/ImageManager.swift:543:21: warning: capture of 'self' with non-sendable type 'ImageManager?' in a '@Sendable' closure
 11 | // MARK: - ImageManager
 12 |
 13 | public class ImageManager: McuManager {
    |              `- note: class 'ImageManager' does not conform to the 'Sendable' protocol
 14 |
 15 |     // MARK: Image
    :
541 |             if let offset = response.off {
542 |                 Timer.scheduledTimer(withTimeInterval: McuManager.BUSY_WAIT_DELAY_MS, repeats: false) { [weak self] timer in
543 |                     self?.sendNext(from: offset)
    |                     `- warning: capture of 'self' with non-sendable type 'ImageManager?' in a '@Sendable' closure
544 |                 }
545 |                 return // prevent Upload Cancellation.
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/ImageManager.swift:539:17: warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
537 |
538 |     private func onUploadResponseError(_ error: any LocalizedError, for response: McuMgrUploadResponse) {
539 |         if case let McuMgrError.returnCode(.busy) = error {
    |                 `- warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
540 |             log(msg: "Received 'busy' Error from Device. Will try again after a short day.", atLevel: .debug)
541 |             if let offset = response.off {
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/ImageManager.swift:543:21: warning: capture of 'self' with non-sendable type 'ImageManager?' in a '@Sendable' closure
 11 | // MARK: - ImageManager
 12 |
 13 | public class ImageManager: McuManager {
    |              `- note: class 'ImageManager' does not conform to the 'Sendable' protocol
 14 |
 15 |     // MARK: Image
    :
541 |             if let offset = response.off {
542 |                 Timer.scheduledTimer(withTimeInterval: McuManager.BUSY_WAIT_DELAY_MS, repeats: false) { [weak self] timer in
543 |                     self?.sendNext(from: offset)
    |                     `- warning: capture of 'self' with non-sendable type 'ImageManager?' in a '@Sendable' closure
544 |                 }
545 |                 return // prevent Upload Cancellation.
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/ImageManager.swift:539:17: warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
537 |
538 |     private func onUploadResponseError(_ error: any LocalizedError, for response: McuMgrUploadResponse) {
539 |         if case let McuMgrError.returnCode(.busy) = error {
    |                 `- warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
540 |             log(msg: "Received 'busy' Error from Device. Will try again after a short day.", atLevel: .debug)
541 |             if let offset = response.off {
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/ImageManager.swift:543:21: warning: capture of 'self' with non-sendable type 'ImageManager?' in a '@Sendable' closure
 11 | // MARK: - ImageManager
 12 |
 13 | public class ImageManager: McuManager {
    |              `- note: class 'ImageManager' does not conform to the 'Sendable' protocol
 14 |
 15 |     // MARK: Image
    :
541 |             if let offset = response.off {
542 |                 Timer.scheduledTimer(withTimeInterval: McuManager.BUSY_WAIT_DELAY_MS, repeats: false) { [weak self] timer in
543 |                     self?.sendNext(from: offset)
    |                     `- warning: capture of 'self' with non-sendable type 'ImageManager?' in a '@Sendable' closure
544 |                 }
545 |                 return // prevent Upload Cancellation.
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:10:8: warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
 8 |
 9 | import Foundation
10 | import iOSMcuManagerLibrary
   |        `- warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
11 |
12 | // MARK: - DefaultManager+Async
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 |     // MARK: async params()
18 |
19 |     public func params() async throws -> McuMgrParametersResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<McuMgrParametersResponse, Error>) in
21 |             params { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:38:5: warning: 'public' modifier is redundant for instance method declared in a public extension
36 |     // MARK: async applicationInfo(format:)
37 |
38 |     public func applicationInfo(format: Set<ApplicationInfoFormat>) async throws -> AppInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
39 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<AppInfoResponse, Error>) in
40 |             applicationInfo(format: format) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:57:5: warning: 'public' modifier is redundant for instance method declared in a public extension
55 |     // MARK: bootloaderInfo()
56 |
57 |     public func bootloaderInfo() async throws -> (bootloader: BootloaderInfoResponse.Bootloader?, mode: BootloaderInfoResponse.Mode?, slot: UInt64?) {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
58 |         let bootloader = try await bootloaderQuery(.name).bootloader
59 |         guard bootloader == .mcuboot else { return (bootloader: bootloader, mode: nil, slot: nil) }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |     // MARK: bootloaderQuery(:)
67 |
68 |     public func bootloaderQuery(_ query: BootloaderInfoQuery) async throws -> BootloaderInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<BootloaderInfoResponse, Error>) in
70 |             bootloaderInfo(query: query) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:76:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
  74 |         if state != previousState {
  75 |             DispatchQueue.main.async { [weak self] in
  76 |                 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
  77 |             }
  78 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:76:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
  74 |         if state != previousState {
  75 |             DispatchQueue.main.async { [weak self] in
  76 |                 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
  77 |             }
  78 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:76:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
  74 |         if state != previousState {
  75 |             DispatchQueue.main.async { [weak self] in
  76 |                 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
  77 |             }
  78 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:286:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 284 |         paused = false
 285 |         DispatchQueue.main.async { [weak self] in
 286 |             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
 287 |             // Release cyclic reference.
 288 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:128:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 126 |                 // Allow Library Apps to show 100% Progress in this case.
 127 |                 DispatchQueue.main.async { [weak self] in
 128 |                     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
 129 |                                                             timestamp: Date())
 130 |                 }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:320:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 318 |         paused = false
 319 |         DispatchQueue.main.async { [weak self] in
 320 |             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
 321 |             // Release cyclic reference.
 322 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:320:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
 318 |         paused = false
 319 |         DispatchQueue.main.async { [weak self] in
 320 |             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
 321 |             // Release cyclic reference.
 322 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:630:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 628 |         DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { [weak self] in
 629 |             // Validation successful, begin with image upload.
 630 |             self?.upload()
     |             |- 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
 631 |         }
 632 |     }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:1053:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1051 |         log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds before reconnect attempt...", atLevel: .info)
1052 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
1053 |             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
1054 |             self?.reconnect()
1055 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:1152:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1150 |
1151 |         DispatchQueue.main.async { [weak self] in
1152 |             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
1153 |         }
1154 |     }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:1163:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1161 |     public func uploadDidCancel() {
1162 |         DispatchQueue.main.async { [weak self] in
1163 |             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
1164 |         }
1165 |         state = .none
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradePeripheralFinder.swift:44:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
42 |
43 |         DispatchQueue.main.asyncAfter(deadline: .now() + Self.Timeout) { [weak self] in
44 |             guard let self, let centralManager, let safeguardedDelegate,
   |                       |- 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
45 |                                 let searchCallback, centralManager.isScanning else { return }
46 |             // If we're still alive and Central Manager has not stopped scanning,
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:28:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
26 |
27 |                 if let response {
28 |                     continuation.resume(returning: response)
   |                                  |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
29 |                 } else {
30 |                     continuation.resume(throwing: McuMgrResponseParseError.invalidPayload)
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:47:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
45 |
46 |                 if let response {
47 |                     continuation.resume(returning: response)
   |                                  |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
48 |                 } else {
49 |                     continuation.resume(throwing: McuMgrResponseParseError.invalidPayload)
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:77:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
75 |
76 |                 if let response {
77 |                     continuation.resume(returning: response)
   |                                  |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
78 |                 } else {
79 |                     continuation.resume(throwing: McuMgrResponseParseError.invalidPayload)
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:10:8: warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
 8 |
 9 | import Foundation
10 | import iOSMcuManagerLibrary
   |        `- warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
11 |
12 | // MARK: - DefaultManager+Async
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 |     // MARK: async params()
18 |
19 |     public func params() async throws -> McuMgrParametersResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<McuMgrParametersResponse, Error>) in
21 |             params { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:38:5: warning: 'public' modifier is redundant for instance method declared in a public extension
36 |     // MARK: async applicationInfo(format:)
37 |
38 |     public func applicationInfo(format: Set<ApplicationInfoFormat>) async throws -> AppInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
39 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<AppInfoResponse, Error>) in
40 |             applicationInfo(format: format) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:57:5: warning: 'public' modifier is redundant for instance method declared in a public extension
55 |     // MARK: bootloaderInfo()
56 |
57 |     public func bootloaderInfo() async throws -> (bootloader: BootloaderInfoResponse.Bootloader?, mode: BootloaderInfoResponse.Mode?, slot: UInt64?) {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
58 |         let bootloader = try await bootloaderQuery(.name).bootloader
59 |         guard bootloader == .mcuboot else { return (bootloader: bootloader, mode: nil, slot: nil) }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |     // MARK: bootloaderQuery(:)
67 |
68 |     public func bootloaderQuery(_ query: BootloaderInfoQuery) async throws -> BootloaderInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<BootloaderInfoResponse, Error>) in
70 |             bootloaderInfo(query: query) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:76:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
  74 |         if state != previousState {
  75 |             DispatchQueue.main.async { [weak self] in
  76 |                 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
  77 |             }
  78 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:76:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
  74 |         if state != previousState {
  75 |             DispatchQueue.main.async { [weak self] in
  76 |                 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
  77 |             }
  78 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:76:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
  74 |         if state != previousState {
  75 |             DispatchQueue.main.async { [weak self] in
  76 |                 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
  77 |             }
  78 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:286:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 284 |         paused = false
 285 |         DispatchQueue.main.async { [weak self] in
 286 |             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
 287 |             // Release cyclic reference.
 288 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:128:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 126 |                 // Allow Library Apps to show 100% Progress in this case.
 127 |                 DispatchQueue.main.async { [weak self] in
 128 |                     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
 129 |                                                             timestamp: Date())
 130 |                 }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:320:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 318 |         paused = false
 319 |         DispatchQueue.main.async { [weak self] in
 320 |             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
 321 |             // Release cyclic reference.
 322 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:320:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
 318 |         paused = false
 319 |         DispatchQueue.main.async { [weak self] in
 320 |             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
 321 |             // Release cyclic reference.
 322 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:630:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 628 |         DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { [weak self] in
 629 |             // Validation successful, begin with image upload.
 630 |             self?.upload()
     |             |- 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
 631 |         }
 632 |     }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:1053:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1051 |         log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds before reconnect attempt...", atLevel: .info)
1052 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
1053 |             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
1054 |             self?.reconnect()
1055 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:1152:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1150 |
1151 |         DispatchQueue.main.async { [weak self] in
1152 |             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
1153 |         }
1154 |     }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:1163:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1161 |     public func uploadDidCancel() {
1162 |         DispatchQueue.main.async { [weak self] in
1163 |             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
1164 |         }
1165 |         state = .none
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradePeripheralFinder.swift:44:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
42 |
43 |         DispatchQueue.main.asyncAfter(deadline: .now() + Self.Timeout) { [weak self] in
44 |             guard let self, let centralManager, let safeguardedDelegate,
   |                       |- 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
45 |                                 let searchCallback, centralManager.isScanning else { return }
46 |             // If we're still alive and Central Manager has not stopped scanning,
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:28:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
26 |
27 |                 if let response {
28 |                     continuation.resume(returning: response)
   |                                  |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
29 |                 } else {
30 |                     continuation.resume(throwing: McuMgrResponseParseError.invalidPayload)
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:47:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
45 |
46 |                 if let response {
47 |                     continuation.resume(returning: response)
   |                                  |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
48 |                 } else {
49 |                     continuation.resume(throwing: McuMgrResponseParseError.invalidPayload)
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:77:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
75 |
76 |                 if let response {
77 |                     continuation.resume(returning: response)
   |                                  |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
78 |                 } else {
79 |                     continuation.resume(throwing: McuMgrResponseParseError.invalidPayload)
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:10:8: warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
 8 |
 9 | import Foundation
10 | import iOSMcuManagerLibrary
   |        `- warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
11 |
12 | // MARK: - DefaultManager+Async
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 |     // MARK: async params()
18 |
19 |     public func params() async throws -> McuMgrParametersResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<McuMgrParametersResponse, Error>) in
21 |             params { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:38:5: warning: 'public' modifier is redundant for instance method declared in a public extension
36 |     // MARK: async applicationInfo(format:)
37 |
38 |     public func applicationInfo(format: Set<ApplicationInfoFormat>) async throws -> AppInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
39 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<AppInfoResponse, Error>) in
40 |             applicationInfo(format: format) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:57:5: warning: 'public' modifier is redundant for instance method declared in a public extension
55 |     // MARK: bootloaderInfo()
56 |
57 |     public func bootloaderInfo() async throws -> (bootloader: BootloaderInfoResponse.Bootloader?, mode: BootloaderInfoResponse.Mode?, slot: UInt64?) {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
58 |         let bootloader = try await bootloaderQuery(.name).bootloader
59 |         guard bootloader == .mcuboot else { return (bootloader: bootloader, mode: nil, slot: nil) }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |     // MARK: bootloaderQuery(:)
67 |
68 |     public func bootloaderQuery(_ query: BootloaderInfoQuery) async throws -> BootloaderInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<BootloaderInfoResponse, Error>) in
70 |             bootloaderInfo(query: query) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:76:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
  74 |         if state != previousState {
  75 |             DispatchQueue.main.async { [weak self] in
  76 |                 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
  77 |             }
  78 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:76:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
  74 |         if state != previousState {
  75 |             DispatchQueue.main.async { [weak self] in
  76 |                 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
  77 |             }
  78 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:76:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
  74 |         if state != previousState {
  75 |             DispatchQueue.main.async { [weak self] in
  76 |                 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
  77 |             }
  78 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:286:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 284 |         paused = false
 285 |         DispatchQueue.main.async { [weak self] in
 286 |             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
 287 |             // Release cyclic reference.
 288 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:128:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 126 |                 // Allow Library Apps to show 100% Progress in this case.
 127 |                 DispatchQueue.main.async { [weak self] in
 128 |                     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
 129 |                                                             timestamp: Date())
 130 |                 }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:320:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 318 |         paused = false
 319 |         DispatchQueue.main.async { [weak self] in
 320 |             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
 321 |             // Release cyclic reference.
 322 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:320:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
 318 |         paused = false
 319 |         DispatchQueue.main.async { [weak self] in
 320 |             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
 321 |             // Release cyclic reference.
 322 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:630:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 628 |         DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { [weak self] in
 629 |             // Validation successful, begin with image upload.
 630 |             self?.upload()
     |             |- 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
 631 |         }
 632 |     }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:1053:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1051 |         log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds before reconnect attempt...", atLevel: .info)
1052 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
1053 |             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
1054 |             self?.reconnect()
1055 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:1152:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1150 |
1151 |         DispatchQueue.main.async { [weak self] in
1152 |             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
1153 |         }
1154 |     }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:1163:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1161 |     public func uploadDidCancel() {
1162 |         DispatchQueue.main.async { [weak self] in
1163 |             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
1164 |         }
1165 |         state = .none
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradePeripheralFinder.swift:44:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
42 |
43 |         DispatchQueue.main.asyncAfter(deadline: .now() + Self.Timeout) { [weak self] in
44 |             guard let self, let centralManager, let safeguardedDelegate,
   |                       |- 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
45 |                                 let searchCallback, centralManager.isScanning else { return }
46 |             // If we're still alive and Central Manager has not stopped scanning,
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:28:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
26 |
27 |                 if let response {
28 |                     continuation.resume(returning: response)
   |                                  |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
29 |                 } else {
30 |                     continuation.resume(throwing: McuMgrResponseParseError.invalidPayload)
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:47:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
45 |
46 |                 if let response {
47 |                     continuation.resume(returning: response)
   |                                  |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
48 |                 } else {
49 |                     continuation.resume(throwing: McuMgrResponseParseError.invalidPayload)
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:77:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
75 |
76 |                 if let response {
77 |                     continuation.resume(returning: response)
   |                                  |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
78 |                 } else {
79 |                     continuation.resume(throwing: McuMgrResponseParseError.invalidPayload)
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:10:8: warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
 8 |
 9 | import Foundation
10 | import iOSMcuManagerLibrary
   |        `- warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
11 |
12 | // MARK: - DefaultManager+Async
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 |     // MARK: async params()
18 |
19 |     public func params() async throws -> McuMgrParametersResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<McuMgrParametersResponse, Error>) in
21 |             params { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:38:5: warning: 'public' modifier is redundant for instance method declared in a public extension
36 |     // MARK: async applicationInfo(format:)
37 |
38 |     public func applicationInfo(format: Set<ApplicationInfoFormat>) async throws -> AppInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
39 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<AppInfoResponse, Error>) in
40 |             applicationInfo(format: format) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:57:5: warning: 'public' modifier is redundant for instance method declared in a public extension
55 |     // MARK: bootloaderInfo()
56 |
57 |     public func bootloaderInfo() async throws -> (bootloader: BootloaderInfoResponse.Bootloader?, mode: BootloaderInfoResponse.Mode?, slot: UInt64?) {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
58 |         let bootloader = try await bootloaderQuery(.name).bootloader
59 |         guard bootloader == .mcuboot else { return (bootloader: bootloader, mode: nil, slot: nil) }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |     // MARK: bootloaderQuery(:)
67 |
68 |     public func bootloaderQuery(_ query: BootloaderInfoQuery) async throws -> BootloaderInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<BootloaderInfoResponse, Error>) in
70 |             bootloaderInfo(query: query) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:76:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
  74 |         if state != previousState {
  75 |             DispatchQueue.main.async { [weak self] in
  76 |                 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
  77 |             }
  78 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:76:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
  74 |         if state != previousState {
  75 |             DispatchQueue.main.async { [weak self] in
  76 |                 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
  77 |             }
  78 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:76:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
  74 |         if state != previousState {
  75 |             DispatchQueue.main.async { [weak self] in
  76 |                 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
  77 |             }
  78 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:286:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 284 |         paused = false
 285 |         DispatchQueue.main.async { [weak self] in
 286 |             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
 287 |             // Release cyclic reference.
 288 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:128:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 126 |                 // Allow Library Apps to show 100% Progress in this case.
 127 |                 DispatchQueue.main.async { [weak self] in
 128 |                     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
 129 |                                                             timestamp: Date())
 130 |                 }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:320:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 318 |         paused = false
 319 |         DispatchQueue.main.async { [weak self] in
 320 |             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
 321 |             // Release cyclic reference.
 322 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:320:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
 318 |         paused = false
 319 |         DispatchQueue.main.async { [weak self] in
 320 |             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
 321 |             // Release cyclic reference.
 322 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:630:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 628 |         DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { [weak self] in
 629 |             // Validation successful, begin with image upload.
 630 |             self?.upload()
     |             |- 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
 631 |         }
 632 |     }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:1053:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1051 |         log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds before reconnect attempt...", atLevel: .info)
1052 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
1053 |             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
1054 |             self?.reconnect()
1055 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:1152:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1150 |
1151 |         DispatchQueue.main.async { [weak self] in
1152 |             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
1153 |         }
1154 |     }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:1163:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1161 |     public func uploadDidCancel() {
1162 |         DispatchQueue.main.async { [weak self] in
1163 |             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
1164 |         }
1165 |         state = .none
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradePeripheralFinder.swift:44:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
42 |
43 |         DispatchQueue.main.asyncAfter(deadline: .now() + Self.Timeout) { [weak self] in
44 |             guard let self, let centralManager, let safeguardedDelegate,
   |                       |- 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
45 |                                 let searchCallback, centralManager.isScanning else { return }
46 |             // If we're still alive and Central Manager has not stopped scanning,
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:28:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
26 |
27 |                 if let response {
28 |                     continuation.resume(returning: response)
   |                                  |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
29 |                 } else {
30 |                     continuation.resume(throwing: McuMgrResponseParseError.invalidPayload)
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:47:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
45 |
46 |                 if let response {
47 |                     continuation.resume(returning: response)
   |                                  |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
48 |                 } else {
49 |                     continuation.resume(throwing: McuMgrResponseParseError.invalidPayload)
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:77:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
75 |
76 |                 if let response {
77 |                     continuation.resume(returning: response)
   |                                  |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
78 |                 } else {
79 |                     continuation.resume(throwing: McuMgrResponseParseError.invalidPayload)
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:10:8: warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
 8 |
 9 | import Foundation
10 | import iOSMcuManagerLibrary
   |        `- warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
11 |
12 | // MARK: - DefaultManager+Async
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 |     // MARK: async params()
18 |
19 |     public func params() async throws -> McuMgrParametersResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<McuMgrParametersResponse, Error>) in
21 |             params { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:38:5: warning: 'public' modifier is redundant for instance method declared in a public extension
36 |     // MARK: async applicationInfo(format:)
37 |
38 |     public func applicationInfo(format: Set<ApplicationInfoFormat>) async throws -> AppInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
39 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<AppInfoResponse, Error>) in
40 |             applicationInfo(format: format) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:57:5: warning: 'public' modifier is redundant for instance method declared in a public extension
55 |     // MARK: bootloaderInfo()
56 |
57 |     public func bootloaderInfo() async throws -> (bootloader: BootloaderInfoResponse.Bootloader?, mode: BootloaderInfoResponse.Mode?, slot: UInt64?) {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
58 |         let bootloader = try await bootloaderQuery(.name).bootloader
59 |         guard bootloader == .mcuboot else { return (bootloader: bootloader, mode: nil, slot: nil) }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |     // MARK: bootloaderQuery(:)
67 |
68 |     public func bootloaderQuery(_ query: BootloaderInfoQuery) async throws -> BootloaderInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<BootloaderInfoResponse, Error>) in
70 |             bootloaderInfo(query: query) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:76:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
  74 |         if state != previousState {
  75 |             DispatchQueue.main.async { [weak self] in
  76 |                 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
  77 |             }
  78 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:76:61: warning: sending 'previousState' risks causing data races; this is an error in the Swift 6 language mode
  74 |         if state != previousState {
  75 |             DispatchQueue.main.async { [weak self] in
  76 |                 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
  77 |             }
  78 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:76:80: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
  74 |         if state != previousState {
  75 |             DispatchQueue.main.async { [weak self] in
  76 |                 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
  77 |             }
  78 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:286:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 284 |         paused = false
 285 |         DispatchQueue.main.async { [weak self] in
 286 |             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
 287 |             // Release cyclic reference.
 288 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:128:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 126 |                 // Allow Library Apps to show 100% Progress in this case.
 127 |                 DispatchQueue.main.async { [weak self] in
 128 |                     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
 129 |                                                             timestamp: Date())
 130 |                 }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:320:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 318 |         paused = false
 319 |         DispatchQueue.main.async { [weak self] in
 320 |             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
 321 |             // Release cyclic reference.
 322 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:320:53: warning: sending 'tmp' risks causing data races; this is an error in the Swift 6 language mode
 318 |         paused = false
 319 |         DispatchQueue.main.async { [weak self] in
 320 |             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
 321 |             // Release cyclic reference.
 322 |             self?.cyclicReferenceHolder = nil
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:630:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 628 |         DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { [weak self] in
 629 |             // Validation successful, begin with image upload.
 630 |             self?.upload()
     |             |- 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
 631 |         }
 632 |     }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:1053:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1051 |         log(msg: "Waiting \(Int(configuration.estimatedSwapTime)) seconds before reconnect attempt...", atLevel: .info)
1052 |         DispatchQueue.main.asyncAfter(deadline: .now() + remainingTime) { [weak self] in
1053 |             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
1054 |             self?.reconnect()
1055 |         }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:1152:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1150 |
1151 |         DispatchQueue.main.async { [weak self] in
1152 |             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
1153 |         }
1154 |     }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradeManager.swift:1163:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
1161 |     public func uploadDidCancel() {
1162 |         DispatchQueue.main.async { [weak self] in
1163 |             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
1164 |         }
1165 |         state = .none
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DFU/FirmwareUpgradePeripheralFinder.swift:44:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
42 |
43 |         DispatchQueue.main.asyncAfter(deadline: .now() + Self.Timeout) { [weak self] in
44 |             guard let self, let centralManager, let safeguardedDelegate,
   |                       |- 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
45 |                                 let searchCallback, centralManager.isScanning else { return }
46 |             // If we're still alive and Central Manager has not stopped scanning,
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:28:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
26 |
27 |                 if let response {
28 |                     continuation.resume(returning: response)
   |                                  |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
29 |                 } else {
30 |                     continuation.resume(throwing: McuMgrResponseParseError.invalidPayload)
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:47:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
45 |
46 |                 if let response {
47 |                     continuation.resume(returning: response)
   |                                  |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
48 |                 } else {
49 |                     continuation.resume(throwing: McuMgrResponseParseError.invalidPayload)
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:77:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
75 |
76 |                 if let response {
77 |                     continuation.resume(returning: response)
   |                                  |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
78 |                 } else {
79 |                     continuation.resume(throwing: McuMgrResponseParseError.invalidPayload)
[174/244] Compiling iOSMcuManagerLibrary McuMgrUploadPipeline.swift
[175/244] Compiling iOSMcuManagerLibrary CBOR+String.swift
[176/244] Compiling iOSMcuManagerLibrary ResultLock.swift
[177/244] Compiling iOSMcuManagerLibrary UTI.swift
[180/244] Compiling iOS_Common_Libraries Float.swift
[181/244] Compiling iOS_Common_Libraries Option.swift
[182/244] Compiling iOS_Common_Libraries Preview.swift
[183/244] Compiling iOS_Common_Libraries RSSI.swift
[184/244] Compiling iOS_Common_Libraries Sequence.swift
[185/244] Compiling iOS_Common_Libraries String.swift
[194/244] Compiling iOS_Common_Libraries LabelStyle.swift
[195/244] Compiling iOS_Common_Libraries LabeledContentStyle.swift
[196/244] Compiling iOS_Common_Libraries TextFieldAlertModifier.swift
[197/244] Compiling iOS_Common_Libraries Task.swift
[198/244] Compiling iOS_Common_Libraries AppIconView.swift
[199/244] Compiling iOS_Common_Libraries BadgeView.swift
[200/244] Compiling iOS_Common_Libraries BlinkingCursorView.swift
[201/244] Compiling iOS_Common_Libraries CancellableTextField.swift
[202/244] Compiling iOS_Common_Libraries UInt16Parser.swift
[203/244] Compiling iOS_Common_Libraries UInt32Parser.swift
[204/244] Compiling iOS_Common_Libraries UInt8Parser.swift
[205/244] Compiling iOS_Common_Libraries RecordOpcode.swift
[206/244] Compiling iOS_Common_Libraries RecordOperator.swift
[207/244] Compiling iOS_Common_Libraries RecordResponseStatus.swift
[208/244] Compiling iOS_Common_Libraries SensorLocation.swift
[209/244] Compiling iOS_Common_Libraries SensorType.swift
[210/244] Compiling iOS_Common_Libraries DevZoneLinkView.swift
[211/244] Compiling iOS_Common_Libraries DotView.swift
[212/244] Compiling iOS_Common_Libraries FPSCounter.swift
[213/244] Compiling iOS_Common_Libraries IndeterminateProgressView.swift
[214/244] Compiling iOS_Common_Libraries InlinePicker.swift
[215/244] Compiling iOS_Common_Libraries InlineSegmentedControlPicker.swift
[216/244] Compiling iOS_Common_Libraries NoContentView.swift
[217/244] Compiling iOS_Common_Libraries NordicDataField.swift
[218/244] Compiling iOS_Common_Libraries PasswordField.swift
[219/244] Compiling iOS_Common_Libraries PipelineManager.swift
[220/244] Compiling iOS_Common_Libraries PipelineStage.swift
[221/244] Compiling iOS_Common_Libraries PipelineView.swift
[222/244] Compiling iOS_Common_Libraries ProgressView.swift
[223/244] Compiling iOS_Common_Libraries RSSIShape.swift
[224/244] Compiling iOS_Common_Libraries RSSIView.swift
[225/244] Compiling iOS_Common_Libraries SourceCodeLinkView.swift
[226/244] Emitting module iOS_Common_Libraries
[245/259] Compiling iOSOtaLibrary ObservabilityManager.swift
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager.swift:80:17: warning: capture of 'self' with non-sendable type 'ObservabilityManager?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | // MARK: - ObservabilityManager
 15 |
 16 | public final class ObservabilityManager {
    |                    `- note: class 'ObservabilityManager' does not conform to the 'Sendable' protocol
 17 |
 18 |     // MARK: Private Constants
    :
 78 |             deviceContinuations[identifier] = continuation
 79 |             continuation.onTermination = { @Sendable [weak self] termination in
 80 |                 self?.log("Detected AsyncObservabilityStream termination.")
    |                 `- warning: capture of 'self' with non-sendable type 'ObservabilityManager?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 81 |             }
 82 |         }
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager.swift:84:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 82 |         }
 83 |
 84 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 85 |             await connectAndAuthenticate(from: identifier)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 86 |         }
 87 |         return asyncObservabilityDeviceStream
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager.swift:98:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 96 |      */
 97 |     func disconnect(from identifier: UUID) {
 98 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 99 |             await disconnect(from: identifier)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
100 |         }
101 |     }
[246/260] Compiling iOSOtaLibrary ObservabilityManager+Logs.swift
[247/260] Compiling iOSOtaLibrary ObservabilityError.swift
[248/260] Compiling iOSOtaLibrary ObservabilityManager+Internal.swift
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager+Internal.swift:149:26: warning: variable 'self' was written to, but never read
147 |         peripheral
148 |             .listenValues(for: dataExportCharacteristic)
149 |             .map { [weak self] data in
    |                          `- warning: variable 'self' was written to, but never read
150 |                 ObservabilityChunk(data)
151 |             }
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager+Internal.swift:193:13: warning: capture of 'self' with non-sendable type 'ObservabilityManager?' in a '@Sendable' closure
191 |         retryTimer = Timer.scheduledTimer(withTimeInterval: Self.AutoUploadRetryDelay, repeats: false) { [weak self] timer in
192 |             timer.invalidate()
193 |             self?.retryTimer = nil
    |             `- warning: capture of 'self' with non-sendable type 'ObservabilityManager?' in a '@Sendable' closure
194 |             self?.resumeUploadsIfNotBusy(for: identifier, with: auth)
195 |         }
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager.swift:16:20: note: class 'ObservabilityManager' does not conform to the 'Sendable' protocol
 14 | // MARK: - ObservabilityManager
 15 |
 16 | public final class ObservabilityManager {
    |                    `- note: class 'ObservabilityManager' does not conform to the 'Sendable' protocol
 17 |
 18 |     // MARK: Private Constants
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager+Internal.swift:194:65: warning: capture of 'auth' with non-sendable type 'ObservabilityAuth' in a '@Sendable' closure
192 |             timer.invalidate()
193 |             self?.retryTimer = nil
194 |             self?.resumeUploadsIfNotBusy(for: identifier, with: auth)
    |                                                                 `- warning: capture of 'auth' with non-sendable type 'ObservabilityAuth' in a '@Sendable' closure
195 |         }
196 |     }
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/PostChunkRequest.swift:49:15: note: consider making struct 'ObservabilityAuth' conform to the 'Sendable' protocol
47 | // MARK: - ObservabilityAuth
48 |
49 | public struct ObservabilityAuth {
   |               `- note: consider making struct 'ObservabilityAuth' conform to the 'Sendable' protocol
50 |
51 |     let url: URL
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager+Internal.swift:226:35: warning: immutable value 'error' was never used; consider replacing with '_' or removing it
224 |                     self?.log("finished!")
225 |                     self?.networkBusy = false
226 |                 case .failure(let error):
    |                                   `- warning: immutable value 'error' was never used; consider replacing with '_' or removing it
227 |                     guard let self else { return }
228 |                     let updatedChunk = state.update(uploadingChunk, from: identifier, to: .uploadError)
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager+Internal.swift:135:46: warning: sending value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' risks causing data races; this is an error in the Swift 6 language mode
133 |         for chunk in pendingChunks {
134 |             let pendingChunk = state.update(chunk, from: identifier, to: .pendingUpload)
135 |             deviceContinuations[identifier]?.yield((identifier, .updatedChunk(pendingChunk)))
    |                                              |- warning: sending value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' risks causing data races; this is an error in the Swift 6 language mode
    |                                              `- note: Passing task-isolated value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
136 |         }
137 |     }
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager+Internal.swift:218:42: warning: sending value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' risks causing data races; this is an error in the Swift 6 language mode
216 |
217 |         let uploadingChunk = state.update(chunk, from: identifier, to: .uploading)
218 |         deviceContinuations[identifier]?.yield((identifier, .updatedChunk(uploadingChunk)))
    |                                          |- warning: sending value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: Passing task-isolated value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
219 |         network.perform(HTTPRequest.post(uploadingChunk, with: auth))
220 |             .receive(on: RunLoop.main)
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager+Internal.swift:75:46: warning: sending value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' risks causing data races; this is an error in the Swift 6 language mode
 73 |                                          authValue: String(authString[1]))
 74 |             devices[identifier]?.auth = auth
 75 |             deviceContinuations[identifier]?.yield((identifier, .authenticated(auth)))
    |                                              |- warning: sending value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' risks causing data races; this is an error in the Swift 6 language mode
    |                                              `- note: Passing task-isolated value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
 76 |
 77 |             let setNotifyResult = try await peripheral.setNotifyValue(true, for: mdsData)
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager+Internal.swift:208:42: warning: sending value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' risks causing data races; this is an error in the Swift 6 language mode
206 |         log("Received Chunk Seq. Number \(chunk.sequenceNumber) with Timestamp: \(chunk.timestamp)")
207 |         state.add([chunk], for: identifier)
208 |         deviceContinuations[identifier]?.yield((identifier, .updatedChunk(chunk)))
    |                                          |- warning: sending value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: Passing task-isolated value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
209 |     }
210 |
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager+Internal.swift:229:54: warning: sending value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' risks causing data races; this is an error in the Swift 6 language mode
227 |                     guard let self else { return }
228 |                     let updatedChunk = state.update(uploadingChunk, from: identifier, to: .uploadError)
229 |                     deviceContinuations[identifier]?.yield((identifier, .updatedChunk(updatedChunk)))
    |                                                      |- warning: sending value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' risks causing data races; this is an error in the Swift 6 language mode
    |                                                      `- note: Passing task-isolated value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
230 |                     networkBusy = false
231 |                     deviceContinuations[identifier]?.yield((identifier, .online(false)))
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager+Internal.swift:238:50: warning: sending value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' risks causing data races; this is an error in the Swift 6 language mode
236 |                 log("Uploaded Chunk Seq. Number \(uploadingChunk.sequenceNumber) with Timestamp: \(chunk.timestamp)")
237 |                 let successfulChunk = state.update(uploadingChunk, from: identifier, to: .success)
238 |                 deviceContinuations[identifier]?.yield((identifier, .updatedChunk(successfulChunk)))
    |                                                  |- warning: sending value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' risks causing data races; this is an error in the Swift 6 language mode
    |                                                  `- note: Passing task-isolated value of non-Sendable type '(deviceUUID: UUID, event: ObservabilityDeviceEvent)' as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
239 |                 state.clear(successfulChunk, from: identifier)
240 |                 guard let nextUpload = state.nextChunk(for: identifier) else {
[249/260] Compiling iOSOtaLibrary PostChunkRequest.swift
[250/260] Compiling iOSOtaLibrary GetLatestReleaseInfoRequest.swift
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/MemfaultManager.swift:80:30: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
 78 |                     return
 79 |                 }
 80 |                 continuation.resume(returning: response)
    |                              |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 81 |             }
 82 |             send(op: .read, commandId: command, payload: nil, callback: callback)
[251/260] Compiling iOSOtaLibrary MemfaultManager.swift
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/MemfaultManager.swift:80:30: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
 78 |                     return
 79 |                 }
 80 |                 continuation.resume(returning: response)
    |                              |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 81 |             }
 82 |             send(op: .read, commandId: command, payload: nil, callback: callback)
[252/260] Compiling iOSOtaLibrary ProjectKey.swift
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:17:16: warning: static property 'MDS' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
15 | public extension CBUUID {
16 |
17 |     static let MDS = CBUUID(string: "54220000-F6A5-4007-A371-722F4EBD8436")
   |                `- warning: static property 'MDS' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
18 |     static let MDSDeviceIdentifierCharacteristic = CBUUID(string: "54220002-f6a5-4007-a371-722f4ebd8436")
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
 8 |
 9 | import Foundation
10 | import CoreBluetooth
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
11 | internal import iOS_BLE_Library_Mock
12 |
   :
15 | public extension CBUUID {
16 |
17 |     static let MDS = CBUUID(string: "54220000-F6A5-4007-A371-722F4EBD8436")
   |                |- note: add '@MainActor' to make static property 'MDS' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |     static let MDSDeviceIdentifierCharacteristic = CBUUID(string: "54220002-f6a5-4007-a371-722f4ebd8436")
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:18:16: warning: static property 'MDSDeviceIdentifierCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
16 |
17 |     static let MDS = CBUUID(string: "54220000-F6A5-4007-A371-722F4EBD8436")
18 |     static let MDSDeviceIdentifierCharacteristic = CBUUID(string: "54220002-f6a5-4007-a371-722f4ebd8436")
   |                |- warning: static property 'MDSDeviceIdentifierCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'MDSDeviceIdentifierCharacteristic' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
20 |     static let MDSAuthCharacteristic = CBUUID(string: "54220004-f6a5-4007-a371-722f4ebd8436")
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:19:16: warning: static property 'MDSDataURICharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
17 |     static let MDS = CBUUID(string: "54220000-F6A5-4007-A371-722F4EBD8436")
18 |     static let MDSDeviceIdentifierCharacteristic = CBUUID(string: "54220002-f6a5-4007-a371-722f4ebd8436")
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
   |                |- warning: static property 'MDSDataURICharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'MDSDataURICharacteristic' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |     static let MDSAuthCharacteristic = CBUUID(string: "54220004-f6a5-4007-a371-722f4ebd8436")
21 |     static let MDSDataExportCharacteristic = CBUUID(string: "54220005-f6a5-4007-a371-722f4ebd8436")
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:20:16: warning: static property 'MDSAuthCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
18 |     static let MDSDeviceIdentifierCharacteristic = CBUUID(string: "54220002-f6a5-4007-a371-722f4ebd8436")
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
20 |     static let MDSAuthCharacteristic = CBUUID(string: "54220004-f6a5-4007-a371-722f4ebd8436")
   |                |- warning: static property 'MDSAuthCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'MDSAuthCharacteristic' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 |     static let MDSDataExportCharacteristic = CBUUID(string: "54220005-f6a5-4007-a371-722f4ebd8436")
22 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:21:16: warning: static property 'MDSDataExportCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
20 |     static let MDSAuthCharacteristic = CBUUID(string: "54220004-f6a5-4007-a371-722f4ebd8436")
21 |     static let MDSDataExportCharacteristic = CBUUID(string: "54220005-f6a5-4007-a371-722f4ebd8436")
   |                |- warning: static property 'MDSDataExportCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'MDSDataExportCharacteristic' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | }
23 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
[253/260] Compiling iOSOtaLibrary CBUUID+MDS.swift
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:17:16: warning: static property 'MDS' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
15 | public extension CBUUID {
16 |
17 |     static let MDS = CBUUID(string: "54220000-F6A5-4007-A371-722F4EBD8436")
   |                `- warning: static property 'MDS' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
18 |     static let MDSDeviceIdentifierCharacteristic = CBUUID(string: "54220002-f6a5-4007-a371-722f4ebd8436")
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
 8 |
 9 | import Foundation
10 | import CoreBluetooth
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
11 | internal import iOS_BLE_Library_Mock
12 |
   :
15 | public extension CBUUID {
16 |
17 |     static let MDS = CBUUID(string: "54220000-F6A5-4007-A371-722F4EBD8436")
   |                |- note: add '@MainActor' to make static property 'MDS' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |     static let MDSDeviceIdentifierCharacteristic = CBUUID(string: "54220002-f6a5-4007-a371-722f4ebd8436")
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:18:16: warning: static property 'MDSDeviceIdentifierCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
16 |
17 |     static let MDS = CBUUID(string: "54220000-F6A5-4007-A371-722F4EBD8436")
18 |     static let MDSDeviceIdentifierCharacteristic = CBUUID(string: "54220002-f6a5-4007-a371-722f4ebd8436")
   |                |- warning: static property 'MDSDeviceIdentifierCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'MDSDeviceIdentifierCharacteristic' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
20 |     static let MDSAuthCharacteristic = CBUUID(string: "54220004-f6a5-4007-a371-722f4ebd8436")
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:19:16: warning: static property 'MDSDataURICharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
17 |     static let MDS = CBUUID(string: "54220000-F6A5-4007-A371-722F4EBD8436")
18 |     static let MDSDeviceIdentifierCharacteristic = CBUUID(string: "54220002-f6a5-4007-a371-722f4ebd8436")
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
   |                |- warning: static property 'MDSDataURICharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'MDSDataURICharacteristic' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |     static let MDSAuthCharacteristic = CBUUID(string: "54220004-f6a5-4007-a371-722f4ebd8436")
21 |     static let MDSDataExportCharacteristic = CBUUID(string: "54220005-f6a5-4007-a371-722f4ebd8436")
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:20:16: warning: static property 'MDSAuthCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
18 |     static let MDSDeviceIdentifierCharacteristic = CBUUID(string: "54220002-f6a5-4007-a371-722f4ebd8436")
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
20 |     static let MDSAuthCharacteristic = CBUUID(string: "54220004-f6a5-4007-a371-722f4ebd8436")
   |                |- warning: static property 'MDSAuthCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'MDSAuthCharacteristic' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 |     static let MDSDataExportCharacteristic = CBUUID(string: "54220005-f6a5-4007-a371-722f4ebd8436")
22 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:21:16: warning: static property 'MDSDataExportCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
20 |     static let MDSAuthCharacteristic = CBUUID(string: "54220004-f6a5-4007-a371-722f4ebd8436")
21 |     static let MDSDataExportCharacteristic = CBUUID(string: "54220005-f6a5-4007-a371-722f4ebd8436")
   |                |- warning: static property 'MDSDataExportCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'MDSDataExportCharacteristic' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | }
23 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
[254/260] Compiling iOSOtaLibrary ObservabilityChunk.swift
[255/260] Compiling iOSOtaLibrary ObservabilityDevice.swift
[256/260] Emitting module iOSOtaLibrary
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/Tokens/DeviceInfoToken.swift:75:45: warning: non-breaking space (U+00A0) used instead of regular space
73 |     public var failureReason: String? { errorDescription }
74 |
75 |     public var recoverySuggestion: String? { errorDescription }
   |                                             `- warning: non-breaking space (U+00A0) used instead of regular space
76 | }
77 |
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:216:10: warning: associated value 'invalidProjectKey' of 'Sendable'-conforming enum 'OTAManagerError' has non-sendable type 'DeviceInfoToken'; this is an error in the Swift 6 language mode
214 |     case unableToParseResponse
215 |     case networkError
216 |     case invalidProjectKey(_ deviceInfo: DeviceInfoToken)
    |          `- warning: associated value 'invalidProjectKey' of 'Sendable'-conforming enum 'OTAManagerError' has non-sendable type 'DeviceInfoToken'; this is an error in the Swift 6 language mode
217 |     case deviceIsUpToDate
218 |     case invalidArtifactURL
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/Tokens/DeviceInfoToken.swift:13:15: note: consider making struct 'DeviceInfoToken' conform to the 'Sendable' protocol
11 | // MARK: - DeviceInfoToken
12 |
13 | public struct DeviceInfoToken {
   |               `- note: consider making struct 'DeviceInfoToken' conform to the 'Sendable' protocol
14 |
15 |     // MARK: Properties
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:17:16: warning: static property 'MDS' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
15 | public extension CBUUID {
16 |
17 |     static let MDS = CBUUID(string: "54220000-F6A5-4007-A371-722F4EBD8436")
   |                `- warning: static property 'MDS' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
18 |     static let MDSDeviceIdentifierCharacteristic = CBUUID(string: "54220002-f6a5-4007-a371-722f4ebd8436")
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
 8 |
 9 | import Foundation
10 | import CoreBluetooth
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
11 | internal import iOS_BLE_Library_Mock
12 |
   :
15 | public extension CBUUID {
16 |
17 |     static let MDS = CBUUID(string: "54220000-F6A5-4007-A371-722F4EBD8436")
   |                |- note: add '@MainActor' to make static property 'MDS' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |     static let MDSDeviceIdentifierCharacteristic = CBUUID(string: "54220002-f6a5-4007-a371-722f4ebd8436")
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:18:16: warning: static property 'MDSDeviceIdentifierCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
16 |
17 |     static let MDS = CBUUID(string: "54220000-F6A5-4007-A371-722F4EBD8436")
18 |     static let MDSDeviceIdentifierCharacteristic = CBUUID(string: "54220002-f6a5-4007-a371-722f4ebd8436")
   |                |- warning: static property 'MDSDeviceIdentifierCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'MDSDeviceIdentifierCharacteristic' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
20 |     static let MDSAuthCharacteristic = CBUUID(string: "54220004-f6a5-4007-a371-722f4ebd8436")
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:19:16: warning: static property 'MDSDataURICharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
17 |     static let MDS = CBUUID(string: "54220000-F6A5-4007-A371-722F4EBD8436")
18 |     static let MDSDeviceIdentifierCharacteristic = CBUUID(string: "54220002-f6a5-4007-a371-722f4ebd8436")
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
   |                |- warning: static property 'MDSDataURICharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'MDSDataURICharacteristic' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |     static let MDSAuthCharacteristic = CBUUID(string: "54220004-f6a5-4007-a371-722f4ebd8436")
21 |     static let MDSDataExportCharacteristic = CBUUID(string: "54220005-f6a5-4007-a371-722f4ebd8436")
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:20:16: warning: static property 'MDSAuthCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
18 |     static let MDSDeviceIdentifierCharacteristic = CBUUID(string: "54220002-f6a5-4007-a371-722f4ebd8436")
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
20 |     static let MDSAuthCharacteristic = CBUUID(string: "54220004-f6a5-4007-a371-722f4ebd8436")
   |                |- warning: static property 'MDSAuthCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'MDSAuthCharacteristic' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 |     static let MDSDataExportCharacteristic = CBUUID(string: "54220005-f6a5-4007-a371-722f4ebd8436")
22 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/CBUUID+MDS.swift:21:16: warning: static property 'MDSDataExportCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
19 |     static let MDSDataURICharacteristic = CBUUID(string: "54220003-f6a5-4007-a371-722f4ebd8436")
20 |     static let MDSAuthCharacteristic = CBUUID(string: "54220004-f6a5-4007-a371-722f4ebd8436")
21 |     static let MDSDataExportCharacteristic = CBUUID(string: "54220005-f6a5-4007-a371-722f4ebd8436")
   |                |- warning: static property 'MDSDataExportCharacteristic' is not concurrency-safe because non-'Sendable' type 'CBUUID' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'MDSDataExportCharacteristic' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | }
23 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
 83 |  */
 84 | NS_CLASS_AVAILABLE(10_7, 5_0)
 85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
    |                            `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
 86 |
 87 | /*!
[257/260] Compiling iOSOtaLibrary OTAManager.swift
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/Tokens/DeviceInfoToken.swift:75:45: warning: non-breaking space (U+00A0) used instead of regular space
73 |     public var failureReason: String? { errorDescription }
74 |
75 |     public var recoverySuggestion: String? { errorDescription }
   |                                             `- warning: non-breaking space (U+00A0) used instead of regular space
76 | }
77 |
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:216:10: warning: associated value 'invalidProjectKey' of 'Sendable'-conforming enum 'OTAManagerError' has non-sendable type 'DeviceInfoToken'; this is an error in the Swift 6 language mode
214 |     case unableToParseResponse
215 |     case networkError
216 |     case invalidProjectKey(_ deviceInfo: DeviceInfoToken)
    |          `- warning: associated value 'invalidProjectKey' of 'Sendable'-conforming enum 'OTAManagerError' has non-sendable type 'DeviceInfoToken'; this is an error in the Swift 6 language mode
217 |     case deviceIsUpToDate
218 |     case invalidArtifactURL
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/Tokens/DeviceInfoToken.swift:13:15: note: consider making struct 'DeviceInfoToken' conform to the 'Sendable' protocol
11 | // MARK: - DeviceInfoToken
12 |
13 | public struct DeviceInfoToken {
   |               `- note: consider making struct 'DeviceInfoToken' conform to the 'Sendable' protocol
14 |
15 |     // MARK: Properties
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:88:45: warning: non-sendable result type 'LatestReleaseInfo' cannot be sent from nonisolated context in call to instance method 'getLatestReleaseInfo(deviceInfo:projectKey:)'; this is an error in the Swift 6 language mode
 86 |         Task { @MainActor in
 87 |             do {
 88 |                 let releaseInfo = try await getLatestReleaseInfo(deviceInfo: deviceInfo,
    |                                             `- warning: non-sendable result type 'LatestReleaseInfo' cannot be sent from nonisolated context in call to instance method 'getLatestReleaseInfo(deviceInfo:projectKey:)'; this is an error in the Swift 6 language mode
 89 |                                                                  projectKey: projectKey)
 90 |                 callback(.success(releaseInfo))
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/GetLatestReleaseInfoRequest.swift:42:15: note: consider making struct 'LatestReleaseInfo' conform to the 'Sendable' protocol
40 | // MARK: - LatestReleaseInfo
41 |
42 | public struct LatestReleaseInfo: Codable {
   |               `- note: consider making struct 'LatestReleaseInfo' conform to the 'Sendable' protocol
43 |
44 |     // MARK: Properties
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:88:45: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 86 |         Task { @MainActor in
 87 |             do {
 88 |                 let releaseInfo = try await getLatestReleaseInfo(deviceInfo: deviceInfo,
    |                                             |- 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
 89 |                                                                  projectKey: projectKey)
 90 |                 callback(.success(releaseInfo))
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:88:78: warning: sending 'deviceInfo' risks causing data races; this is an error in the Swift 6 language mode
 86 |         Task { @MainActor in
 87 |             do {
 88 |                 let releaseInfo = try await getLatestReleaseInfo(deviceInfo: deviceInfo,
    |                                                                              |- warning: sending 'deviceInfo' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                              `- note: task-isolated 'deviceInfo' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 89 |                                                                  projectKey: projectKey)
 90 |                 callback(.success(releaseInfo))
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:89:78: warning: sending 'projectKey' risks causing data races; this is an error in the Swift 6 language mode
 87 |             do {
 88 |                 let releaseInfo = try await getLatestReleaseInfo(deviceInfo: deviceInfo,
 89 |                                                                  projectKey: projectKey)
    |                                                                              |- warning: sending 'projectKey' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                              `- note: task-isolated 'projectKey' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 90 |                 callback(.success(releaseInfo))
 91 |             } catch {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:90:17: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
 88 |                 let releaseInfo = try await getLatestReleaseInfo(deviceInfo: deviceInfo,
 89 |                                                                  projectKey: projectKey)
 90 |                 callback(.success(releaseInfo))
    |                 |- 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
 91 |             } catch {
 92 |                 guard let otaError = error as? OTAManagerError else {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:152:60: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
150 |         Task { @MainActor in
151 |             do {
152 |                 let temporaryDownloadedFileURL = try await download(artifact: artifact)
    |                                                            |- 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
153 |                 callback(.success(temporaryDownloadedFileURL))
154 |             } catch {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:152:79: warning: sending 'artifact' risks causing data races; this is an error in the Swift 6 language mode
150 |         Task { @MainActor in
151 |             do {
152 |                 let temporaryDownloadedFileURL = try await download(artifact: artifact)
    |                                                                               |- warning: sending 'artifact' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                               `- note: task-isolated 'artifact' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
153 |                 callback(.success(temporaryDownloadedFileURL))
154 |             } catch {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:153:17: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
151 |             do {
152 |                 let temporaryDownloadedFileURL = try await download(artifact: artifact)
153 |                 callback(.success(temporaryDownloadedFileURL))
    |                 |- 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
154 |             } catch {
155 |                 guard let otaError = error as? OTAManagerError else {
[258/260] Compiling iOSOtaLibrary DeviceInfoToken.swift
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/Tokens/DeviceInfoToken.swift:75:45: warning: non-breaking space (U+00A0) used instead of regular space
73 |     public var failureReason: String? { errorDescription }
74 |
75 |     public var recoverySuggestion: String? { errorDescription }
   |                                             `- warning: non-breaking space (U+00A0) used instead of regular space
76 | }
77 |
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:216:10: warning: associated value 'invalidProjectKey' of 'Sendable'-conforming enum 'OTAManagerError' has non-sendable type 'DeviceInfoToken'; this is an error in the Swift 6 language mode
214 |     case unableToParseResponse
215 |     case networkError
216 |     case invalidProjectKey(_ deviceInfo: DeviceInfoToken)
    |          `- warning: associated value 'invalidProjectKey' of 'Sendable'-conforming enum 'OTAManagerError' has non-sendable type 'DeviceInfoToken'; this is an error in the Swift 6 language mode
217 |     case deviceIsUpToDate
218 |     case invalidArtifactURL
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/Tokens/DeviceInfoToken.swift:13:15: note: consider making struct 'DeviceInfoToken' conform to the 'Sendable' protocol
11 | // MARK: - DeviceInfoToken
12 |
13 | public struct DeviceInfoToken {
   |               `- note: consider making struct 'DeviceInfoToken' conform to the 'Sendable' protocol
14 |
15 |     // MARK: Properties
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:88:45: warning: non-sendable result type 'LatestReleaseInfo' cannot be sent from nonisolated context in call to instance method 'getLatestReleaseInfo(deviceInfo:projectKey:)'; this is an error in the Swift 6 language mode
 86 |         Task { @MainActor in
 87 |             do {
 88 |                 let releaseInfo = try await getLatestReleaseInfo(deviceInfo: deviceInfo,
    |                                             `- warning: non-sendable result type 'LatestReleaseInfo' cannot be sent from nonisolated context in call to instance method 'getLatestReleaseInfo(deviceInfo:projectKey:)'; this is an error in the Swift 6 language mode
 89 |                                                                  projectKey: projectKey)
 90 |                 callback(.success(releaseInfo))
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/GetLatestReleaseInfoRequest.swift:42:15: note: consider making struct 'LatestReleaseInfo' conform to the 'Sendable' protocol
40 | // MARK: - LatestReleaseInfo
41 |
42 | public struct LatestReleaseInfo: Codable {
   |               `- note: consider making struct 'LatestReleaseInfo' conform to the 'Sendable' protocol
43 |
44 |     // MARK: Properties
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:88:45: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 86 |         Task { @MainActor in
 87 |             do {
 88 |                 let releaseInfo = try await getLatestReleaseInfo(deviceInfo: deviceInfo,
    |                                             |- 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
 89 |                                                                  projectKey: projectKey)
 90 |                 callback(.success(releaseInfo))
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:88:78: warning: sending 'deviceInfo' risks causing data races; this is an error in the Swift 6 language mode
 86 |         Task { @MainActor in
 87 |             do {
 88 |                 let releaseInfo = try await getLatestReleaseInfo(deviceInfo: deviceInfo,
    |                                                                              |- warning: sending 'deviceInfo' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                              `- note: task-isolated 'deviceInfo' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 89 |                                                                  projectKey: projectKey)
 90 |                 callback(.success(releaseInfo))
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:89:78: warning: sending 'projectKey' risks causing data races; this is an error in the Swift 6 language mode
 87 |             do {
 88 |                 let releaseInfo = try await getLatestReleaseInfo(deviceInfo: deviceInfo,
 89 |                                                                  projectKey: projectKey)
    |                                                                              |- warning: sending 'projectKey' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                              `- note: task-isolated 'projectKey' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 90 |                 callback(.success(releaseInfo))
 91 |             } catch {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:90:17: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
 88 |                 let releaseInfo = try await getLatestReleaseInfo(deviceInfo: deviceInfo,
 89 |                                                                  projectKey: projectKey)
 90 |                 callback(.success(releaseInfo))
    |                 |- 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
 91 |             } catch {
 92 |                 guard let otaError = error as? OTAManagerError else {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:152:60: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
150 |         Task { @MainActor in
151 |             do {
152 |                 let temporaryDownloadedFileURL = try await download(artifact: artifact)
    |                                                            |- 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
153 |                 callback(.success(temporaryDownloadedFileURL))
154 |             } catch {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:152:79: warning: sending 'artifact' risks causing data races; this is an error in the Swift 6 language mode
150 |         Task { @MainActor in
151 |             do {
152 |                 let temporaryDownloadedFileURL = try await download(artifact: artifact)
    |                                                                               |- warning: sending 'artifact' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                               `- note: task-isolated 'artifact' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
153 |                 callback(.success(temporaryDownloadedFileURL))
154 |             } catch {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/OTAManager.swift:153:17: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
151 |             do {
152 |                 let temporaryDownloadedFileURL = try await download(artifact: artifact)
153 |                 callback(.success(temporaryDownloadedFileURL))
    |                 |- 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
154 |             } catch {
155 |                 guard let otaError = error as? OTAManagerError else {
[259/260] Compiling iOSOtaLibrary ObservabilityDeviceEvent.swift
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:37:37: warning: result of call to 'sorted(by:)' is unused
 35 |
 36 |         pendingUploads[identifier]?.append(contentsOf: chunks)
 37 |         pendingUploads[identifier]?.sorted(by: <)
    |                                     `- warning: result of call to 'sorted(by:)' is unused
 38 |         enqueueWriteToDisk()
 39 |     }
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:76:44: error: 'decompress(as:)' is only available in macOS 11.0 or newer
 67 | // MARK: Save / Restore
 68 |
 69 | extension ObservabilityState {
    | `- note: add @available attribute to enclosing extension
 70 |
 71 |     mutating func restoreFromDisk() {
    |                   `- note: add @available attribute to enclosing instance method
 72 |         guard let url = Self.stateURL(),
 73 |               let data = try? Data(contentsOf: url) else { return }
 74 |
 75 |         if #available(iOS 14.0, *) {
 76 |             guard let restored = try? data.decompress(as: Self.self) else { return }
    |                                            |- error: 'decompress(as:)' is only available in macOS 11.0 or newer
    |                                            `- note: add 'if #available' version check
 77 |             self = restored
 78 |         } else {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:76:34: warning: no calls to throwing functions occur within 'try' expression
 74 |
 75 |         if #available(iOS 14.0, *) {
 76 |             guard let restored = try? data.decompress(as: Self.self) else { return }
    |                                  `- warning: no calls to throwing functions occur within 'try' expression
 77 |             self = restored
 78 |         } else {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:103:14: error: no exact matches in call to static method 'detached'
101 |
102 |     static func writeToDisk(url: URL, copy: Self) {
103 |         Task.detached(name: "writeToDisk", priority: .utility) {
    |              |- error: no exact matches in call to static method 'detached'
    |              |- note: candidate has partially matching parameter list (executorPreference: (any TaskExecutor)?, priority: TaskPriority?, operation: sending @escaping () async -> ())
    |              `- note: candidate has partially matching parameter list (executorPreference: (any TaskExecutor)?, priority: TaskPriority?, operation: sending @escaping () async throws -> ())
104 |             guard let data = try? JSONEncoder().encode(copy) else { return }
105 |             do {
[260/260] Compiling iOSOtaLibrary ObservabilityState.swift
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:37:37: warning: result of call to 'sorted(by:)' is unused
 35 |
 36 |         pendingUploads[identifier]?.append(contentsOf: chunks)
 37 |         pendingUploads[identifier]?.sorted(by: <)
    |                                     `- warning: result of call to 'sorted(by:)' is unused
 38 |         enqueueWriteToDisk()
 39 |     }
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:76:44: error: 'decompress(as:)' is only available in macOS 11.0 or newer
 67 | // MARK: Save / Restore
 68 |
 69 | extension ObservabilityState {
    | `- note: add @available attribute to enclosing extension
 70 |
 71 |     mutating func restoreFromDisk() {
    |                   `- note: add @available attribute to enclosing instance method
 72 |         guard let url = Self.stateURL(),
 73 |               let data = try? Data(contentsOf: url) else { return }
 74 |
 75 |         if #available(iOS 14.0, *) {
 76 |             guard let restored = try? data.decompress(as: Self.self) else { return }
    |                                            |- error: 'decompress(as:)' is only available in macOS 11.0 or newer
    |                                            `- note: add 'if #available' version check
 77 |             self = restored
 78 |         } else {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:76:34: warning: no calls to throwing functions occur within 'try' expression
 74 |
 75 |         if #available(iOS 14.0, *) {
 76 |             guard let restored = try? data.decompress(as: Self.self) else { return }
    |                                  `- warning: no calls to throwing functions occur within 'try' expression
 77 |             self = restored
 78 |         } else {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:103:14: error: no exact matches in call to static method 'detached'
101 |
102 |     static func writeToDisk(url: URL, copy: Self) {
103 |         Task.detached(name: "writeToDisk", priority: .utility) {
    |              |- error: no exact matches in call to static method 'detached'
    |              |- note: candidate has partially matching parameter list (executorPreference: (any TaskExecutor)?, priority: TaskPriority?, operation: sending @escaping () async -> ())
    |              `- note: candidate has partially matching parameter list (executorPreference: (any TaskExecutor)?, priority: TaskPriority?, operation: sending @escaping () async throws -> ())
104 |             guard let data = try? JSONEncoder().encode(copy) else { return }
105 |             do {
Fetching https://github.com/NordicSemiconductor/IOS-BLE-Library
Fetching https://github.com/valpackett/SwiftCBOR.git
Fetching https://github.com/weichsel/ZIPFoundation.git
Fetching https://github.com/nordicsemi/IOS-Common-Libraries
[1/5963] Fetching zipfoundation
[61/7847] Fetching zipfoundation, ios-common-libraries
[62/9338] Fetching zipfoundation, ios-common-libraries, swiftcbor
[363/13750] Fetching zipfoundation, ios-common-libraries, swiftcbor, ios-ble-library
Fetched https://github.com/weichsel/ZIPFoundation.git from cache (1.22s)
Fetched https://github.com/valpackett/SwiftCBOR.git from cache (1.22s)
Fetched https://github.com/NordicSemiconductor/IOS-BLE-Library from cache (1.22s)
Fetched https://github.com/nordicsemi/IOS-Common-Libraries from cache (1.22s)
Computing version for https://github.com/nordicsemi/IOS-Common-Libraries
Computed https://github.com/nordicsemi/IOS-Common-Libraries at 0.2.2 (1.83s)
Computing version for https://github.com/NordicSemiconductor/IOS-BLE-Library
Computed https://github.com/NordicSemiconductor/IOS-BLE-Library at 0.4.4 (0.60s)
Fetching https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
[1/7168] Fetching ios-corebluetooth-mock
Fetched https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git from cache (1.33s)
Computing version for https://github.com/weichsel/ZIPFoundation.git
Computed https://github.com/weichsel/ZIPFoundation.git at 0.9.19 (1.87s)
Computing version for https://github.com/valpackett/SwiftCBOR.git
Computed https://github.com/valpackett/SwiftCBOR.git at 0.5.0 (0.62s)
Computing version for https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
Computed https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git at 1.0.4 (0.50s)
Creating working copy for https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
Working copy of https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git resolved at 1.0.4
Creating working copy for https://github.com/weichsel/ZIPFoundation.git
Working copy of https://github.com/weichsel/ZIPFoundation.git resolved at 0.9.19
Creating working copy for https://github.com/NordicSemiconductor/IOS-BLE-Library
Working copy of https://github.com/NordicSemiconductor/IOS-BLE-Library resolved at 0.4.4
Creating working copy for https://github.com/nordicsemi/IOS-Common-Libraries
Working copy of https://github.com/nordicsemi/IOS-Common-Libraries resolved at 0.2.2
Creating working copy for https://github.com/valpackett/SwiftCBOR.git
Working copy of https://github.com/valpackett/SwiftCBOR.git resolved at 0.5.0
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/iOSMcuManagerLibrary/Source/PrivacyInfo.xcprivacy
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/151] Compiling SwiftCBOR FixedWidthInteger+Bytes.swift
[3/152] Compiling CoreBluetoothMock CBMPeripheralSpec.swift
[4/153] Compiling CoreBluetoothMock CBMPeripheralDelegateProxy.swift
[5/153] Compiling iOS_Common_Libraries NSColor.swift
[6/153] Compiling iOS_Common_Libraries RGB.swift
[7/153] Compiling CoreBluetoothMock CBMPeripheralPreview.swift
[8/153] Compiling SwiftCBOR UnkeyedEncodingContainer.swift
[9/153] Compiling iOS_Common_Libraries CGSize.swift
[10/153] Compiling iOS_Common_Libraries Color.swift
[11/155] Compiling iOS_Common_Libraries Publisher.swift
[12/155] Compiling iOS_Common_Libraries UIView.swift
[13/155] Compiling SwiftCBOR Util.swift
[14/155] Compiling CoreBluetoothMock CBMPeripheralSpecDelegate.swift
[15/155] Compiling iOS_Common_Libraries RGBA.swift
[16/155] Compiling iOS_Common_Libraries UIColor.swift
[17/155] Compiling iOS_Common_Libraries LogLevel.swift
[25/157] Compiling iOS_Common_Libraries LogRecord.swift
[26/157] Compiling iOS_BLE_Library RSSI.swift
[27/157] Compiling iOS_BLE_Library UnimplementedError.swift
[28/157] Emitting module SwiftCBOR
[31/157] Compiling iOS_Common_Libraries BlinkingModifier.swift
[32/157] Compiling iOS_Common_Libraries GlowingModifier.swift
[33/157] Compiling iOS_Common_Libraries NordicLog.swift
[34/157] Compiling iOS_Common_Libraries Optional.swift
[38/157] Compiling iOS_Common_Libraries View.swift
[41/157] Compiling iOS_Common_Libraries NetworkResponse.swift
[42/157] Compiling iOS_Common_Libraries URLSession.swift
[43/157] Compiling iOS_Common_Libraries CommonDataParser.swift
[49/157] Compiling iOS_Common_Libraries HTTPRequest.swift
[50/157] Compiling iOS_Common_Libraries Network.swift
[55/157] Compiling iOS_Common_Libraries DataReader.swift
[56/157] Compiling iOS_Common_Libraries DateParser.swift
[57/157] Compiling iOS_Common_Libraries DoubleParser.swift
[58/157] Compiling iOS_Common_Libraries SFloatParser.swift
[59/165] Emitting module ZIPFoundation
[72/165] Emitting module iOS_BLE_Library
[86/165] Emitting module iOS_Common_Libraries
[105/165] Compiling iOS_Common_Libraries UInt16Parser.swift
[106/165] Compiling iOS_Common_Libraries UInt32Parser.swift
[107/165] Compiling iOS_Common_Libraries UInt8Parser.swift
[108/165] Compiling iOS_Common_Libraries RecordOpcode.swift
[109/165] Compiling iOS_Common_Libraries RecordOperator.swift
[110/165] Compiling iOS_Common_Libraries RecordResponseStatus.swift
[111/165] Compiling iOS_Common_Libraries SensorLocation.swift
[112/165] Compiling iOS_Common_Libraries SensorType.swift
[113/165] Compiling iOS_Common_Libraries TemperatureMeasurement.swift
[114/165] Compiling iOS_Common_Libraries Array.swift
[115/165] Compiling iOS_Common_Libraries BitField.swift
[116/165] Compiling iOS_Common_Libraries Cache.swift
[117/165] Compiling iOS_Common_Libraries Collection.swift
[118/165] Compiling iOS_Common_Libraries Constant.swift
[119/165] Compiling iOS_Common_Libraries Data.swift
[120/165] Compiling iOS_Common_Libraries Date.swift
[121/165] Compiling iOS_Common_Libraries Status.swift
[122/165] Compiling iOS_Common_Libraries GlucoseMeasurement.swift
[123/165] Compiling iOS_Common_Libraries HeartRateMeasurement.swift
[124/165] Compiling iOS_Common_Libraries HeartRateSensorContact.swift
[125/165] Compiling iOS_Common_Libraries HeartRateSensorLocation.swift
[126/165] Compiling iOS_Common_Libraries NordicDataParser.swift
[127/165] Compiling iOS_Common_Libraries ParsingError.swift
[128/165] Compiling iOS_Common_Libraries TemperatureFlag.swift
[129/165] Compiling iOS_Common_Libraries Double.swift
[130/165] Compiling iOS_Common_Libraries ErrorEvent.swift
[131/165] Compiling iOS_Common_Libraries Float.swift
[132/165] Compiling iOS_Common_Libraries Option.swift
[133/165] Compiling iOS_Common_Libraries Preview.swift
[134/165] Compiling iOS_Common_Libraries RSSI.swift
[135/165] Compiling iOS_Common_Libraries Sequence.swift
[136/165] Compiling iOS_Common_Libraries String.swift
[137/165] Compiling iOS_Common_Libraries LabelStyle.swift
[138/165] Compiling iOS_Common_Libraries LabeledContentStyle.swift
[139/165] Compiling iOS_Common_Libraries TextFieldAlertModifier.swift
[140/165] Compiling iOS_Common_Libraries Task.swift
[141/165] Compiling iOS_Common_Libraries AppIconView.swift
[142/165] Compiling iOS_Common_Libraries BadgeView.swift
[143/165] Compiling iOS_Common_Libraries BlinkingCursorView.swift
[144/165] Compiling iOS_Common_Libraries CancellableTextField.swift
[145/165] Compiling iOS_Common_Libraries DevZoneLinkView.swift
[146/165] Compiling iOS_Common_Libraries DotView.swift
[147/165] Compiling iOS_Common_Libraries FPSCounter.swift
[148/165] Compiling iOS_Common_Libraries IndeterminateProgressView.swift
[149/165] Compiling iOS_Common_Libraries InlinePicker.swift
[150/165] Compiling iOS_Common_Libraries InlineSegmentedControlPicker.swift
[151/165] Compiling iOS_Common_Libraries NoContentView.swift
[152/165] Compiling iOS_Common_Libraries NordicDataField.swift
[153/206] Compiling iOS_Common_Libraries PasswordField.swift
[154/206] Compiling iOS_Common_Libraries PipelineManager.swift
[155/206] Compiling iOS_Common_Libraries PipelineStage.swift
[156/206] Compiling iOS_Common_Libraries PipelineView.swift
[157/206] Compiling iOS_Common_Libraries ProgressView.swift
[158/206] Compiling iOS_Common_Libraries RSSIShape.swift
[159/206] Compiling iOS_Common_Libraries RSSIView.swift
[160/206] Compiling iOS_Common_Libraries SourceCodeLinkView.swift
[161/206] Emitting module CoreBluetoothMock
[162/206] Compiling iOSMcuManagerLibrary McuMgrImage.swift
[163/206] Compiling iOSMcuManagerLibrary McuMgrLogDelegate.swift
[164/206] Compiling iOSMcuManagerLibrary FirmwareUpgradeConfiguration.swift
[165/206] Compiling iOSMcuManagerLibrary FirmwareUpgradeController.swift
[166/229] Compiling iOS_BLE_Library_Mock CBManagerState+Ext.swift
[167/229] Compiling iOS_BLE_Library_Mock Publishers+Peripheral.swift
[168/229] Compiling iOS_BLE_Library_Mock Queue.swift
[169/229] Compiling iOS_BLE_Library_Mock Publishers+FailablePrefix.swift.swift
[170/229] Compiling iOS_BLE_Library_Mock Publishers+GuestList.swift
[171/233] Compiling iOSMcuManagerLibrary RunTestManager.swift
[172/233] Compiling iOSMcuManagerLibrary SettingsManager.swift
[173/233] Compiling iOSMcuManagerLibrary ShellManager.swift
[174/233] Compiling iOSMcuManagerLibrary StatsManager.swift
[175/233] Compiling iOS_BLE_Library_Mock Publishers+Bluetooth.swift
[176/233] Compiling iOS_BLE_Library_Mock Publishers+Connectable.swift
[177/235] Emitting module iOS_BLE_Library_Mock
[178/235] Compiling iOS_BLE_Library_Mock RSSI.swift
[179/235] Compiling iOS_BLE_Library_Mock UnimplementedError.swift
[180/235] Compiling iOS_BLE_Library_Mock Alias.swift
[181/235] Compiling iOS_BLE_Library_Mock CentralManager.swift
[182/235] Compiling iOS_BLE_Library_Mock ScanResult.swift
[183/235] Compiling iOS_BLE_Library_Mock Logger.swift
[184/235] Compiling iOS_BLE_Library_Mock ContinuationSubscriber.swift
[185/235] Compiling iOS_BLE_Library_Mock Data+Ext.swift.swift
[186/235] Compiling iOS_BLE_Library_Mock Publishers+Async.swift
[191/235] Compiling iOS_BLE_Library_Mock PeripheralError.swift
[192/235] Compiling iOS_BLE_Library_Mock ReactivePeripheralDelegate.swift
[193/235] Compiling iOS_BLE_Library_Mock AdvertisementData.swift
[194/235] Compiling iOSMcuManagerLibrary McuMgrUploadPipeline.swift
[195/235] Compiling iOSMcuManagerLibrary CBOR+String.swift
[196/235] Compiling iOSMcuManagerLibrary ResultLock.swift
[197/235] Compiling iOSMcuManagerLibrary UTI.swift
[205/235] Compiling iOS_BLE_Library_Mock AsyncCharacteristicData.swift
[206/235] Compiling iOS_BLE_Library_Mock CBManagerState.swift
[207/235] Emitting module iOSMcuManagerLibrary
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:10:8: warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
 8 |
 9 | import Foundation
10 | import iOSMcuManagerLibrary
   |        `- warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
11 |
12 | // MARK: - DefaultManager+Async
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 |     // MARK: async params()
18 |
19 |     public func params() async throws -> McuMgrParametersResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<McuMgrParametersResponse, Error>) in
21 |             params { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:38:5: warning: 'public' modifier is redundant for instance method declared in a public extension
36 |     // MARK: async applicationInfo(format:)
37 |
38 |     public func applicationInfo(format: Set<ApplicationInfoFormat>) async throws -> AppInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
39 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<AppInfoResponse, Error>) in
40 |             applicationInfo(format: format) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:57:5: warning: 'public' modifier is redundant for instance method declared in a public extension
55 |     // MARK: bootloaderInfo()
56 |
57 |     public func bootloaderInfo() async throws -> (bootloader: BootloaderInfoResponse.Bootloader?, mode: BootloaderInfoResponse.Mode?, slot: UInt64?) {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
58 |         let bootloader = try await bootloaderQuery(.name).bootloader
59 |         guard bootloader == .mcuboot else { return (bootloader: bootloader, mode: nil, slot: nil) }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |     // MARK: bootloaderQuery(:)
67 |
68 |     public func bootloaderQuery(_ query: BootloaderInfoQuery) async throws -> BootloaderInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<BootloaderInfoResponse, Error>) in
70 |             bootloaderInfo(query: query) { response, error in
[208/235] Compiling iOS_BLE_Library_Mock ReactiveCentralManagerDelegate.swift
[209/235] Compiling iOS_BLE_Library_Mock Peripheral+Writer.swift
[210/235] Compiling iOS_BLE_Library_Mock Peripheral.swift
[214/235] Compiling iOSMcuManagerLibrary McuMgrBleTransportWriteState.swift
[215/235] Compiling iOSMcuManagerLibrary CBOR+McuManager.swift
[216/235] Compiling iOSMcuManagerLibrary Data+McuManager.swift
[217/235] Compiling iOSMcuManagerLibrary String+McuManager.swift
[218/235] Compiling iOSMcuManagerLibrary BasicManager.swift
[220/235] Compiling iOSMcuManagerLibrary McuMgrSuitEnvelope.swift
[221/235] Compiling iOSMcuManagerLibrary McuMgrSuitManifest.swift
[222/235] Compiling iOSMcuManagerLibrary McuMgrTransport.swift
[223/235] Compiling iOSMcuManagerLibrary SuitManager.swift
[224/235] Compiling iOSMcuManagerLibrary McuManager.swift
[225/235] Compiling iOSMcuManagerLibrary McuMgrCallbackOoOBuffer.swift
[226/235] Compiling iOSMcuManagerLibrary McuMgrHeader.swift
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/ImageManager.swift:539:17: warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
537 |
538 |     private func onUploadResponseError(_ error: any LocalizedError, for response: McuMgrUploadResponse) {
539 |         if case let McuMgrError.returnCode(.busy) = error {
    |                 `- warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
540 |             log(msg: "Received 'busy' Error from Device. Will try again after a short day.", atLevel: .debug)
541 |             if let offset = response.off {
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/ImageManager.swift:539:17: warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
537 |
538 |     private func onUploadResponseError(_ error: any LocalizedError, for response: McuMgrUploadResponse) {
539 |         if case let McuMgrError.returnCode(.busy) = error {
    |                 `- warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
540 |             log(msg: "Received 'busy' Error from Device. Will try again after a short day.", atLevel: .debug)
541 |             if let offset = response.off {
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/ImageManager.swift:539:17: warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
537 |
538 |     private func onUploadResponseError(_ error: any LocalizedError, for response: McuMgrUploadResponse) {
539 |         if case let McuMgrError.returnCode(.busy) = error {
    |                 `- warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
540 |             log(msg: "Received 'busy' Error from Device. Will try again after a short day.", atLevel: .debug)
541 |             if let offset = response.off {
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/ImageManager.swift:539:17: warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
537 |
538 |     private func onUploadResponseError(_ error: any LocalizedError, for response: McuMgrUploadResponse) {
539 |         if case let McuMgrError.returnCode(.busy) = error {
    |                 `- warning: 'let' pattern has no effect; sub-pattern didn't bind any variables
540 |             log(msg: "Received 'busy' Error from Device. Will try again after a short day.", atLevel: .debug)
541 |             if let offset = response.off {
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:10:8: warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
 8 |
 9 | import Foundation
10 | import iOSMcuManagerLibrary
   |        `- warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
11 |
12 | // MARK: - DefaultManager+Async
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 |     // MARK: async params()
18 |
19 |     public func params() async throws -> McuMgrParametersResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<McuMgrParametersResponse, Error>) in
21 |             params { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:38:5: warning: 'public' modifier is redundant for instance method declared in a public extension
36 |     // MARK: async applicationInfo(format:)
37 |
38 |     public func applicationInfo(format: Set<ApplicationInfoFormat>) async throws -> AppInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
39 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<AppInfoResponse, Error>) in
40 |             applicationInfo(format: format) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:57:5: warning: 'public' modifier is redundant for instance method declared in a public extension
55 |     // MARK: bootloaderInfo()
56 |
57 |     public func bootloaderInfo() async throws -> (bootloader: BootloaderInfoResponse.Bootloader?, mode: BootloaderInfoResponse.Mode?, slot: UInt64?) {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
58 |         let bootloader = try await bootloaderQuery(.name).bootloader
59 |         guard bootloader == .mcuboot else { return (bootloader: bootloader, mode: nil, slot: nil) }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |     // MARK: bootloaderQuery(:)
67 |
68 |     public func bootloaderQuery(_ query: BootloaderInfoQuery) async throws -> BootloaderInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<BootloaderInfoResponse, Error>) in
70 |             bootloaderInfo(query: query) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:10:8: warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
 8 |
 9 | import Foundation
10 | import iOSMcuManagerLibrary
   |        `- warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
11 |
12 | // MARK: - DefaultManager+Async
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 |     // MARK: async params()
18 |
19 |     public func params() async throws -> McuMgrParametersResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<McuMgrParametersResponse, Error>) in
21 |             params { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:38:5: warning: 'public' modifier is redundant for instance method declared in a public extension
36 |     // MARK: async applicationInfo(format:)
37 |
38 |     public func applicationInfo(format: Set<ApplicationInfoFormat>) async throws -> AppInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
39 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<AppInfoResponse, Error>) in
40 |             applicationInfo(format: format) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:57:5: warning: 'public' modifier is redundant for instance method declared in a public extension
55 |     // MARK: bootloaderInfo()
56 |
57 |     public func bootloaderInfo() async throws -> (bootloader: BootloaderInfoResponse.Bootloader?, mode: BootloaderInfoResponse.Mode?, slot: UInt64?) {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
58 |         let bootloader = try await bootloaderQuery(.name).bootloader
59 |         guard bootloader == .mcuboot else { return (bootloader: bootloader, mode: nil, slot: nil) }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |     // MARK: bootloaderQuery(:)
67 |
68 |     public func bootloaderQuery(_ query: BootloaderInfoQuery) async throws -> BootloaderInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<BootloaderInfoResponse, Error>) in
70 |             bootloaderInfo(query: query) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:10:8: warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
 8 |
 9 | import Foundation
10 | import iOSMcuManagerLibrary
   |        `- warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
11 |
12 | // MARK: - DefaultManager+Async
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 |     // MARK: async params()
18 |
19 |     public func params() async throws -> McuMgrParametersResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<McuMgrParametersResponse, Error>) in
21 |             params { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:38:5: warning: 'public' modifier is redundant for instance method declared in a public extension
36 |     // MARK: async applicationInfo(format:)
37 |
38 |     public func applicationInfo(format: Set<ApplicationInfoFormat>) async throws -> AppInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
39 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<AppInfoResponse, Error>) in
40 |             applicationInfo(format: format) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:57:5: warning: 'public' modifier is redundant for instance method declared in a public extension
55 |     // MARK: bootloaderInfo()
56 |
57 |     public func bootloaderInfo() async throws -> (bootloader: BootloaderInfoResponse.Bootloader?, mode: BootloaderInfoResponse.Mode?, slot: UInt64?) {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
58 |         let bootloader = try await bootloaderQuery(.name).bootloader
59 |         guard bootloader == .mcuboot else { return (bootloader: bootloader, mode: nil, slot: nil) }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |     // MARK: bootloaderQuery(:)
67 |
68 |     public func bootloaderQuery(_ query: BootloaderInfoQuery) async throws -> BootloaderInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<BootloaderInfoResponse, Error>) in
70 |             bootloaderInfo(query: query) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:10:8: warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
 8 |
 9 | import Foundation
10 | import iOSMcuManagerLibrary
   |        `- warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
11 |
12 | // MARK: - DefaultManager+Async
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 |     // MARK: async params()
18 |
19 |     public func params() async throws -> McuMgrParametersResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<McuMgrParametersResponse, Error>) in
21 |             params { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:38:5: warning: 'public' modifier is redundant for instance method declared in a public extension
36 |     // MARK: async applicationInfo(format:)
37 |
38 |     public func applicationInfo(format: Set<ApplicationInfoFormat>) async throws -> AppInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
39 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<AppInfoResponse, Error>) in
40 |             applicationInfo(format: format) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:57:5: warning: 'public' modifier is redundant for instance method declared in a public extension
55 |     // MARK: bootloaderInfo()
56 |
57 |     public func bootloaderInfo() async throws -> (bootloader: BootloaderInfoResponse.Bootloader?, mode: BootloaderInfoResponse.Mode?, slot: UInt64?) {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
58 |         let bootloader = try await bootloaderQuery(.name).bootloader
59 |         guard bootloader == .mcuboot else { return (bootloader: bootloader, mode: nil, slot: nil) }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |     // MARK: bootloaderQuery(:)
67 |
68 |     public func bootloaderQuery(_ query: BootloaderInfoQuery) async throws -> BootloaderInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<BootloaderInfoResponse, Error>) in
70 |             bootloaderInfo(query: query) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:10:8: warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
 8 |
 9 | import Foundation
10 | import iOSMcuManagerLibrary
   |        `- warning: file 'DefaultManager+Async.swift' is part of module 'iOSMcuManagerLibrary'; ignoring import
11 |
12 | // MARK: - DefaultManager+Async
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 |     // MARK: async params()
18 |
19 |     public func params() async throws -> McuMgrParametersResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<McuMgrParametersResponse, Error>) in
21 |             params { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:38:5: warning: 'public' modifier is redundant for instance method declared in a public extension
36 |     // MARK: async applicationInfo(format:)
37 |
38 |     public func applicationInfo(format: Set<ApplicationInfoFormat>) async throws -> AppInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
39 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<AppInfoResponse, Error>) in
40 |             applicationInfo(format: format) { response, error in
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:57:5: warning: 'public' modifier is redundant for instance method declared in a public extension
55 |     // MARK: bootloaderInfo()
56 |
57 |     public func bootloaderInfo() async throws -> (bootloader: BootloaderInfoResponse.Bootloader?, mode: BootloaderInfoResponse.Mode?, slot: UInt64?) {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
58 |         let bootloader = try await bootloaderQuery(.name).bootloader
59 |         guard bootloader == .mcuboot else { return (bootloader: bootloader, mode: nil, slot: nil) }
/Users/admin/builder/spi-builder-workspace/iOSMcuManagerLibrary/Source/Managers/DefaultManager+Async.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |     // MARK: bootloaderQuery(:)
67 |
68 |     public func bootloaderQuery(_ query: BootloaderInfoQuery) async throws -> BootloaderInfoResponse {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<BootloaderInfoResponse, Error>) in
70 |             bootloaderInfo(query: query) { response, error in
[236/250] Compiling iOSOtaLibrary ObservabilityManager+Logs.swift
[237/250] Compiling iOSOtaLibrary ObservabilityDeviceEvent.swift
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:37:37: warning: result of call to 'sorted(by:)' is unused
 35 |
 36 |         pendingUploads[identifier]?.append(contentsOf: chunks)
 37 |         pendingUploads[identifier]?.sorted(by: <)
    |                                     `- warning: result of call to 'sorted(by:)' is unused
 38 |         enqueueWriteToDisk()
 39 |     }
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:76:44: error: 'decompress(as:)' is only available in macOS 11.0 or newer
 67 | // MARK: Save / Restore
 68 |
 69 | extension ObservabilityState {
    | `- note: add @available attribute to enclosing extension
 70 |
 71 |     mutating func restoreFromDisk() {
    |                   `- note: add @available attribute to enclosing instance method
 72 |         guard let url = Self.stateURL(),
 73 |               let data = try? Data(contentsOf: url) else { return }
 74 |
 75 |         if #available(iOS 14.0, *) {
 76 |             guard let restored = try? data.decompress(as: Self.self) else { return }
    |                                            |- error: 'decompress(as:)' is only available in macOS 11.0 or newer
    |                                            `- note: add 'if #available' version check
 77 |             self = restored
 78 |         } else {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:76:34: warning: no calls to throwing functions occur within 'try' expression
 74 |
 75 |         if #available(iOS 14.0, *) {
 76 |             guard let restored = try? data.decompress(as: Self.self) else { return }
    |                                  `- warning: no calls to throwing functions occur within 'try' expression
 77 |             self = restored
 78 |         } else {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:103:14: error: no exact matches in call to static method 'detached'
101 |
102 |     static func writeToDisk(url: URL, copy: Self) {
103 |         Task.detached(name: "writeToDisk", priority: .utility) {
    |              |- error: no exact matches in call to static method 'detached'
    |              |- note: candidate has partially matching parameter list (executorPreference: (any TaskExecutor)?, priority: TaskPriority?, operation: sending @escaping () async -> ())
    |              `- note: candidate has partially matching parameter list (executorPreference: (any TaskExecutor)?, priority: TaskPriority?, operation: sending @escaping () async throws -> ())
104 |             guard let data = try? JSONEncoder().encode(copy) else { return }
105 |             do {
[238/250] Compiling iOSOtaLibrary ObservabilityState.swift
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:37:37: warning: result of call to 'sorted(by:)' is unused
 35 |
 36 |         pendingUploads[identifier]?.append(contentsOf: chunks)
 37 |         pendingUploads[identifier]?.sorted(by: <)
    |                                     `- warning: result of call to 'sorted(by:)' is unused
 38 |         enqueueWriteToDisk()
 39 |     }
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:76:44: error: 'decompress(as:)' is only available in macOS 11.0 or newer
 67 | // MARK: Save / Restore
 68 |
 69 | extension ObservabilityState {
    | `- note: add @available attribute to enclosing extension
 70 |
 71 |     mutating func restoreFromDisk() {
    |                   `- note: add @available attribute to enclosing instance method
 72 |         guard let url = Self.stateURL(),
 73 |               let data = try? Data(contentsOf: url) else { return }
 74 |
 75 |         if #available(iOS 14.0, *) {
 76 |             guard let restored = try? data.decompress(as: Self.self) else { return }
    |                                            |- error: 'decompress(as:)' is only available in macOS 11.0 or newer
    |                                            `- note: add 'if #available' version check
 77 |             self = restored
 78 |         } else {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:76:34: warning: no calls to throwing functions occur within 'try' expression
 74 |
 75 |         if #available(iOS 14.0, *) {
 76 |             guard let restored = try? data.decompress(as: Self.self) else { return }
    |                                  `- warning: no calls to throwing functions occur within 'try' expression
 77 |             self = restored
 78 |         } else {
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/Data Structures/ObservabilityState.swift:103:14: error: no exact matches in call to static method 'detached'
101 |
102 |     static func writeToDisk(url: URL, copy: Self) {
103 |         Task.detached(name: "writeToDisk", priority: .utility) {
    |              |- error: no exact matches in call to static method 'detached'
    |              |- note: candidate has partially matching parameter list (executorPreference: (any TaskExecutor)?, priority: TaskPriority?, operation: sending @escaping () async -> ())
    |              `- note: candidate has partially matching parameter list (executorPreference: (any TaskExecutor)?, priority: TaskPriority?, operation: sending @escaping () async throws -> ())
104 |             guard let data = try? JSONEncoder().encode(copy) else { return }
105 |             do {
[239/251] Compiling iOSOtaLibrary ObservabilityManager.swift
[240/251] Compiling iOSOtaLibrary ObservabilityError.swift
[241/251] Compiling iOSOtaLibrary ObservabilityManager+Internal.swift
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager+Internal.swift:149:26: warning: variable 'self' was written to, but never read
147 |         peripheral
148 |             .listenValues(for: dataExportCharacteristic)
149 |             .map { [weak self] data in
    |                          `- warning: variable 'self' was written to, but never read
150 |                 ObservabilityChunk(data)
151 |             }
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/Observability/ObservabilityManager+Internal.swift:226:35: warning: immutable value 'error' was never used; consider replacing with '_' or removing it
224 |                     self?.log("finished!")
225 |                     self?.networkBusy = false
226 |                 case .failure(let error):
    |                                   `- warning: immutable value 'error' was never used; consider replacing with '_' or removing it
227 |                     guard let self else { return }
228 |                     let updatedChunk = state.update(uploadingChunk, from: identifier, to: .uploadError)
[242/251] Compiling iOSOtaLibrary ProjectKey.swift
[243/251] Compiling iOSOtaLibrary CBUUID+MDS.swift
[244/251] Compiling iOSOtaLibrary ObservabilityChunk.swift
[245/251] Compiling iOSOtaLibrary ObservabilityDevice.swift
[246/251] Compiling iOSOtaLibrary GetLatestReleaseInfoRequest.swift
[247/251] Compiling iOSOtaLibrary MemfaultManager.swift
[248/251] Emitting module iOSOtaLibrary
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/Tokens/DeviceInfoToken.swift:75:45: warning: non-breaking space (U+00A0) used instead of regular space
73 |     public var failureReason: String? { errorDescription }
74 |
75 |     public var recoverySuggestion: String? { errorDescription }
   |                                             `- warning: non-breaking space (U+00A0) used instead of regular space
76 | }
77 |
[249/251] Compiling iOSOtaLibrary OTAManager.swift
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/Tokens/DeviceInfoToken.swift:75:45: warning: non-breaking space (U+00A0) used instead of regular space
73 |     public var failureReason: String? { errorDescription }
74 |
75 |     public var recoverySuggestion: String? { errorDescription }
   |                                             `- warning: non-breaking space (U+00A0) used instead of regular space
76 | }
77 |
[250/251] Compiling iOSOtaLibrary DeviceInfoToken.swift
/Users/admin/builder/spi-builder-workspace/iOSOtaLibrary/Source/OTA/Tokens/DeviceInfoToken.swift:75:45: warning: non-breaking space (U+00A0) used instead of regular space
73 |     public var failureReason: String? { errorDescription }
74 |
75 |     public var recoverySuggestion: String? { errorDescription }
   |                                             `- warning: non-breaking space (U+00A0) used instead of regular space
76 | }
77 |
[251/251] Compiling iOSOtaLibrary PostChunkRequest.swift
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/iOSMcuManagerLibrary/Source/PrivacyInfo.xcprivacy
BUILD FAILURE 6.1 macosSpm