The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of Optimizely, reference v5.1.1 (ae8f6b), with Swift 6.1 for macOS (SPM) on 2 Jun 2025 23:26:30 UTC.

Swift 6 data race errors: 9

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

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:244:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
242 |         let now = Date()
243 |         DispatchQueue.main.async {
244 |             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
245 |                 return
246 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:252:73: warning: sending 'datafileChangeNotification' risks causing data races; this is an error in the Swift 6 language mode
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
252 |                                             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
253 |
254 |                 timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:246:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
244 |         DispatchQueue.main.async {
245 |             // should check here again
246 |             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
247 |
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
[71/94] Compiling Optimizely DefaultUserProfileService.swift
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:55:31: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
    |                               `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 56 |                     return .success(data)
 57 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:67:17: warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
 65 |
 66 |                 let result = OptimizelyResult<Data?>.failure(optError)
 67 |                 completionHandler(returnCached(result))
    |                 |- warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 68 |                 return
 69 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:55:31: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in an isolated local function; this is an error in the Swift 6 language mode
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
    |                               `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in an isolated local function; this is an error in the Swift 6 language mode
 56 |                     return .success(data)
 57 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:82:21: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 80 |                 if error != nil {
 81 |                     let optError = OptimizelyError.datafileDownloadFailed(error.debugDescription)
 82 |                     self.logger.e(optError)
    |                     `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 83 |                     result = returnCached(.failure(optError))  // error recovery
 84 |                 } else if let response = response as? HTTPURLResponse {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:83:30: warning: capture of 'returnCached' with non-sendable type '(OptimizelyResult<Data?>?) -> OptimizelyResult<Data?>' in a '@Sendable' closure
 81 |                     let optError = OptimizelyError.datafileDownloadFailed(error.debugDescription)
 82 |                     self.logger.e(optError)
 83 |                     result = returnCached(.failure(optError))  // error recovery
    |                              |- warning: capture of 'returnCached' with non-sendable type '(OptimizelyResult<Data?>?) -> OptimizelyResult<Data?>' in a '@Sendable' closure
    |                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 84 |                 } else if let response = response as? HTTPURLResponse {
 85 |                     switch response.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:108:17: warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
106 |                 self.reachability.updateNumContiguousFails(isError: (error != nil))
107 |
108 |                 completionHandler(result)
    |                 |- warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
109 |             }
110 |
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:54:18: warning: concurrently-executed local function 'returnCached' must be marked as '@Sendable'
 52 |         downloadQueue.async {
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
    |                  `- warning: concurrently-executed local function 'returnCached' must be marked as '@Sendable'
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
 56 |                     return .success(data)
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:249:17: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
247 |
248 |             let timer = Timer.scheduledTimer(withTimeInterval: TimeInterval(updateInterval), repeats: false) { (timer) in
249 |                 self.performPerodicDownload(sdkKey: sdkKey,
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:252:73: warning: capture of 'datafileChangeNotification' with non-sendable type '((Data) -> Void)?' in a '@Sendable' closure
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
252 |                                             datafileChangeNotification: datafileChangeNotification)
    |                                                                         |- warning: capture of 'datafileChangeNotification' with non-sendable type '((Data) -> Void)?' in a '@Sendable' closure
    |                                                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 |
254 |                 timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:24:16: 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
 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:120:38: 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 |
    :
118 |
119 |             func removeStoredEvents(num: Int) {
120 |                 if let removedItem = self.eventQueue.removeFirstItems(count: num), removedItem.count > 0 {
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
121 |                     // avoid event-log-message preparation overheads with closure-logging
122 |                     self.logger.d({ "Removed stored \(num) events starting with \(removedItem.first!)" })
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:120:38: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated local function; this is an error in the Swift 6 language mode
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
118 |
119 |             func removeStoredEvents(num: Int) {
120 |                 if let removedItem = self.eventQueue.removeFirstItems(count: num), removedItem.count > 0 {
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated local function; this is an error in the Swift 6 language mode
121 |                     // avoid event-log-message preparation overheads with closure-logging
122 |                     self.logger.d({ "Removed stored \(num) events starting with \(removedItem.first!)" })
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:154:25: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated closure; this is an error in the Swift 6 language mode
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
152 |                     switch result {
153 |                     case .failure(let error):
154 |                         self.logger.e(error.reason)
    |                         `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated closure; this is an error in the Swift 6 language mode
155 |                         failureCount += 1
156 |                     case .success:
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:193:17: warning: capture of 'completionHandler' with non-sendable type 'DispatchCompletionHandler' (aka '(OptimizelyResult<Data>) -> ()') in a '@Sendable' closure
191 |         let task = session.uploadTask(with: request, from: event.body) { (_, _, error) in
192 |             if let error = error {
193 |                 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'
194 |             } else {
195 |                 self.logger.d("Event Sent")
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:195: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 |
    :
193 |                 completionHandler(.failure(.eventDispatchFailed(error.localizedDescription)))
194 |             } else {
195 |                 self.logger.d("Event Sent")
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
196 |                 completionHandler(.success(event.body))
197 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:196:44: warning: capture of 'event' with non-sendable type 'EventForDispatch' in a '@Sendable' closure
194 |             } else {
195 |                 self.logger.d("Event Sent")
196 |                 completionHandler(.success(event.body))
    |                                            `- warning: capture of 'event' with non-sendable type 'EventForDispatch' in a '@Sendable' closure
197 |             }
198 |
/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 |
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:249: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 |
    :
247 |
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
249 |                 self.queueLock.async {
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
250 |                     if self.eventQueue.count > 0 {
251 |                         self.flushEvents()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:250: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 |
    :
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
249 |                 self.queueLock.async {
250 |                     if self.eventQueue.count > 0 {
    |                        `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
251 |                         self.flushEvents()
252 |                     } 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:244:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
242 |         let now = Date()
243 |         DispatchQueue.main.async {
244 |             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
245 |                 return
246 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:252:73: warning: sending 'datafileChangeNotification' risks causing data races; this is an error in the Swift 6 language mode
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
252 |                                             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
253 |
254 |                 timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:246:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
244 |         DispatchQueue.main.async {
245 |             // should check here again
246 |             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
247 |
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
[72/94] Compiling Optimizely OPTDatafileHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:55:31: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
    |                               `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 56 |                     return .success(data)
 57 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:67:17: warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
 65 |
 66 |                 let result = OptimizelyResult<Data?>.failure(optError)
 67 |                 completionHandler(returnCached(result))
    |                 |- warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 68 |                 return
 69 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:55:31: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in an isolated local function; this is an error in the Swift 6 language mode
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
    |                               `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in an isolated local function; this is an error in the Swift 6 language mode
 56 |                     return .success(data)
 57 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:82:21: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 80 |                 if error != nil {
 81 |                     let optError = OptimizelyError.datafileDownloadFailed(error.debugDescription)
 82 |                     self.logger.e(optError)
    |                     `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 83 |                     result = returnCached(.failure(optError))  // error recovery
 84 |                 } else if let response = response as? HTTPURLResponse {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:83:30: warning: capture of 'returnCached' with non-sendable type '(OptimizelyResult<Data?>?) -> OptimizelyResult<Data?>' in a '@Sendable' closure
 81 |                     let optError = OptimizelyError.datafileDownloadFailed(error.debugDescription)
 82 |                     self.logger.e(optError)
 83 |                     result = returnCached(.failure(optError))  // error recovery
    |                              |- warning: capture of 'returnCached' with non-sendable type '(OptimizelyResult<Data?>?) -> OptimizelyResult<Data?>' in a '@Sendable' closure
    |                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 84 |                 } else if let response = response as? HTTPURLResponse {
 85 |                     switch response.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:108:17: warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
106 |                 self.reachability.updateNumContiguousFails(isError: (error != nil))
107 |
108 |                 completionHandler(result)
    |                 |- warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
109 |             }
110 |
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:54:18: warning: concurrently-executed local function 'returnCached' must be marked as '@Sendable'
 52 |         downloadQueue.async {
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
    |                  `- warning: concurrently-executed local function 'returnCached' must be marked as '@Sendable'
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
 56 |                     return .success(data)
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:249:17: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
247 |
248 |             let timer = Timer.scheduledTimer(withTimeInterval: TimeInterval(updateInterval), repeats: false) { (timer) in
249 |                 self.performPerodicDownload(sdkKey: sdkKey,
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:252:73: warning: capture of 'datafileChangeNotification' with non-sendable type '((Data) -> Void)?' in a '@Sendable' closure
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
252 |                                             datafileChangeNotification: datafileChangeNotification)
    |                                                                         |- warning: capture of 'datafileChangeNotification' with non-sendable type '((Data) -> Void)?' in a '@Sendable' closure
    |                                                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 |
254 |                 timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:24:16: 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
 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:120:38: 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 |
    :
118 |
119 |             func removeStoredEvents(num: Int) {
120 |                 if let removedItem = self.eventQueue.removeFirstItems(count: num), removedItem.count > 0 {
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
121 |                     // avoid event-log-message preparation overheads with closure-logging
122 |                     self.logger.d({ "Removed stored \(num) events starting with \(removedItem.first!)" })
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:120:38: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated local function; this is an error in the Swift 6 language mode
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
118 |
119 |             func removeStoredEvents(num: Int) {
120 |                 if let removedItem = self.eventQueue.removeFirstItems(count: num), removedItem.count > 0 {
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated local function; this is an error in the Swift 6 language mode
121 |                     // avoid event-log-message preparation overheads with closure-logging
122 |                     self.logger.d({ "Removed stored \(num) events starting with \(removedItem.first!)" })
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:154:25: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated closure; this is an error in the Swift 6 language mode
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
152 |                     switch result {
153 |                     case .failure(let error):
154 |                         self.logger.e(error.reason)
    |                         `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated closure; this is an error in the Swift 6 language mode
155 |                         failureCount += 1
156 |                     case .success:
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:193:17: warning: capture of 'completionHandler' with non-sendable type 'DispatchCompletionHandler' (aka '(OptimizelyResult<Data>) -> ()') in a '@Sendable' closure
191 |         let task = session.uploadTask(with: request, from: event.body) { (_, _, error) in
192 |             if let error = error {
193 |                 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'
194 |             } else {
195 |                 self.logger.d("Event Sent")
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:195: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 |
    :
193 |                 completionHandler(.failure(.eventDispatchFailed(error.localizedDescription)))
194 |             } else {
195 |                 self.logger.d("Event Sent")
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
196 |                 completionHandler(.success(event.body))
197 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:196:44: warning: capture of 'event' with non-sendable type 'EventForDispatch' in a '@Sendable' closure
194 |             } else {
195 |                 self.logger.d("Event Sent")
196 |                 completionHandler(.success(event.body))
    |                                            `- warning: capture of 'event' with non-sendable type 'EventForDispatch' in a '@Sendable' closure
197 |             }
198 |
/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 |
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:249: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 |
    :
247 |
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
249 |                 self.queueLock.async {
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
250 |                     if self.eventQueue.count > 0 {
251 |                         self.flushEvents()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:250: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 |
    :
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
249 |                 self.queueLock.async {
250 |                     if self.eventQueue.count > 0 {
    |                        `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
251 |                         self.flushEvents()
252 |                     } 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:244:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
242 |         let now = Date()
243 |         DispatchQueue.main.async {
244 |             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
245 |                 return
246 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:252:73: warning: sending 'datafileChangeNotification' risks causing data races; this is an error in the Swift 6 language mode
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
252 |                                             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
253 |
254 |                 timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:246:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
244 |         DispatchQueue.main.async {
245 |             // should check here again
246 |             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
247 |
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
[73/94] Compiling Optimizely OPTEventDispatcher.swift
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:55:31: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
    |                               `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 56 |                     return .success(data)
 57 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:67:17: warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
 65 |
 66 |                 let result = OptimizelyResult<Data?>.failure(optError)
 67 |                 completionHandler(returnCached(result))
    |                 |- warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 68 |                 return
 69 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:55:31: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in an isolated local function; this is an error in the Swift 6 language mode
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
    |                               `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in an isolated local function; this is an error in the Swift 6 language mode
 56 |                     return .success(data)
 57 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:82:21: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 80 |                 if error != nil {
 81 |                     let optError = OptimizelyError.datafileDownloadFailed(error.debugDescription)
 82 |                     self.logger.e(optError)
    |                     `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 83 |                     result = returnCached(.failure(optError))  // error recovery
 84 |                 } else if let response = response as? HTTPURLResponse {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:83:30: warning: capture of 'returnCached' with non-sendable type '(OptimizelyResult<Data?>?) -> OptimizelyResult<Data?>' in a '@Sendable' closure
 81 |                     let optError = OptimizelyError.datafileDownloadFailed(error.debugDescription)
 82 |                     self.logger.e(optError)
 83 |                     result = returnCached(.failure(optError))  // error recovery
    |                              |- warning: capture of 'returnCached' with non-sendable type '(OptimizelyResult<Data?>?) -> OptimizelyResult<Data?>' in a '@Sendable' closure
    |                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 84 |                 } else if let response = response as? HTTPURLResponse {
 85 |                     switch response.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:108:17: warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
106 |                 self.reachability.updateNumContiguousFails(isError: (error != nil))
107 |
108 |                 completionHandler(result)
    |                 |- warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
109 |             }
110 |
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:54:18: warning: concurrently-executed local function 'returnCached' must be marked as '@Sendable'
 52 |         downloadQueue.async {
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
    |                  `- warning: concurrently-executed local function 'returnCached' must be marked as '@Sendable'
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
 56 |                     return .success(data)
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:249:17: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
247 |
248 |             let timer = Timer.scheduledTimer(withTimeInterval: TimeInterval(updateInterval), repeats: false) { (timer) in
249 |                 self.performPerodicDownload(sdkKey: sdkKey,
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:252:73: warning: capture of 'datafileChangeNotification' with non-sendable type '((Data) -> Void)?' in a '@Sendable' closure
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
252 |                                             datafileChangeNotification: datafileChangeNotification)
    |                                                                         |- warning: capture of 'datafileChangeNotification' with non-sendable type '((Data) -> Void)?' in a '@Sendable' closure
    |                                                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 |
254 |                 timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:24:16: 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
 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:120:38: 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 |
    :
118 |
119 |             func removeStoredEvents(num: Int) {
120 |                 if let removedItem = self.eventQueue.removeFirstItems(count: num), removedItem.count > 0 {
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
121 |                     // avoid event-log-message preparation overheads with closure-logging
122 |                     self.logger.d({ "Removed stored \(num) events starting with \(removedItem.first!)" })
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:120:38: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated local function; this is an error in the Swift 6 language mode
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
118 |
119 |             func removeStoredEvents(num: Int) {
120 |                 if let removedItem = self.eventQueue.removeFirstItems(count: num), removedItem.count > 0 {
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated local function; this is an error in the Swift 6 language mode
121 |                     // avoid event-log-message preparation overheads with closure-logging
122 |                     self.logger.d({ "Removed stored \(num) events starting with \(removedItem.first!)" })
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:154:25: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated closure; this is an error in the Swift 6 language mode
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
152 |                     switch result {
153 |                     case .failure(let error):
154 |                         self.logger.e(error.reason)
    |                         `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated closure; this is an error in the Swift 6 language mode
155 |                         failureCount += 1
156 |                     case .success:
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:193:17: warning: capture of 'completionHandler' with non-sendable type 'DispatchCompletionHandler' (aka '(OptimizelyResult<Data>) -> ()') in a '@Sendable' closure
191 |         let task = session.uploadTask(with: request, from: event.body) { (_, _, error) in
192 |             if let error = error {
193 |                 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'
194 |             } else {
195 |                 self.logger.d("Event Sent")
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:195: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 |
    :
193 |                 completionHandler(.failure(.eventDispatchFailed(error.localizedDescription)))
194 |             } else {
195 |                 self.logger.d("Event Sent")
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
196 |                 completionHandler(.success(event.body))
197 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:196:44: warning: capture of 'event' with non-sendable type 'EventForDispatch' in a '@Sendable' closure
194 |             } else {
195 |                 self.logger.d("Event Sent")
196 |                 completionHandler(.success(event.body))
    |                                            `- warning: capture of 'event' with non-sendable type 'EventForDispatch' in a '@Sendable' closure
197 |             }
198 |
/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 |
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:249: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 |
    :
247 |
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
249 |                 self.queueLock.async {
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
250 |                     if self.eventQueue.count > 0 {
251 |                         self.flushEvents()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:250: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 |
    :
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
249 |                 self.queueLock.async {
250 |                     if self.eventQueue.count > 0 {
    |                        `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
251 |                         self.flushEvents()
252 |                     } 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:244:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
242 |         let now = Date()
243 |         DispatchQueue.main.async {
244 |             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
245 |                 return
246 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:252:73: warning: sending 'datafileChangeNotification' risks causing data races; this is an error in the Swift 6 language mode
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
252 |                                             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
253 |
254 |                 timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:246:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
244 |         DispatchQueue.main.async {
245 |             // should check here again
246 |             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
247 |
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
[74/94] Compiling Optimizely OPTLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:55:31: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
    |                               `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 56 |                     return .success(data)
 57 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:67:17: warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
 65 |
 66 |                 let result = OptimizelyResult<Data?>.failure(optError)
 67 |                 completionHandler(returnCached(result))
    |                 |- warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 68 |                 return
 69 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:55:31: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in an isolated local function; this is an error in the Swift 6 language mode
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
    |                               `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in an isolated local function; this is an error in the Swift 6 language mode
 56 |                     return .success(data)
 57 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:82:21: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 80 |                 if error != nil {
 81 |                     let optError = OptimizelyError.datafileDownloadFailed(error.debugDescription)
 82 |                     self.logger.e(optError)
    |                     `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 83 |                     result = returnCached(.failure(optError))  // error recovery
 84 |                 } else if let response = response as? HTTPURLResponse {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:83:30: warning: capture of 'returnCached' with non-sendable type '(OptimizelyResult<Data?>?) -> OptimizelyResult<Data?>' in a '@Sendable' closure
 81 |                     let optError = OptimizelyError.datafileDownloadFailed(error.debugDescription)
 82 |                     self.logger.e(optError)
 83 |                     result = returnCached(.failure(optError))  // error recovery
    |                              |- warning: capture of 'returnCached' with non-sendable type '(OptimizelyResult<Data?>?) -> OptimizelyResult<Data?>' in a '@Sendable' closure
    |                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 84 |                 } else if let response = response as? HTTPURLResponse {
 85 |                     switch response.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:108:17: warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
106 |                 self.reachability.updateNumContiguousFails(isError: (error != nil))
107 |
108 |                 completionHandler(result)
    |                 |- warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
109 |             }
110 |
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:54:18: warning: concurrently-executed local function 'returnCached' must be marked as '@Sendable'
 52 |         downloadQueue.async {
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
    |                  `- warning: concurrently-executed local function 'returnCached' must be marked as '@Sendable'
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
 56 |                     return .success(data)
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:249:17: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
247 |
248 |             let timer = Timer.scheduledTimer(withTimeInterval: TimeInterval(updateInterval), repeats: false) { (timer) in
249 |                 self.performPerodicDownload(sdkKey: sdkKey,
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:252:73: warning: capture of 'datafileChangeNotification' with non-sendable type '((Data) -> Void)?' in a '@Sendable' closure
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
252 |                                             datafileChangeNotification: datafileChangeNotification)
    |                                                                         |- warning: capture of 'datafileChangeNotification' with non-sendable type '((Data) -> Void)?' in a '@Sendable' closure
    |                                                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 |
254 |                 timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:24:16: 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
 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:120:38: 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 |
    :
118 |
119 |             func removeStoredEvents(num: Int) {
120 |                 if let removedItem = self.eventQueue.removeFirstItems(count: num), removedItem.count > 0 {
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
121 |                     // avoid event-log-message preparation overheads with closure-logging
122 |                     self.logger.d({ "Removed stored \(num) events starting with \(removedItem.first!)" })
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:120:38: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated local function; this is an error in the Swift 6 language mode
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
118 |
119 |             func removeStoredEvents(num: Int) {
120 |                 if let removedItem = self.eventQueue.removeFirstItems(count: num), removedItem.count > 0 {
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated local function; this is an error in the Swift 6 language mode
121 |                     // avoid event-log-message preparation overheads with closure-logging
122 |                     self.logger.d({ "Removed stored \(num) events starting with \(removedItem.first!)" })
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:154:25: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated closure; this is an error in the Swift 6 language mode
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
152 |                     switch result {
153 |                     case .failure(let error):
154 |                         self.logger.e(error.reason)
    |                         `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated closure; this is an error in the Swift 6 language mode
155 |                         failureCount += 1
156 |                     case .success:
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:193:17: warning: capture of 'completionHandler' with non-sendable type 'DispatchCompletionHandler' (aka '(OptimizelyResult<Data>) -> ()') in a '@Sendable' closure
191 |         let task = session.uploadTask(with: request, from: event.body) { (_, _, error) in
192 |             if let error = error {
193 |                 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'
194 |             } else {
195 |                 self.logger.d("Event Sent")
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:195: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 |
    :
193 |                 completionHandler(.failure(.eventDispatchFailed(error.localizedDescription)))
194 |             } else {
195 |                 self.logger.d("Event Sent")
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
196 |                 completionHandler(.success(event.body))
197 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:196:44: warning: capture of 'event' with non-sendable type 'EventForDispatch' in a '@Sendable' closure
194 |             } else {
195 |                 self.logger.d("Event Sent")
196 |                 completionHandler(.success(event.body))
    |                                            `- warning: capture of 'event' with non-sendable type 'EventForDispatch' in a '@Sendable' closure
197 |             }
198 |
/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 |
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:249: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 |
    :
247 |
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
249 |                 self.queueLock.async {
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
250 |                     if self.eventQueue.count > 0 {
251 |                         self.flushEvents()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:250: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 |
    :
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
249 |                 self.queueLock.async {
250 |                     if self.eventQueue.count > 0 {
    |                        `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
251 |                         self.flushEvents()
252 |                     } 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:244:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
242 |         let now = Date()
243 |         DispatchQueue.main.async {
244 |             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
245 |                 return
246 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:252:73: warning: sending 'datafileChangeNotification' risks causing data races; this is an error in the Swift 6 language mode
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
252 |                                             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
253 |
254 |                 timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:246:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
244 |         DispatchQueue.main.async {
245 |             // should check here again
246 |             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
247 |
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
[75/94] Compiling Optimizely OPTUserProfileService.swift
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:55:31: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
    |                               `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 56 |                     return .success(data)
 57 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:67:17: warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
 65 |
 66 |                 let result = OptimizelyResult<Data?>.failure(optError)
 67 |                 completionHandler(returnCached(result))
    |                 |- warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 68 |                 return
 69 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:55:31: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in an isolated local function; this is an error in the Swift 6 language mode
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
    |                               `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in an isolated local function; this is an error in the Swift 6 language mode
 56 |                     return .success(data)
 57 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:82:21: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 80 |                 if error != nil {
 81 |                     let optError = OptimizelyError.datafileDownloadFailed(error.debugDescription)
 82 |                     self.logger.e(optError)
    |                     `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 83 |                     result = returnCached(.failure(optError))  // error recovery
 84 |                 } else if let response = response as? HTTPURLResponse {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:83:30: warning: capture of 'returnCached' with non-sendable type '(OptimizelyResult<Data?>?) -> OptimizelyResult<Data?>' in a '@Sendable' closure
 81 |                     let optError = OptimizelyError.datafileDownloadFailed(error.debugDescription)
 82 |                     self.logger.e(optError)
 83 |                     result = returnCached(.failure(optError))  // error recovery
    |                              |- warning: capture of 'returnCached' with non-sendable type '(OptimizelyResult<Data?>?) -> OptimizelyResult<Data?>' in a '@Sendable' closure
    |                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 84 |                 } else if let response = response as? HTTPURLResponse {
 85 |                     switch response.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:108:17: warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
106 |                 self.reachability.updateNumContiguousFails(isError: (error != nil))
107 |
108 |                 completionHandler(result)
    |                 |- warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
109 |             }
110 |
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:54:18: warning: concurrently-executed local function 'returnCached' must be marked as '@Sendable'
 52 |         downloadQueue.async {
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
    |                  `- warning: concurrently-executed local function 'returnCached' must be marked as '@Sendable'
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
 56 |                     return .success(data)
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:249:17: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
247 |
248 |             let timer = Timer.scheduledTimer(withTimeInterval: TimeInterval(updateInterval), repeats: false) { (timer) in
249 |                 self.performPerodicDownload(sdkKey: sdkKey,
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:252:73: warning: capture of 'datafileChangeNotification' with non-sendable type '((Data) -> Void)?' in a '@Sendable' closure
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
252 |                                             datafileChangeNotification: datafileChangeNotification)
    |                                                                         |- warning: capture of 'datafileChangeNotification' with non-sendable type '((Data) -> Void)?' in a '@Sendable' closure
    |                                                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 |
254 |                 timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:24:16: 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
 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:120:38: 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 |
    :
118 |
119 |             func removeStoredEvents(num: Int) {
120 |                 if let removedItem = self.eventQueue.removeFirstItems(count: num), removedItem.count > 0 {
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
121 |                     // avoid event-log-message preparation overheads with closure-logging
122 |                     self.logger.d({ "Removed stored \(num) events starting with \(removedItem.first!)" })
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:120:38: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated local function; this is an error in the Swift 6 language mode
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
118 |
119 |             func removeStoredEvents(num: Int) {
120 |                 if let removedItem = self.eventQueue.removeFirstItems(count: num), removedItem.count > 0 {
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated local function; this is an error in the Swift 6 language mode
121 |                     // avoid event-log-message preparation overheads with closure-logging
122 |                     self.logger.d({ "Removed stored \(num) events starting with \(removedItem.first!)" })
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:154:25: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated closure; this is an error in the Swift 6 language mode
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
152 |                     switch result {
153 |                     case .failure(let error):
154 |                         self.logger.e(error.reason)
    |                         `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated closure; this is an error in the Swift 6 language mode
155 |                         failureCount += 1
156 |                     case .success:
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:193:17: warning: capture of 'completionHandler' with non-sendable type 'DispatchCompletionHandler' (aka '(OptimizelyResult<Data>) -> ()') in a '@Sendable' closure
191 |         let task = session.uploadTask(with: request, from: event.body) { (_, _, error) in
192 |             if let error = error {
193 |                 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'
194 |             } else {
195 |                 self.logger.d("Event Sent")
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:195: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 |
    :
193 |                 completionHandler(.failure(.eventDispatchFailed(error.localizedDescription)))
194 |             } else {
195 |                 self.logger.d("Event Sent")
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
196 |                 completionHandler(.success(event.body))
197 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:196:44: warning: capture of 'event' with non-sendable type 'EventForDispatch' in a '@Sendable' closure
194 |             } else {
195 |                 self.logger.d("Event Sent")
196 |                 completionHandler(.success(event.body))
    |                                            `- warning: capture of 'event' with non-sendable type 'EventForDispatch' in a '@Sendable' closure
197 |             }
198 |
/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 |
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:249: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 |
    :
247 |
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
249 |                 self.queueLock.async {
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
250 |                     if self.eventQueue.count > 0 {
251 |                         self.flushEvents()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:250: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 |
    :
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
249 |                 self.queueLock.async {
250 |                     if self.eventQueue.count > 0 {
    |                        `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
251 |                         self.flushEvents()
252 |                     } 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:244:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
242 |         let now = Date()
243 |         DispatchQueue.main.async {
244 |             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
245 |                 return
246 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:252:73: warning: sending 'datafileChangeNotification' risks causing data races; this is an error in the Swift 6 language mode
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
252 |                                             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
253 |
254 |                 timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:246:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
244 |         DispatchQueue.main.async {
245 |             // should check here again
246 |             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
247 |
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
[76/94] Compiling Optimizely Attribute.swift
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:55:31: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
    |                               `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 56 |                     return .success(data)
 57 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:67:17: warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
 65 |
 66 |                 let result = OptimizelyResult<Data?>.failure(optError)
 67 |                 completionHandler(returnCached(result))
    |                 |- warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 68 |                 return
 69 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:55:31: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in an isolated local function; this is an error in the Swift 6 language mode
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
    |                               `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in an isolated local function; this is an error in the Swift 6 language mode
 56 |                     return .success(data)
 57 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:82:21: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
 80 |                 if error != nil {
 81 |                     let optError = OptimizelyError.datafileDownloadFailed(error.debugDescription)
 82 |                     self.logger.e(optError)
    |                     `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 83 |                     result = returnCached(.failure(optError))  // error recovery
 84 |                 } else if let response = response as? HTTPURLResponse {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:83:30: warning: capture of 'returnCached' with non-sendable type '(OptimizelyResult<Data?>?) -> OptimizelyResult<Data?>' in a '@Sendable' closure
 81 |                     let optError = OptimizelyError.datafileDownloadFailed(error.debugDescription)
 82 |                     self.logger.e(optError)
 83 |                     result = returnCached(.failure(optError))  // error recovery
    |                              |- warning: capture of 'returnCached' with non-sendable type '(OptimizelyResult<Data?>?) -> OptimizelyResult<Data?>' in a '@Sendable' closure
    |                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 84 |                 } else if let response = response as? HTTPURLResponse {
 85 |                     switch response.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:108:17: warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
106 |                 self.reachability.updateNumContiguousFails(isError: (error != nil))
107 |
108 |                 completionHandler(result)
    |                 |- warning: capture of 'completionHandler' with non-sendable type 'DatafileDownloadCompletionHandler' (aka '(OptimizelyResult<Optional<Data>>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
109 |             }
110 |
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:54:18: warning: concurrently-executed local function 'returnCached' must be marked as '@Sendable'
 52 |         downloadQueue.async {
 53 |
 54 |             func returnCached(_ result: OptimizelyResult<Data?>? = nil) -> OptimizelyResult<Data?> {
    |                  `- warning: concurrently-executed local function 'returnCached' must be marked as '@Sendable'
 55 |                 if let data = self.loadSavedDatafile(sdkKey: sdkKey) {
 56 |                     return .success(data)
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:249:17: warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
 17 | import Foundation
 18 |
 19 | open class DefaultDatafileHandler: OPTDatafileHandler {
    |            `- note: class 'DefaultDatafileHandler' does not conform to the 'Sendable' protocol
 20 |     // endpoint used to get the datafile.  This is settable after you create a OptimizelyClient instance.
 21 |     public var endPointStringFormat = "https://cdn.optimizely.com/datafiles/%@.json"
    :
247 |
248 |             let timer = Timer.scheduledTimer(withTimeInterval: TimeInterval(updateInterval), repeats: false) { (timer) in
249 |                 self.performPerodicDownload(sdkKey: sdkKey,
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultDatafileHandler' in a '@Sendable' closure
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:252:73: warning: capture of 'datafileChangeNotification' with non-sendable type '((Data) -> Void)?' in a '@Sendable' closure
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
252 |                                             datafileChangeNotification: datafileChangeNotification)
    |                                                                         |- warning: capture of 'datafileChangeNotification' with non-sendable type '((Data) -> Void)?' in a '@Sendable' closure
    |                                                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 |
254 |                 timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:24:16: 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
 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:120:38: 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 |
    :
118 |
119 |             func removeStoredEvents(num: Int) {
120 |                 if let removedItem = self.eventQueue.removeFirstItems(count: num), removedItem.count > 0 {
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
121 |                     // avoid event-log-message preparation overheads with closure-logging
122 |                     self.logger.d({ "Removed stored \(num) events starting with \(removedItem.first!)" })
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:120:38: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated local function; this is an error in the Swift 6 language mode
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
118 |
119 |             func removeStoredEvents(num: Int) {
120 |                 if let removedItem = self.eventQueue.removeFirstItems(count: num), removedItem.count > 0 {
    |                                      `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated local function; this is an error in the Swift 6 language mode
121 |                     // avoid event-log-message preparation overheads with closure-logging
122 |                     self.logger.d({ "Removed stored \(num) events starting with \(removedItem.first!)" })
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:154:25: warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated closure; this is an error in the Swift 6 language mode
 21 | }
 22 |
 23 | open class DefaultEventDispatcher: BackgroundingCallbacks, OPTEventDispatcher {
    |            `- note: class 'DefaultEventDispatcher' does not conform to the 'Sendable' protocol
 24 |     static let sharedInstance = DefaultEventDispatcher()
 25 |
    :
152 |                     switch result {
153 |                     case .failure(let error):
154 |                         self.logger.e(error.reason)
    |                         `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in an isolated closure; this is an error in the Swift 6 language mode
155 |                         failureCount += 1
156 |                     case .success:
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:193:17: warning: capture of 'completionHandler' with non-sendable type 'DispatchCompletionHandler' (aka '(OptimizelyResult<Data>) -> ()') in a '@Sendable' closure
191 |         let task = session.uploadTask(with: request, from: event.body) { (_, _, error) in
192 |             if let error = error {
193 |                 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'
194 |             } else {
195 |                 self.logger.d("Event Sent")
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:195: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 |
    :
193 |                 completionHandler(.failure(.eventDispatchFailed(error.localizedDescription)))
194 |             } else {
195 |                 self.logger.d("Event Sent")
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
196 |                 completionHandler(.success(event.body))
197 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:196:44: warning: capture of 'event' with non-sendable type 'EventForDispatch' in a '@Sendable' closure
194 |             } else {
195 |                 self.logger.d("Event Sent")
196 |                 completionHandler(.success(event.body))
    |                                            `- warning: capture of 'event' with non-sendable type 'EventForDispatch' in a '@Sendable' closure
197 |             }
198 |
/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 |
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:249: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 |
    :
247 |
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
249 |                 self.queueLock.async {
    |                 `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
250 |                     if self.eventQueue.count > 0 {
251 |                         self.flushEvents()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:250: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 |
    :
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
249 |                 self.queueLock.async {
250 |                     if self.eventQueue.count > 0 {
    |                        `- warning: capture of 'self' with non-sendable type 'DefaultEventDispatcher' in a '@Sendable' closure
251 |                         self.flushEvents()
252 |                     } 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:244:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
242 |         let now = Date()
243 |         DispatchQueue.main.async {
244 |             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
245 |                 return
246 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultDatafileHandler.swift:252:73: warning: sending 'datafileChangeNotification' risks causing data races; this is an error in the Swift 6 language mode
250 |                                             startTime: now,
251 |                                             updateInterval: updateInterval,
252 |                                             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
253 |
254 |                 timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/Customization/DefaultEventDispatcher.swift:246:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
244 |         DispatchQueue.main.async {
245 |             // should check here again
246 |             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
247 |
248 |             self.timer.property = Timer.scheduledTimer(withTimeInterval: self.timerInterval, repeats: true) { _ in
[77/94] Compiling Optimizely LogMessage.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:68:17: 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 |     var monitor: AnyObject?
    :
 66 |
 67 |                 // this task runs in sync queue. set private variable (instead of isConnected to avoid deadlock)
 68 |                 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
 69 |             }
 70 |
/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/94] Compiling Optimizely MurmurHash3.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:68:17: 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 |     var monitor: AnyObject?
    :
 66 |
 67 |                 // this task runs in sync queue. set private variable (instead of isConnected to avoid deadlock)
 68 |                 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
 69 |             }
 70 |
/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/94] Compiling Optimizely NetworkReachability.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:68:17: 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 |     var monitor: AnyObject?
    :
 66 |
 67 |                 // this task runs in sync queue. set private variable (instead of isConnected to avoid deadlock)
 68 |                 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
 69 |             }
 70 |
/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/94] Compiling Optimizely Notifications.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:68:17: 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 |     var monitor: AnyObject?
    :
 66 |
 67 |                 // this task runs in sync queue. set private variable (instead of isConnected to avoid deadlock)
 68 |                 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
 69 |             }
 70 |
/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/94] Compiling Optimizely SDKVersion.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:68:17: 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 |     var monitor: AnyObject?
    :
 66 |
 67 |                 // this task runs in sync queue. set private variable (instead of isConnected to avoid deadlock)
 68 |                 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
 69 |             }
 70 |
/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/94] Compiling Optimizely ThreadSafeLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:68:17: 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 |     var monitor: AnyObject?
    :
 66 |
 67 |                 // this task runs in sync queue. set private variable (instead of isConnected to avoid deadlock)
 68 |                 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
 69 |             }
 70 |
/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/94] Compiling Optimizely Utils.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:68:17: 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 |     var monitor: AnyObject?
    :
 66 |
 67 |                 // this task runs in sync queue. set private variable (instead of isConnected to avoid deadlock)
 68 |                 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
 69 |             }
 70 |
/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 {
[84/94] Compiling Optimizely WatchBackgroundNotifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:68:17: 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 |     var monitor: AnyObject?
    :
 66 |
 67 |                 // this task runs in sync queue. set private variable (instead of isConnected to avoid deadlock)
 68 |                 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
 69 |             }
 70 |
/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 {
[85/94] Compiling Optimizely resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utils/NetworkReachability.swift:68:17: 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 |     var monitor: AnyObject?
    :
 66 |
 67 |                 // this task runs in sync queue. set private variable (instead of isConnected to avoid deadlock)
 68 |                 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
 69 |             }
 70 |
/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 {
[86/94] 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) {
[87/94] 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) {
[88/94] 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) {
[89/94] 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) {
[90/94] 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) {
[91/94] 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) {
[92/94] 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) {
[93/94] 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) {
[94/94] 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) {
Build complete! (7.86s)
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/Sources/Supporting Files/Info.plist
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Optimizely",
  "name" : "Optimizely",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "10.0"
    },
    {
      "name" : "macos",
      "version" : "10.14"
    },
    {
      "name" : "watchos",
      "version" : "3.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" : [
        "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/DispatchEvents/BatchEvent.swift",
        "Data Model/DispatchEvents/EventForDispatch.swift",
        "Data Model/Event.swift",
        "Data Model/Experiment.swift",
        "Data Model/FeatureFlag.swift",
        "Data Model/FeatureVariable.swift",
        "Data Model/Group.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/SDKVersion.swift",
        "Utils/ThreadSafeLogger.swift",
        "Utils/Utils.swift",
        "watchOS/WatchBackgroundNotifier.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.