The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Optimizely, reference master (710375), with Swift 6.1 for macOS (SPM) on 30 Oct 2026 02:52:11 UTC.

Swift 6 data race errors: 10

Build Command

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

Build Log

 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
    |                |- warning: static property 'sharedInstance' is not concurrency-safe because non-'Sendable' type 'DefaultEventDispatcher' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'sharedInstance' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 25 |
 26 |     // timer-interval for batching (0 = no batching, negative = use default)
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:137:20: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
135 |     open func flushEvents() {
136 |         queueLock.async {
137 |             guard !self.isFlushing else { return }
    |                    `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
138 |
139 |             self.isFlushing = true
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:192:25: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
190 |                     let delay = self.calculateRetryDelay(attempt: attempt)
191 |                     self.queueLock.asyncAfter(deadline: .now() + delay) {
192 |                         self.processNextBatch(failureCount: attempt)
    |                         `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
193 |                     }
194 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:255:17: warning: capture of 'completionHandler' with non-sendable type 'DispatchCompletionHandler' (aka '(OptimizelyResult<Data>) -> ()') in a '@Sendable' closure
253 |         let task = session.uploadTask(with: request, from: event.body) { (_, _, error) in
254 |             if let error = error {
255 |                 completionHandler(.failure(.eventDispatchFailed(error.localizedDescription)))
    |                 |- warning: capture of 'completionHandler' with non-sendable type 'DispatchCompletionHandler' (aka '(OptimizelyResult<Data>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
256 |             } else {
257 |                 self.logger.d("Event Sent")
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:257:17: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
255 |                 completionHandler(.failure(.eventDispatchFailed(error.localizedDescription)))
256 |             } else {
257 |                 self.logger.d("Event Sent")
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
258 |                 completionHandler(.success(event.body))
259 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:258:44: warning: capture of 'event' with non-sendable type 'EventForDispatch' in a '@Sendable' closure
256 |             } else {
257 |                 self.logger.d("Event Sent")
258 |                 completionHandler(.success(event.body))
    |                                            `- warning: capture of 'event' with non-sendable type 'EventForDispatch' in a '@Sendable' closure
259 |             }
260 |
/Users/admin/builder/spi-builder-workspace/Sources/Data Model/DispatchEvents/EventForDispatch.swift:19:27: note: class 'EventForDispatch' does not conform to the 'Sendable' protocol
17 | import Foundation
18 |
19 | @objcMembers public class EventForDispatch: NSObject, Codable {
   |                           `- note: class 'EventForDispatch' does not conform to the 'Sendable' protocol
20 |     public static var eventEndpoint = "https://logx.optimizely.com/v1/events"
21 |     public static var euEventEndpoint = "https://eu.logx.optimizely.com/v1/events"
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:319:17: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
317 |
318 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
319 |                 self.queueLock.async {
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
320 |                     if self.eventQueue.count > 0 {
321 |                         self.flushEvents()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:320:24: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
318 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
319 |                 self.queueLock.async {
320 |                     if self.eventQueue.count > 0 {
    |                        `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
321 |                         self.flushEvents()
322 |                     } else {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultLogger.swift:21:24: warning: static property '_logLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | open class DefaultLogger: OPTLogger {
21 |     private static var _logLevel: OptimizelyLogLevel?
   |                        |- warning: static property '_logLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_logLevel' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_logLevel' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |     public static var logLevel: OptimizelyLogLevel {
23 |         get {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultUserProfileService.swift:83:13: warning: capture of 'self' with non-sendable type 'DefaultUserProfileService' in a '@Sendable' closure
 72 | // }
 73 |
 74 | open class DefaultUserProfileService: OPTUserProfileService {
    |            `- note: class 'DefaultUserProfileService' does not conform to the 'Sendable' protocol
 75 |     public typealias UserProfileData = [String: UPProfile]
 76 |
    :
 81 |     public required init() {
 82 |         lock.async {
 83 |             self.profiles = UserDefaults.standard.dictionary(forKey: self.kStorageName) as? UserProfileData ?? UserProfileData()
    |             `- warning: capture of 'self' with non-sendable type 'DefaultUserProfileService' in a '@Sendable' closure
 84 |
 85 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultUserProfileService.swift:100:13: warning: capture of 'self' with non-sendable type 'DefaultUserProfileService' in a '@Sendable' closure
 72 | // }
 73 |
 74 | open class DefaultUserProfileService: OPTUserProfileService {
    |            `- note: class 'DefaultUserProfileService' does not conform to the 'Sendable' protocol
 75 |     public typealias UserProfileData = [String: UPProfile]
 76 |
    :
 98 |
 99 |         lock.async {
100 |             self.profiles?[userId] = userProfile
    |             `- warning: capture of 'self' with non-sendable type 'DefaultUserProfileService' in a '@Sendable' closure
101 |             let defaults = UserDefaults.standard
102 |             defaults.set(self.profiles, forKey: self.kStorageName)
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultUserProfileService.swift:100:38: warning: capture of 'userProfile' with non-sendable type 'DefaultUserProfileService.UPProfile' (aka 'Dictionary<String, Any>') in a '@Sendable' closure
 98 |
 99 |         lock.async {
100 |             self.profiles?[userId] = userProfile
    |                                      `- warning: capture of 'userProfile' with non-sendable type 'DefaultUserProfileService.UPProfile' (aka 'Dictionary<String, Any>') in a '@Sendable' closure
101 |             let defaults = UserDefaults.standard
102 |             defaults.set(self.profiles, forKey: self.kStorageName)
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultUserProfileService.swift:109:13: warning: capture of 'self' with non-sendable type 'DefaultUserProfileService' in a '@Sendable' closure
 72 | // }
 73 |
 74 | open class DefaultUserProfileService: OPTUserProfileService {
    |            `- note: class 'DefaultUserProfileService' does not conform to the 'Sendable' protocol
 75 |     public typealias UserProfileData = [String: UPProfile]
 76 |
    :
107 |     open func reset(userProfiles: UserProfileData? = nil) {
108 |         lock.async {
109 |             self.profiles = userProfiles ?? UserProfileData()
    |             `- warning: capture of 'self' with non-sendable type 'DefaultUserProfileService' in a '@Sendable' closure
110 |             let defaults = UserDefaults.standard
111 |             defaults.set(self.profiles, forKey: self.kStorageName)
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultUserProfileService.swift:109:29: warning: capture of 'userProfiles' with non-sendable type 'DefaultUserProfileService.UserProfileData?' (aka 'Optional<Dictionary<String, Dictionary<String, Any>>>') in a '@Sendable' closure
107 |     open func reset(userProfiles: UserProfileData? = nil) {
108 |         lock.async {
109 |             self.profiles = userProfiles ?? UserProfileData()
    |                             `- warning: capture of 'userProfiles' with non-sendable type 'DefaultUserProfileService.UserProfileData?' (aka 'Optional<Dictionary<String, Dictionary<String, Any>>>') in a '@Sendable' closure
110 |             let defaults = UserDefaults.standard
111 |             defaults.set(self.profiles, forKey: self.kStorageName)
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:249:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
247 |         let now = Date()
248 |         DispatchQueue.main.async {
249 |             if let timer = self.timers.property?[sdkKey]?.timer, timer.isValid {
    |                            |- 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
250 |                 return
251 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:257:73: warning: sending 'datafileChangeNotification' risks causing data races; this is an error in the Swift 6 language mode
255 |                                             startTime: now,
256 |                                             updateInterval: updateInterval,
257 |                                             datafileChangeNotification: datafileChangeNotification)
    |                                                                         |- warning: sending 'datafileChangeNotification' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                         `- note: task-isolated 'datafileChangeNotification' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
258 |
259 |                 timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:316:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
314 |         DispatchQueue.main.async {
315 |             // should check here again
316 |             guard self.timer.property == nil else { return }
    |                   |- 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
317 |
318 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
[74/102] Compiling Optimizely MurmurHash3.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:78:21: warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 18 | import Network
 19 |
 20 | class NetworkReachability {
    |       `- note: class 'NetworkReachability' does not conform to the 'Sendable' protocol
 21 |
 22 |     private let queue = DispatchQueue(label: "reachability")
    :
 76 |                 self.monitor = pathMonitor
 77 |                 pathMonitor.pathUpdateHandler = { [weak self] path in
 78 |                     self?._connected = (path.status == .satisfied)
    |                     `- warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 79 |                 }
 80 |                 monitorToStart = pathMonitor
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:30:16: warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 28 |
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
    |                |- warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'sdkVersion' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'sdkVersion' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 31 |     static var swiftSdkClientName = "swift-sdk"
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:31:16: warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
 31 |     static var swiftSdkClientName = "swift-sdk"
    |                |- warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'swiftSdkClientName' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'swiftSdkClientName' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 |
 33 |     static var os: String {
[75/102] Compiling Optimizely NetworkReachability.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:78:21: warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 18 | import Network
 19 |
 20 | class NetworkReachability {
    |       `- note: class 'NetworkReachability' does not conform to the 'Sendable' protocol
 21 |
 22 |     private let queue = DispatchQueue(label: "reachability")
    :
 76 |                 self.monitor = pathMonitor
 77 |                 pathMonitor.pathUpdateHandler = { [weak self] path in
 78 |                     self?._connected = (path.status == .satisfied)
    |                     `- warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 79 |                 }
 80 |                 monitorToStart = pathMonitor
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:30:16: warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 28 |
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
    |                |- warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'sdkVersion' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'sdkVersion' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 31 |     static var swiftSdkClientName = "swift-sdk"
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:31:16: warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
 31 |     static var swiftSdkClientName = "swift-sdk"
    |                |- warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'swiftSdkClientName' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'swiftSdkClientName' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 |
 33 |     static var os: String {
[76/102] Compiling Optimizely Notifications.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:78:21: warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 18 | import Network
 19 |
 20 | class NetworkReachability {
    |       `- note: class 'NetworkReachability' does not conform to the 'Sendable' protocol
 21 |
 22 |     private let queue = DispatchQueue(label: "reachability")
    :
 76 |                 self.monitor = pathMonitor
 77 |                 pathMonitor.pathUpdateHandler = { [weak self] path in
 78 |                     self?._connected = (path.status == .satisfied)
    |                     `- warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 79 |                 }
 80 |                 monitorToStart = pathMonitor
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:30:16: warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 28 |
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
    |                |- warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'sdkVersion' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'sdkVersion' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 31 |     static var swiftSdkClientName = "swift-sdk"
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:31:16: warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
 31 |     static var swiftSdkClientName = "swift-sdk"
    |                |- warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'swiftSdkClientName' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'swiftSdkClientName' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 |
 33 |     static var os: String {
[77/102] Compiling Optimizely RetryStrategy.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:78:21: warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 18 | import Network
 19 |
 20 | class NetworkReachability {
    |       `- note: class 'NetworkReachability' does not conform to the 'Sendable' protocol
 21 |
 22 |     private let queue = DispatchQueue(label: "reachability")
    :
 76 |                 self.monitor = pathMonitor
 77 |                 pathMonitor.pathUpdateHandler = { [weak self] path in
 78 |                     self?._connected = (path.status == .satisfied)
    |                     `- warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 79 |                 }
 80 |                 monitorToStart = pathMonitor
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:30:16: warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 28 |
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
    |                |- warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'sdkVersion' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'sdkVersion' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 31 |     static var swiftSdkClientName = "swift-sdk"
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:31:16: warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
 31 |     static var swiftSdkClientName = "swift-sdk"
    |                |- warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'swiftSdkClientName' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'swiftSdkClientName' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 |
 33 |     static var os: String {
[78/102] Compiling Optimizely SDKVersion.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:78:21: warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 18 | import Network
 19 |
 20 | class NetworkReachability {
    |       `- note: class 'NetworkReachability' does not conform to the 'Sendable' protocol
 21 |
 22 |     private let queue = DispatchQueue(label: "reachability")
    :
 76 |                 self.monitor = pathMonitor
 77 |                 pathMonitor.pathUpdateHandler = { [weak self] path in
 78 |                     self?._connected = (path.status == .satisfied)
    |                     `- warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 79 |                 }
 80 |                 monitorToStart = pathMonitor
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:30:16: warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 28 |
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
    |                |- warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'sdkVersion' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'sdkVersion' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 31 |     static var swiftSdkClientName = "swift-sdk"
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:31:16: warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
 31 |     static var swiftSdkClientName = "swift-sdk"
    |                |- warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'swiftSdkClientName' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'swiftSdkClientName' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 |
 33 |     static var os: String {
[79/102] Compiling Optimizely ThreadSafeLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:78:21: warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 18 | import Network
 19 |
 20 | class NetworkReachability {
    |       `- note: class 'NetworkReachability' does not conform to the 'Sendable' protocol
 21 |
 22 |     private let queue = DispatchQueue(label: "reachability")
    :
 76 |                 self.monitor = pathMonitor
 77 |                 pathMonitor.pathUpdateHandler = { [weak self] path in
 78 |                     self?._connected = (path.status == .satisfied)
    |                     `- warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 79 |                 }
 80 |                 monitorToStart = pathMonitor
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:30:16: warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 28 |
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
    |                |- warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'sdkVersion' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'sdkVersion' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 31 |     static var swiftSdkClientName = "swift-sdk"
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:31:16: warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
 31 |     static var swiftSdkClientName = "swift-sdk"
    |                |- warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'swiftSdkClientName' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'swiftSdkClientName' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 |
 33 |     static var os: String {
[80/102] Compiling Optimizely Utils.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:78:21: warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 18 | import Network
 19 |
 20 | class NetworkReachability {
    |       `- note: class 'NetworkReachability' does not conform to the 'Sendable' protocol
 21 |
 22 |     private let queue = DispatchQueue(label: "reachability")
    :
 76 |                 self.monitor = pathMonitor
 77 |                 pathMonitor.pathUpdateHandler = { [weak self] path in
 78 |                     self?._connected = (path.status == .satisfied)
    |                     `- warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 79 |                 }
 80 |                 monitorToStart = pathMonitor
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:30:16: warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 28 |
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
    |                |- warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'sdkVersion' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'sdkVersion' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 31 |     static var swiftSdkClientName = "swift-sdk"
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:31:16: warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
 31 |     static var swiftSdkClientName = "swift-sdk"
    |                |- warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'swiftSdkClientName' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'swiftSdkClientName' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 |
 33 |     static var os: String {
[81/102] Compiling Optimizely WatchBackgroundNotifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:78:21: warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 18 | import Network
 19 |
 20 | class NetworkReachability {
    |       `- note: class 'NetworkReachability' does not conform to the 'Sendable' protocol
 21 |
 22 |     private let queue = DispatchQueue(label: "reachability")
    :
 76 |                 self.monitor = pathMonitor
 77 |                 pathMonitor.pathUpdateHandler = { [weak self] path in
 78 |                     self?._connected = (path.status == .satisfied)
    |                     `- warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 79 |                 }
 80 |                 monitorToStart = pathMonitor
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:30:16: warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 28 |
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
    |                |- warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'sdkVersion' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'sdkVersion' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 31 |     static var swiftSdkClientName = "swift-sdk"
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:31:16: warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
 31 |     static var swiftSdkClientName = "swift-sdk"
    |                |- warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'swiftSdkClientName' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'swiftSdkClientName' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 |
 33 |     static var os: String {
[82/102] Compiling Optimizely resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:78:21: warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 18 | import Network
 19 |
 20 | class NetworkReachability {
    |       `- note: class 'NetworkReachability' does not conform to the 'Sendable' protocol
 21 |
 22 |     private let queue = DispatchQueue(label: "reachability")
    :
 76 |                 self.monitor = pathMonitor
 77 |                 pathMonitor.pathUpdateHandler = { [weak self] path in
 78 |                     self?._connected = (path.status == .satisfied)
    |                     `- warning: capture of 'self' with non-sendable type 'NetworkReachability?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 79 |                 }
 80 |                 monitorToStart = pathMonitor
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:30:16: warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 28 |
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
    |                |- warning: static property 'sdkVersion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'sdkVersion' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'sdkVersion' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 31 |     static var swiftSdkClientName = "swift-sdk"
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Utils.swift:31:16: warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 29 |     // from auto-generated variable OPTIMIZELYSDKVERSION
 30 |     static var sdkVersion: String = OPTIMIZELYSDKVERSION
 31 |     static var swiftSdkClientName = "swift-sdk"
    |                |- warning: static property 'swiftSdkClientName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'swiftSdkClientName' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'swiftSdkClientName' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 |
 33 |     static var os: String {
[83/102] Compiling Optimizely BatchEventBuilder.swift
/Users/admin/builder/spi-builder-workspace/Sources/Implementation/Events/BatchEventBuilder.swift:20:24: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | class BatchEventBuilder {
 20 |     static private var logger = OPTLoggerFactory.getLogger()
    |                        |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     // MARK: - Impression Event
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:31: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                               `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:40: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                                        `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:76:61: warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                             `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
 76 |             let newSegments = CacheElement(key: key, value: value)
    |                                                             `- warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 77 |             self.map[key] = newSegments
 78 |
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                    `- warning: variable 'item' was never mutated; consider changing to 'let' constant
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:27: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                           `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:36: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                                    `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:77:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 75 |         set {
 76 |             queue.async {
 77 |                 self._apiHost = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 78 |             }
 79 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:92:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 90 |         set {
 91 |             queue.async {
 92 |                 self._apiKey = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 93 |             }
 94 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:107:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
105 |         set {
106 |             queue.async {
107 |                 self._segmentsToCheck = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
108 |             }
109 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:122:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
120 |         set {
121 |             queue.async {
122 |                 self._odpServiceIntegrated = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
123 |             }
124 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:150:20: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
148 |
149 |         queueLock.async {
150 |             guard !self.isFlushing else { return }
    |                    `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
151 |
152 |             self.isFlushing = true
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:201:29: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
199 |                         let delay = self.calculateRetryDelay(attempt: attempt)
200 |                         self.queueLock.asyncAfter(deadline: .now() + delay) {
201 |                             self.processNextBatch(failureCount: attempt, apiKey: apiKey, apiHost: apiHost)
    |                             `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
202 |                         }
203 |                     } else {
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:144:17: warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
 97 | */
 98 |
 99 | open class OdpSegmentApiManager {
    |            `- note: class 'OdpSegmentApiManager' does not conform to the 'Sendable' protocol
100 |     let logger = OPTLoggerFactory.getLogger()
101 |     let resourceTimeoutInSecs: Int?
    :
142 |             guard error == nil, let data = data, let response = response as? HTTPURLResponse else {
143 |                 let msg = error?.localizedDescription ?? "invalid response"
144 |                 self.logger.d {
    |                 `- warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
145 |                     "GraphQL download failed: \(msg)"
146 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
[84/102] Compiling Optimizely UserProfileTracker.swift
/Users/admin/builder/spi-builder-workspace/Sources/Implementation/Events/BatchEventBuilder.swift:20:24: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | class BatchEventBuilder {
 20 |     static private var logger = OPTLoggerFactory.getLogger()
    |                        |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     // MARK: - Impression Event
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:31: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                               `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:40: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                                        `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:76:61: warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                             `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
 76 |             let newSegments = CacheElement(key: key, value: value)
    |                                                             `- warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 77 |             self.map[key] = newSegments
 78 |
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                    `- warning: variable 'item' was never mutated; consider changing to 'let' constant
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:27: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                           `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:36: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                                    `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:77:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 75 |         set {
 76 |             queue.async {
 77 |                 self._apiHost = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 78 |             }
 79 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:92:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 90 |         set {
 91 |             queue.async {
 92 |                 self._apiKey = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 93 |             }
 94 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:107:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
105 |         set {
106 |             queue.async {
107 |                 self._segmentsToCheck = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
108 |             }
109 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:122:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
120 |         set {
121 |             queue.async {
122 |                 self._odpServiceIntegrated = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
123 |             }
124 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:150:20: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
148 |
149 |         queueLock.async {
150 |             guard !self.isFlushing else { return }
    |                    `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
151 |
152 |             self.isFlushing = true
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:201:29: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
199 |                         let delay = self.calculateRetryDelay(attempt: attempt)
200 |                         self.queueLock.asyncAfter(deadline: .now() + delay) {
201 |                             self.processNextBatch(failureCount: attempt, apiKey: apiKey, apiHost: apiHost)
    |                             `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
202 |                         }
203 |                     } else {
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:144:17: warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
 97 | */
 98 |
 99 | open class OdpSegmentApiManager {
    |            `- note: class 'OdpSegmentApiManager' does not conform to the 'Sendable' protocol
100 |     let logger = OPTLoggerFactory.getLogger()
101 |     let resourceTimeoutInSecs: Int?
    :
142 |             guard error == nil, let data = data, let response = response as? HTTPURLResponse else {
143 |                 let msg = error?.localizedDescription ?? "invalid response"
144 |                 self.logger.d {
    |                 `- warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
145 |                     "GraphQL download failed: \(msg)"
146 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
[85/102] Compiling Optimizely LruCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/Implementation/Events/BatchEventBuilder.swift:20:24: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | class BatchEventBuilder {
 20 |     static private var logger = OPTLoggerFactory.getLogger()
    |                        |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     // MARK: - Impression Event
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:31: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                               `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:40: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                                        `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:76:61: warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                             `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
 76 |             let newSegments = CacheElement(key: key, value: value)
    |                                                             `- warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 77 |             self.map[key] = newSegments
 78 |
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                    `- warning: variable 'item' was never mutated; consider changing to 'let' constant
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:27: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                           `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:36: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                                    `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:77:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 75 |         set {
 76 |             queue.async {
 77 |                 self._apiHost = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 78 |             }
 79 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:92:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 90 |         set {
 91 |             queue.async {
 92 |                 self._apiKey = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 93 |             }
 94 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:107:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
105 |         set {
106 |             queue.async {
107 |                 self._segmentsToCheck = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
108 |             }
109 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:122:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
120 |         set {
121 |             queue.async {
122 |                 self._odpServiceIntegrated = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
123 |             }
124 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:150:20: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
148 |
149 |         queueLock.async {
150 |             guard !self.isFlushing else { return }
    |                    `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
151 |
152 |             self.isFlushing = true
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:201:29: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
199 |                         let delay = self.calculateRetryDelay(attempt: attempt)
200 |                         self.queueLock.asyncAfter(deadline: .now() + delay) {
201 |                             self.processNextBatch(failureCount: attempt, apiKey: apiKey, apiHost: apiHost)
    |                             `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
202 |                         }
203 |                     } else {
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:144:17: warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
 97 | */
 98 |
 99 | open class OdpSegmentApiManager {
    |            `- note: class 'OdpSegmentApiManager' does not conform to the 'Sendable' protocol
100 |     let logger = OPTLoggerFactory.getLogger()
101 |     let resourceTimeoutInSecs: Int?
    :
142 |             guard error == nil, let data = data, let response = response as? HTTPURLResponse else {
143 |                 let msg = error?.localizedDescription ?? "invalid response"
144 |                 self.logger.d {
    |                 `- warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
145 |                     "GraphQL download failed: \(msg)"
146 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
[86/102] Compiling Optimizely OdpConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/Implementation/Events/BatchEventBuilder.swift:20:24: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | class BatchEventBuilder {
 20 |     static private var logger = OPTLoggerFactory.getLogger()
    |                        |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     // MARK: - Impression Event
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:31: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                               `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:40: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                                        `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:76:61: warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                             `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
 76 |             let newSegments = CacheElement(key: key, value: value)
    |                                                             `- warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 77 |             self.map[key] = newSegments
 78 |
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                    `- warning: variable 'item' was never mutated; consider changing to 'let' constant
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:27: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                           `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:36: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                                    `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:77:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 75 |         set {
 76 |             queue.async {
 77 |                 self._apiHost = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 78 |             }
 79 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:92:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 90 |         set {
 91 |             queue.async {
 92 |                 self._apiKey = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 93 |             }
 94 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:107:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
105 |         set {
106 |             queue.async {
107 |                 self._segmentsToCheck = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
108 |             }
109 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:122:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
120 |         set {
121 |             queue.async {
122 |                 self._odpServiceIntegrated = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
123 |             }
124 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:150:20: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
148 |
149 |         queueLock.async {
150 |             guard !self.isFlushing else { return }
    |                    `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
151 |
152 |             self.isFlushing = true
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:201:29: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
199 |                         let delay = self.calculateRetryDelay(attempt: attempt)
200 |                         self.queueLock.asyncAfter(deadline: .now() + delay) {
201 |                             self.processNextBatch(failureCount: attempt, apiKey: apiKey, apiHost: apiHost)
    |                             `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
202 |                         }
203 |                     } else {
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:144:17: warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
 97 | */
 98 |
 99 | open class OdpSegmentApiManager {
    |            `- note: class 'OdpSegmentApiManager' does not conform to the 'Sendable' protocol
100 |     let logger = OPTLoggerFactory.getLogger()
101 |     let resourceTimeoutInSecs: Int?
    :
142 |             guard error == nil, let data = data, let response = response as? HTTPURLResponse else {
143 |                 let msg = error?.localizedDescription ?? "invalid response"
144 |                 self.logger.d {
    |                 `- warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
145 |                     "GraphQL download failed: \(msg)"
146 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
[87/102] Compiling Optimizely OdpEvent.swift
/Users/admin/builder/spi-builder-workspace/Sources/Implementation/Events/BatchEventBuilder.swift:20:24: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | class BatchEventBuilder {
 20 |     static private var logger = OPTLoggerFactory.getLogger()
    |                        |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     // MARK: - Impression Event
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:31: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                               `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:40: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                                        `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:76:61: warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                             `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
 76 |             let newSegments = CacheElement(key: key, value: value)
    |                                                             `- warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 77 |             self.map[key] = newSegments
 78 |
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                    `- warning: variable 'item' was never mutated; consider changing to 'let' constant
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:27: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                           `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:36: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                                    `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:77:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 75 |         set {
 76 |             queue.async {
 77 |                 self._apiHost = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 78 |             }
 79 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:92:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 90 |         set {
 91 |             queue.async {
 92 |                 self._apiKey = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 93 |             }
 94 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:107:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
105 |         set {
106 |             queue.async {
107 |                 self._segmentsToCheck = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
108 |             }
109 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:122:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
120 |         set {
121 |             queue.async {
122 |                 self._odpServiceIntegrated = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
123 |             }
124 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:150:20: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
148 |
149 |         queueLock.async {
150 |             guard !self.isFlushing else { return }
    |                    `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
151 |
152 |             self.isFlushing = true
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:201:29: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
199 |                         let delay = self.calculateRetryDelay(attempt: attempt)
200 |                         self.queueLock.asyncAfter(deadline: .now() + delay) {
201 |                             self.processNextBatch(failureCount: attempt, apiKey: apiKey, apiHost: apiHost)
    |                             `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
202 |                         }
203 |                     } else {
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:144:17: warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
 97 | */
 98 |
 99 | open class OdpSegmentApiManager {
    |            `- note: class 'OdpSegmentApiManager' does not conform to the 'Sendable' protocol
100 |     let logger = OPTLoggerFactory.getLogger()
101 |     let resourceTimeoutInSecs: Int?
    :
142 |             guard error == nil, let data = data, let response = response as? HTTPURLResponse else {
143 |                 let msg = error?.localizedDescription ?? "invalid response"
144 |                 self.logger.d {
    |                 `- warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
145 |                     "GraphQL download failed: \(msg)"
146 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
[88/102] Compiling Optimizely OdpEventApiManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Implementation/Events/BatchEventBuilder.swift:20:24: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | class BatchEventBuilder {
 20 |     static private var logger = OPTLoggerFactory.getLogger()
    |                        |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     // MARK: - Impression Event
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:31: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                               `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:40: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                                        `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:76:61: warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                             `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
 76 |             let newSegments = CacheElement(key: key, value: value)
    |                                                             `- warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 77 |             self.map[key] = newSegments
 78 |
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                    `- warning: variable 'item' was never mutated; consider changing to 'let' constant
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:27: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                           `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:36: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                                    `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:77:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 75 |         set {
 76 |             queue.async {
 77 |                 self._apiHost = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 78 |             }
 79 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:92:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 90 |         set {
 91 |             queue.async {
 92 |                 self._apiKey = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 93 |             }
 94 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:107:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
105 |         set {
106 |             queue.async {
107 |                 self._segmentsToCheck = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
108 |             }
109 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:122:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
120 |         set {
121 |             queue.async {
122 |                 self._odpServiceIntegrated = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
123 |             }
124 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:150:20: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
148 |
149 |         queueLock.async {
150 |             guard !self.isFlushing else { return }
    |                    `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
151 |
152 |             self.isFlushing = true
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:201:29: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
199 |                         let delay = self.calculateRetryDelay(attempt: attempt)
200 |                         self.queueLock.asyncAfter(deadline: .now() + delay) {
201 |                             self.processNextBatch(failureCount: attempt, apiKey: apiKey, apiHost: apiHost)
    |                             `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
202 |                         }
203 |                     } else {
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:144:17: warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
 97 | */
 98 |
 99 | open class OdpSegmentApiManager {
    |            `- note: class 'OdpSegmentApiManager' does not conform to the 'Sendable' protocol
100 |     let logger = OPTLoggerFactory.getLogger()
101 |     let resourceTimeoutInSecs: Int?
    :
142 |             guard error == nil, let data = data, let response = response as? HTTPURLResponse else {
143 |                 let msg = error?.localizedDescription ?? "invalid response"
144 |                 self.logger.d {
    |                 `- warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
145 |                     "GraphQL download failed: \(msg)"
146 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
[89/102] Compiling Optimizely OdpEventManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Implementation/Events/BatchEventBuilder.swift:20:24: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | class BatchEventBuilder {
 20 |     static private var logger = OPTLoggerFactory.getLogger()
    |                        |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     // MARK: - Impression Event
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:31: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                               `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:40: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                                        `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:76:61: warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                             `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
 76 |             let newSegments = CacheElement(key: key, value: value)
    |                                                             `- warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 77 |             self.map[key] = newSegments
 78 |
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                    `- warning: variable 'item' was never mutated; consider changing to 'let' constant
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:27: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                           `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:36: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                                    `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:77:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 75 |         set {
 76 |             queue.async {
 77 |                 self._apiHost = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 78 |             }
 79 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:92:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 90 |         set {
 91 |             queue.async {
 92 |                 self._apiKey = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 93 |             }
 94 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:107:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
105 |         set {
106 |             queue.async {
107 |                 self._segmentsToCheck = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
108 |             }
109 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:122:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
120 |         set {
121 |             queue.async {
122 |                 self._odpServiceIntegrated = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
123 |             }
124 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:150:20: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
148 |
149 |         queueLock.async {
150 |             guard !self.isFlushing else { return }
    |                    `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
151 |
152 |             self.isFlushing = true
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:201:29: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
199 |                         let delay = self.calculateRetryDelay(attempt: attempt)
200 |                         self.queueLock.asyncAfter(deadline: .now() + delay) {
201 |                             self.processNextBatch(failureCount: attempt, apiKey: apiKey, apiHost: apiHost)
    |                             `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
202 |                         }
203 |                     } else {
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:144:17: warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
 97 | */
 98 |
 99 | open class OdpSegmentApiManager {
    |            `- note: class 'OdpSegmentApiManager' does not conform to the 'Sendable' protocol
100 |     let logger = OPTLoggerFactory.getLogger()
101 |     let resourceTimeoutInSecs: Int?
    :
142 |             guard error == nil, let data = data, let response = response as? HTTPURLResponse else {
143 |                 let msg = error?.localizedDescription ?? "invalid response"
144 |                 self.logger.d {
    |                 `- warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
145 |                     "GraphQL download failed: \(msg)"
146 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
[90/102] Compiling Optimizely OdpManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Implementation/Events/BatchEventBuilder.swift:20:24: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | class BatchEventBuilder {
 20 |     static private var logger = OPTLoggerFactory.getLogger()
    |                        |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     // MARK: - Impression Event
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:31: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                               `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:40: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                                        `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:76:61: warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                             `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
 76 |             let newSegments = CacheElement(key: key, value: value)
    |                                                             `- warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 77 |             self.map[key] = newSegments
 78 |
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                    `- warning: variable 'item' was never mutated; consider changing to 'let' constant
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:27: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                           `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:36: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                                    `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:77:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 75 |         set {
 76 |             queue.async {
 77 |                 self._apiHost = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 78 |             }
 79 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:92:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 90 |         set {
 91 |             queue.async {
 92 |                 self._apiKey = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 93 |             }
 94 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:107:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
105 |         set {
106 |             queue.async {
107 |                 self._segmentsToCheck = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
108 |             }
109 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:122:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
120 |         set {
121 |             queue.async {
122 |                 self._odpServiceIntegrated = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
123 |             }
124 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:150:20: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
148 |
149 |         queueLock.async {
150 |             guard !self.isFlushing else { return }
    |                    `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
151 |
152 |             self.isFlushing = true
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:201:29: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
199 |                         let delay = self.calculateRetryDelay(attempt: attempt)
200 |                         self.queueLock.asyncAfter(deadline: .now() + delay) {
201 |                             self.processNextBatch(failureCount: attempt, apiKey: apiKey, apiHost: apiHost)
    |                             `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
202 |                         }
203 |                     } else {
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:144:17: warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
 97 | */
 98 |
 99 | open class OdpSegmentApiManager {
    |            `- note: class 'OdpSegmentApiManager' does not conform to the 'Sendable' protocol
100 |     let logger = OPTLoggerFactory.getLogger()
101 |     let resourceTimeoutInSecs: Int?
    :
142 |             guard error == nil, let data = data, let response = response as? HTTPURLResponse else {
143 |                 let msg = error?.localizedDescription ?? "invalid response"
144 |                 self.logger.d {
    |                 `- warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
145 |                     "GraphQL download failed: \(msg)"
146 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
[91/102] Compiling Optimizely OdpSegmentApiManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Implementation/Events/BatchEventBuilder.swift:20:24: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | class BatchEventBuilder {
 20 |     static private var logger = OPTLoggerFactory.getLogger()
    |                        |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     // MARK: - Impression Event
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:31: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                               `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:40: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                                        `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:76:61: warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                             `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
 76 |             let newSegments = CacheElement(key: key, value: value)
    |                                                             `- warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 77 |             self.map[key] = newSegments
 78 |
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                    `- warning: variable 'item' was never mutated; consider changing to 'let' constant
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:27: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                           `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:36: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                                    `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:77:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 75 |         set {
 76 |             queue.async {
 77 |                 self._apiHost = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 78 |             }
 79 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:92:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 90 |         set {
 91 |             queue.async {
 92 |                 self._apiKey = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 93 |             }
 94 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:107:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
105 |         set {
106 |             queue.async {
107 |                 self._segmentsToCheck = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
108 |             }
109 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:122:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
120 |         set {
121 |             queue.async {
122 |                 self._odpServiceIntegrated = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
123 |             }
124 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:150:20: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
148 |
149 |         queueLock.async {
150 |             guard !self.isFlushing else { return }
    |                    `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
151 |
152 |             self.isFlushing = true
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:201:29: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
199 |                         let delay = self.calculateRetryDelay(attempt: attempt)
200 |                         self.queueLock.asyncAfter(deadline: .now() + delay) {
201 |                             self.processNextBatch(failureCount: attempt, apiKey: apiKey, apiHost: apiHost)
    |                             `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
202 |                         }
203 |                     } else {
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:144:17: warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
 97 | */
 98 |
 99 | open class OdpSegmentApiManager {
    |            `- note: class 'OdpSegmentApiManager' does not conform to the 'Sendable' protocol
100 |     let logger = OPTLoggerFactory.getLogger()
101 |     let resourceTimeoutInSecs: Int?
    :
142 |             guard error == nil, let data = data, let response = response as? HTTPURLResponse else {
143 |                 let msg = error?.localizedDescription ?? "invalid response"
144 |                 self.logger.d {
    |                 `- warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
145 |                     "GraphQL download failed: \(msg)"
146 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
[92/102] Compiling Optimizely OdpSegmentManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Implementation/Events/BatchEventBuilder.swift:20:24: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | class BatchEventBuilder {
 20 |     static private var logger = OPTLoggerFactory.getLogger()
    |                        |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     // MARK: - Impression Event
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:31: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                               `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:75:40: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 73 |
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
    |                                        `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 76 |             let newSegments = CacheElement(key: key, value: value)
 77 |             self.map[key] = newSegments
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:76:61: warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                             `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 74 |         queue.async(flags: .barrier) {
 75 |             let oldSegments = self.map[key]
 76 |             let newSegments = CacheElement(key: key, value: value)
    |                                                             `- warning: capture of 'value' with non-sendable type 'V' in a '@Sendable' closure
 77 |             self.map[key] = newSegments
 78 |
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                    `- warning: variable 'item' was never mutated; consider changing to 'let' constant
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:27: warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |       `- note: generic class 'LruCache' does not conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                           `- warning: capture of 'self' with non-sendable type 'LruCache<K, V>' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:36: warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class LruCache<K: Hashable, V> {
    |                `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
 20 |
 21 |     class CacheElement {
    :
 93 |         if maxSize <= 0 { return }
 94 |         queue.async(flags: .barrier) {
 95 |             if var item = self.map[key] {
    |                                    `- warning: capture of 'key' with non-sendable type 'K' in a '@Sendable' closure
 96 |                 self.removeFromLink(item)
 97 |                 self.map[key] = nil
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:77:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 75 |         set {
 76 |             queue.async {
 77 |                 self._apiHost = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 78 |             }
 79 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:92:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
 90 |         set {
 91 |             queue.async {
 92 |                 self._apiKey = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 93 |             }
 94 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:107:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
105 |         set {
106 |             queue.async {
107 |                 self._segmentsToCheck = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
108 |             }
109 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpConfig.swift:122:17: warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | class OdpConfig {
    |       `- note: class 'OdpConfig' does not conform to the 'Sendable' protocol
 20 |     /// The host URL for the ODP audience segments API (optional).
 21 |     private var _apiHost: String?
    :
120 |         set {
121 |             queue.async {
122 |                 self._odpServiceIntegrated = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'OdpConfig' in a '@Sendable' closure
123 |             }
124 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventApiManager.swift:73:21: warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
 71 |             defer {
 72 |                 if let errMessage = errMessage {
 73 |                     completionHandler(.odpEventFailed(errMessage, canRetry))
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 74 |                 } else {
 75 |                     completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:150:20: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
148 |
149 |         queueLock.async {
150 |             guard !self.isFlushing else { return }
    |                    `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
151 |
152 |             self.isFlushing = true
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpEventManager.swift:201:29: warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class OdpEventManager {
    |            `- note: class 'OdpEventManager' does not conform to the 'Sendable' protocol
 20 |     var odpConfig = OdpConfig()
 21 |     var apiMgr: OdpEventApiManager
    :
199 |                         let delay = self.calculateRetryDelay(attempt: attempt)
200 |                         self.queueLock.asyncAfter(deadline: .now() + delay) {
201 |                             self.processNextBatch(failureCount: attempt, apiKey: apiKey, apiHost: apiHost)
    |                             `- warning: capture of 'self' with non-sendable type 'OdpEventManager' in a '@Sendable' closure
202 |                         }
203 |                     } else {
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:144:17: warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
 97 | */
 98 |
 99 | open class OdpSegmentApiManager {
    |            `- note: class 'OdpSegmentApiManager' does not conform to the 'Sendable' protocol
100 |     let logger = OPTLoggerFactory.getLogger()
101 |     let resourceTimeoutInSecs: Int?
    :
142 |             guard error == nil, let data = data, let response = response as? HTTPURLResponse else {
143 |                 let msg = error?.localizedDescription ?? "invalid response"
144 |                 self.logger.d {
    |                 `- warning: capture of 'self' with non-sendable type 'OdpSegmentApiManager' in a '@Sendable' closure
145 |                     "GraphQL download failed: \(msg)"
146 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ODP/OdpSegmentApiManager.swift:138:17: warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
136 |
137 |             defer {
138 |                 completionHandler(returnSegments, returnError)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '([String]?, OptimizelyError?) -> Void' in an isolated local function; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 session.finishTasksAndInvalidate()
140 |             }
[93/102] Compiling Optimizely OptimizelyConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/OptimizelyError.swift:54:10: warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 52 |     case conditionCannotBeEvaluated(_ hint: String)
 53 |     case evaluateAttributeInvalidCondition(_ condition: String)
 54 |     case evaluateAttributeInvalidType(_ condition: String, _ value: Any, _ key: String)
    |          `- warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 55 |     case evaluateAttributeValueOutOfRange(_ condition: String, _ key: String)
 56 |     case evaluateAttributeInvalidFormat(_ hint: String)
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/VuidManager.swift:24:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
17 | import Foundation
18 |
19 | public class VuidManager {
   |              `- note: class 'VuidManager' does not conform to the 'Sendable' protocol
20 |     private var _vuid: String = ""
21 |     private(set) var enable: Bool = false
22 |     let logger = OPTLoggerFactory.getLogger()
23 |     // a single vuid should be shared for all SDK instances
24 |     public static let shared = VuidManager()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 |     public func configure(enable: Bool) {
[94/102] Compiling Optimizely OptimizelyError.swift
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/OptimizelyError.swift:54:10: warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 52 |     case conditionCannotBeEvaluated(_ hint: String)
 53 |     case evaluateAttributeInvalidCondition(_ condition: String)
 54 |     case evaluateAttributeInvalidType(_ condition: String, _ value: Any, _ key: String)
    |          `- warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 55 |     case evaluateAttributeValueOutOfRange(_ condition: String, _ key: String)
 56 |     case evaluateAttributeInvalidFormat(_ hint: String)
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/VuidManager.swift:24:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
17 | import Foundation
18 |
19 | public class VuidManager {
   |              `- note: class 'VuidManager' does not conform to the 'Sendable' protocol
20 |     private var _vuid: String = ""
21 |     private(set) var enable: Bool = false
22 |     let logger = OPTLoggerFactory.getLogger()
23 |     // a single vuid should be shared for all SDK instances
24 |     public static let shared = VuidManager()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 |     public func configure(enable: Bool) {
[95/102] Compiling Optimizely OptimizelyJSON+ObjC.swift
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/OptimizelyError.swift:54:10: warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 52 |     case conditionCannotBeEvaluated(_ hint: String)
 53 |     case evaluateAttributeInvalidCondition(_ condition: String)
 54 |     case evaluateAttributeInvalidType(_ condition: String, _ value: Any, _ key: String)
    |          `- warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 55 |     case evaluateAttributeValueOutOfRange(_ condition: String, _ key: String)
 56 |     case evaluateAttributeInvalidFormat(_ hint: String)
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/VuidManager.swift:24:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
17 | import Foundation
18 |
19 | public class VuidManager {
   |              `- note: class 'VuidManager' does not conform to the 'Sendable' protocol
20 |     private var _vuid: String = ""
21 |     private(set) var enable: Bool = false
22 |     let logger = OPTLoggerFactory.getLogger()
23 |     // a single vuid should be shared for all SDK instances
24 |     public static let shared = VuidManager()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 |     public func configure(enable: Bool) {
[96/102] Compiling Optimizely OptimizelyJSON.swift
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/OptimizelyError.swift:54:10: warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 52 |     case conditionCannotBeEvaluated(_ hint: String)
 53 |     case evaluateAttributeInvalidCondition(_ condition: String)
 54 |     case evaluateAttributeInvalidType(_ condition: String, _ value: Any, _ key: String)
    |          `- warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 55 |     case evaluateAttributeValueOutOfRange(_ condition: String, _ key: String)
 56 |     case evaluateAttributeInvalidFormat(_ hint: String)
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/VuidManager.swift:24:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
17 | import Foundation
18 |
19 | public class VuidManager {
   |              `- note: class 'VuidManager' does not conform to the 'Sendable' protocol
20 |     private var _vuid: String = ""
21 |     private(set) var enable: Bool = false
22 |     let logger = OPTLoggerFactory.getLogger()
23 |     // a single vuid should be shared for all SDK instances
24 |     public static let shared = VuidManager()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 |     public func configure(enable: Bool) {
[97/102] Compiling Optimizely OptimizelyLogLevel.swift
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/OptimizelyError.swift:54:10: warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 52 |     case conditionCannotBeEvaluated(_ hint: String)
 53 |     case evaluateAttributeInvalidCondition(_ condition: String)
 54 |     case evaluateAttributeInvalidType(_ condition: String, _ value: Any, _ key: String)
    |          `- warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 55 |     case evaluateAttributeValueOutOfRange(_ condition: String, _ key: String)
 56 |     case evaluateAttributeInvalidFormat(_ hint: String)
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/VuidManager.swift:24:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
17 | import Foundation
18 |
19 | public class VuidManager {
   |              `- note: class 'VuidManager' does not conform to the 'Sendable' protocol
20 |     private var _vuid: String = ""
21 |     private(set) var enable: Bool = false
22 |     let logger = OPTLoggerFactory.getLogger()
23 |     // a single vuid should be shared for all SDK instances
24 |     public static let shared = VuidManager()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 |     public func configure(enable: Bool) {
[98/102] Compiling Optimizely OptimizelyResult.swift
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/OptimizelyError.swift:54:10: warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 52 |     case conditionCannotBeEvaluated(_ hint: String)
 53 |     case evaluateAttributeInvalidCondition(_ condition: String)
 54 |     case evaluateAttributeInvalidType(_ condition: String, _ value: Any, _ key: String)
    |          `- warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 55 |     case evaluateAttributeValueOutOfRange(_ condition: String, _ key: String)
 56 |     case evaluateAttributeInvalidFormat(_ hint: String)
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/VuidManager.swift:24:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
17 | import Foundation
18 |
19 | public class VuidManager {
   |              `- note: class 'VuidManager' does not conform to the 'Sendable' protocol
20 |     private var _vuid: String = ""
21 |     private(set) var enable: Bool = false
22 |     let logger = OPTLoggerFactory.getLogger()
23 |     // a single vuid should be shared for all SDK instances
24 |     public static let shared = VuidManager()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 |     public func configure(enable: Bool) {
[99/102] Compiling Optimizely VuidManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/OptimizelyError.swift:54:10: warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 52 |     case conditionCannotBeEvaluated(_ hint: String)
 53 |     case evaluateAttributeInvalidCondition(_ condition: String)
 54 |     case evaluateAttributeInvalidType(_ condition: String, _ value: Any, _ key: String)
    |          `- warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 55 |     case evaluateAttributeValueOutOfRange(_ condition: String, _ key: String)
 56 |     case evaluateAttributeInvalidFormat(_ hint: String)
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/VuidManager.swift:24:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
17 | import Foundation
18 |
19 | public class VuidManager {
   |              `- note: class 'VuidManager' does not conform to the 'Sendable' protocol
20 |     private var _vuid: String = ""
21 |     private(set) var enable: Bool = false
22 |     let logger = OPTLoggerFactory.getLogger()
23 |     // a single vuid should be shared for all SDK instances
24 |     public static let shared = VuidManager()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 |     public func configure(enable: Bool) {
[100/102] Compiling Optimizely BackgroundingCallbacks.swift
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/OptimizelyError.swift:54:10: warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 52 |     case conditionCannotBeEvaluated(_ hint: String)
 53 |     case evaluateAttributeInvalidCondition(_ condition: String)
 54 |     case evaluateAttributeInvalidType(_ condition: String, _ value: Any, _ key: String)
    |          `- warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 55 |     case evaluateAttributeValueOutOfRange(_ condition: String, _ key: String)
 56 |     case evaluateAttributeInvalidFormat(_ hint: String)
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/VuidManager.swift:24:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
17 | import Foundation
18 |
19 | public class VuidManager {
   |              `- note: class 'VuidManager' does not conform to the 'Sendable' protocol
20 |     private var _vuid: String = ""
21 |     private(set) var enable: Bool = false
22 |     let logger = OPTLoggerFactory.getLogger()
23 |     // a single vuid should be shared for all SDK instances
24 |     public static let shared = VuidManager()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 |     public func configure(enable: Bool) {
[101/102] Compiling Optimizely DataStoreQueueStack.swift
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/OptimizelyError.swift:54:10: warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 52 |     case conditionCannotBeEvaluated(_ hint: String)
 53 |     case evaluateAttributeInvalidCondition(_ condition: String)
 54 |     case evaluateAttributeInvalidType(_ condition: String, _ value: Any, _ key: String)
    |          `- warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 55 |     case evaluateAttributeValueOutOfRange(_ condition: String, _ key: String)
 56 |     case evaluateAttributeInvalidFormat(_ hint: String)
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/VuidManager.swift:24:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
17 | import Foundation
18 |
19 | public class VuidManager {
   |              `- note: class 'VuidManager' does not conform to the 'Sendable' protocol
20 |     private var _vuid: String = ""
21 |     private(set) var enable: Bool = false
22 |     let logger = OPTLoggerFactory.getLogger()
23 |     // a single vuid should be shared for all SDK instances
24 |     public static let shared = VuidManager()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 |     public func configure(enable: Bool) {
[102/102] Compiling Optimizely OPTBucketer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/OptimizelyError.swift:54:10: warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 52 |     case conditionCannotBeEvaluated(_ hint: String)
 53 |     case evaluateAttributeInvalidCondition(_ condition: String)
 54 |     case evaluateAttributeInvalidType(_ condition: String, _ value: Any, _ key: String)
    |          `- warning: associated value 'evaluateAttributeInvalidType' of 'Sendable'-conforming enum 'OptimizelyError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 55 |     case evaluateAttributeValueOutOfRange(_ condition: String, _ key: String)
 56 |     case evaluateAttributeInvalidFormat(_ hint: String)
/Users/admin/builder/spi-builder-workspace/Sources/Optimizely/VuidManager.swift:24:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
17 | import Foundation
18 |
19 | public class VuidManager {
   |              `- note: class 'VuidManager' does not conform to the 'Sendable' protocol
20 |     private var _vuid: String = ""
21 |     private(set) var enable: Bool = false
22 |     let logger = OPTLoggerFactory.getLogger()
23 |     // a single vuid should be shared for all SDK instances
24 |     public static let shared = VuidManager()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'VuidManager' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 |     public func configure(enable: Bool) {
Build complete! (8.45s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Optimizely",
  "name" : "Optimizely",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "Optimizely",
      "targets" : [
        "Optimizely"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "Optimizely",
      "module_type" : "SwiftTarget",
      "name" : "Optimizely",
      "path" : "Sources",
      "product_memberships" : [
        "Optimizely"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Supporting Files/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "CMAB/CmabClient.swift",
        "CMAB/CmabConfig.swift",
        "CMAB/CmabService.swift",
        "Customization/DefaultDatafileHandler.swift",
        "Customization/DefaultEventDispatcher.swift",
        "Customization/DefaultLogger.swift",
        "Customization/DefaultUserProfileService.swift",
        "Customization/Protocols/OPTDatafileHandler.swift",
        "Customization/Protocols/OPTEventDispatcher.swift",
        "Customization/Protocols/OPTLogger.swift",
        "Customization/Protocols/OPTUserProfileService.swift",
        "Data Model/Attribute.swift",
        "Data Model/Audience/AttributeValue.swift",
        "Data Model/Audience/Audience.swift",
        "Data Model/Audience/ConditionHolder.swift",
        "Data Model/Audience/ConditionLeaf.swift",
        "Data Model/Audience/SemanticVersion.swift",
        "Data Model/Audience/UserAttribute.swift",
        "Data Model/Cmab.swift",
        "Data Model/DispatchEvents/BatchEvent.swift",
        "Data Model/DispatchEvents/EventForDispatch.swift",
        "Data Model/Event.swift",
        "Data Model/Experiment.swift",
        "Data Model/ExperimentCore.swift",
        "Data Model/FeatureFlag.swift",
        "Data Model/FeatureVariable.swift",
        "Data Model/Group.swift",
        "Data Model/Holdout.swift",
        "Data Model/HoldoutConfig.swift",
        "Data Model/Integration.swift",
        "Data Model/Project.swift",
        "Data Model/ProjectConfig.swift",
        "Data Model/Rollout.swift",
        "Data Model/TrafficAllocation.swift",
        "Data Model/Variable.swift",
        "Data Model/Variation.swift",
        "Extensions/Array+Extension.swift",
        "Extensions/ArrayEventForDispatch+Extension.swift",
        "Extensions/DataStoreQueueStackImpl+Extension.swift",
        "Extensions/OptimizelyClient+Extension.swift",
        "Implementation/Datastore/DataStoreFile.swift",
        "Implementation/Datastore/DataStoreMemory.swift",
        "Implementation/Datastore/DataStoreQueueStackImpl.swift",
        "Implementation/Datastore/DataStoreUserDefaults.swift",
        "Implementation/DecisionInfo.swift",
        "Implementation/DecisionReasons.swift",
        "Implementation/DecisionResponse.swift",
        "Implementation/DefaultBucketer.swift",
        "Implementation/DefaultDecisionService.swift",
        "Implementation/DefaultNotificationCenter.swift",
        "Implementation/Events/BatchEventBuilder.swift",
        "Implementation/UserProfileTracker.swift",
        "ODP/LruCache.swift",
        "ODP/OdpConfig.swift",
        "ODP/OdpEvent.swift",
        "ODP/OdpEventApiManager.swift",
        "ODP/OdpEventManager.swift",
        "ODP/OdpManager.swift",
        "ODP/OdpSegmentApiManager.swift",
        "ODP/OdpSegmentManager.swift",
        "ODP/OptimizelySdkSettings.swift",
        "ODP/OptimizelySegmentOption.swift",
        "Optimizely+Decide/OptimizelyClient+Decide.swift",
        "Optimizely+Decide/OptimizelyDecideOption.swift",
        "Optimizely+Decide/OptimizelyDecision.swift",
        "Optimizely+Decide/OptimizelyUserContext+ObjC.swift",
        "Optimizely+Decide/OptimizelyUserContext.swift",
        "Optimizely/OptimizelyClient+ObjC.swift",
        "Optimizely/OptimizelyClient.swift",
        "Optimizely/OptimizelyConfig+ObjC.swift",
        "Optimizely/OptimizelyConfig.swift",
        "Optimizely/OptimizelyError.swift",
        "Optimizely/OptimizelyJSON+ObjC.swift",
        "Optimizely/OptimizelyJSON.swift",
        "Optimizely/OptimizelyLogLevel.swift",
        "Optimizely/OptimizelyResult.swift",
        "Optimizely/VuidManager.swift",
        "Protocols/BackgroundingCallbacks.swift",
        "Protocols/DataStoreQueueStack.swift",
        "Protocols/OPTBucketer.swift",
        "Protocols/OPTDataStore.swift",
        "Protocols/OPTDecisionService.swift",
        "Protocols/OPTNotificationCenter.swift",
        "Utils/AtomicArray.swift",
        "Utils/AtomicDictionary.swift",
        "Utils/AtomicProperty.swift",
        "Utils/Constants.swift",
        "Utils/HandlerRegistryService.swift",
        "Utils/LogMessage.swift",
        "Utils/MurmurHash3.swift",
        "Utils/NetworkReachability.swift",
        "Utils/Notifications.swift",
        "Utils/RetryStrategy.swift",
        "Utils/SDKVersion.swift",
        "Utils/ThreadSafeLogger.swift",
        "Utils/Utils.swift",
        "watchOS/WatchBackgroundNotifier.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.