The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of Connectivity, reference 8.0.1 (30956a), with Swift 6.1 for macOS (SPM) on 30 Apr 2025 01:13:40 UTC.

Swift 6 data race errors: 2

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/rwbutler/Connectivity.git
Reference: 8.0.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/rwbutler/Connectivity
 * tag               8.0.1      -> FETCH_HEAD
HEAD is now at 30956aa Release 8.0.1
Cloned https://github.com/rwbutler/Connectivity.git
Revision (git rev-parse @):
30956aa751170afee0feb340714829dff159b265
SUCCESS checkout https://github.com/rwbutler/Connectivity.git at 8.0.1
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/rwbutler/Connectivity.git
https://github.com/rwbutler/Connectivity.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Connectivity",
  "name" : "Connectivity",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "macos",
      "version" : "10.13"
    }
  ],
  "products" : [
    {
      "name" : "Connectivity",
      "targets" : [
        "Connectivity"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Reachability",
      "module_type" : "ClangTarget",
      "name" : "Reachability",
      "path" : "Connectivity/Classes/Reachability",
      "product_memberships" : [
        "Connectivity"
      ],
      "sources" : [
        "Reachability.m"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Connectivity",
      "module_type" : "SwiftTarget",
      "name" : "Connectivity",
      "path" : "Connectivity/Classes",
      "product_memberships" : [
        "Connectivity"
      ],
      "sources" : [
        "Combine/ConnectivityPublisher.swift",
        "Combine/ConnectivitySubscription.swift",
        "Connectivity.swift",
        "Extensions/NotificationNameAdditions.swift",
        "Extensions/PublishersAdditions.swift",
        "Model/ConnectivityConfiguration.swift",
        "Model/ConnectivityFramework.swift",
        "Model/ConnectivityInterface.swift",
        "Model/ConnectivityPercentage.swift",
        "Model/ConnectivityStatus.swift",
        "Response Validation/ConnectivityResponseValidationMode.swift",
        "Response Validation/ConnectivityResponseValidator.swift",
        "Response Validation/Factory/Factory.swift",
        "Response Validation/Factory/ResponseValidatorFactory.swift",
        "Response Validation/Validators/ConnectivityResponseContainsStringValidator.swift",
        "Response Validation/Validators/ConnectivityResponseRegExValidator.swift",
        "Response Validation/Validators/ConnectivityResponseStringEqualityValidator.swift",
        "Response Validation/Validators/ConnectivityResponseStringValidator.swift"
      ],
      "target_dependencies" : [
        "Reachability"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.10"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/3] Write sources
[1/3] Write swift-version-2F0A5646E1D333AE.txt
[2/3] Compiling Reachability Reachability.m
[4/21] Compiling Connectivity ConnectivityResponseStringEqualityValidator.swift
[5/22] Compiling Connectivity Factory.swift
[6/22] Compiling Connectivity ResponseValidatorFactory.swift
[7/22] Compiling Connectivity ConnectivityResponseValidationMode.swift
[8/22] Compiling Connectivity ConnectivityResponseValidator.swift
[9/22] Compiling Connectivity Connectivity.swift
/Users/admin/builder/spi-builder-workspace/Connectivity/Classes/Connectivity.swift:109:23: warning: static property 'isHTTPSOnly' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
107 |
108 |     /// Whether or not only HTTPS URLs should be used to check connectivity
109 |     public static var isHTTPSOnly: Bool = true {
    |                       |- warning: static property 'isHTTPSOnly' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'isHTTPSOnly' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'isHTTPSOnly' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
110 |         didSet {
111 |             // Only set true if `allow arbitrary loads` is set
/Users/admin/builder/spi-builder-workspace/Connectivity/Classes/Connectivity.swift:174:23: warning: static property 'urlSessionConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
172 |
173 |     /// URL session configuration ignoring cache
174 |     public static var urlSessionConfiguration: URLSessionConfiguration = defaultURLSessionConfiguration()
    |                       |- warning: static property 'urlSessionConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'urlSessionConfiguration' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'urlSessionConfiguration' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
175 |
176 |     /// URL session used to check connectivity
/Users/admin/builder/spi-builder-workspace/Connectivity/Classes/Connectivity.swift:246:13: warning: capture of 'self' with non-sendable type 'Connectivity?' in a '@Sendable' closure
 17 |
 18 | @objcMembers
 19 | public class Connectivity: NSObject {
    |              `- note: class 'Connectivity' does not conform to the 'Sendable' protocol
 20 |     public typealias Framework = ConnectivityFramework
 21 |     public typealias Interface = ConnectivityInterface
    :
244 |         : DispatchTime.now()
245 |         internalQueue.asyncAfter(deadline: deadline) { [weak self] in
246 |             self?.checkConnectivityOnInternalQueue(completion: completion)
    |             `- warning: capture of 'self' with non-sendable type 'Connectivity?' in a '@Sendable' closure
247 |         }
248 |     }
/Users/admin/builder/spi-builder-workspace/Connectivity/Classes/Connectivity.swift:246:64: warning: capture of 'completion' with non-sendable type '((Connectivity) -> Void)?' in a '@Sendable' closure
244 |         : DispatchTime.now()
245 |         internalQueue.asyncAfter(deadline: deadline) { [weak self] in
246 |             self?.checkConnectivityOnInternalQueue(completion: completion)
    |                                                                |- warning: capture of 'completion' with non-sendable type '((Connectivity) -> Void)?' in a '@Sendable' closure
    |                                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
247 |         }
248 |     }
/Users/admin/builder/spi-builder-workspace/Connectivity/Classes/Connectivity.swift:271:13: warning: capture of 'self' with non-sendable type 'Connectivity?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 17 |
 18 | @objcMembers
 19 | public class Connectivity: NSObject {
    |              `- note: class 'Connectivity' does not conform to the 'Sendable' protocol
 20 |     public typealias Framework = ConnectivityFramework
 21 |     public typealias Interface = ConnectivityInterface
    :
269 |         pathMonitor = monitor
270 |         monitor.pathUpdateHandler = { [weak self] _ in
271 |             self?.checkConnectivity()
    |             `- warning: capture of 'self' with non-sendable type 'Connectivity?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
272 |         }
273 |         monitor.start(queue: internalQueue)
/Users/admin/builder/spi-builder-workspace/Connectivity/Classes/Connectivity.swift:396:77: warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
394 |         tasks = connectivityURLRequests.map { request in
395 |             let urlRequest = authorizedURLRequest(with: request) ?? request
396 |             return urlSession.dataTask(with: urlRequest, completionHandler: completionHandlerForURLRequest(request))
    |                                                                             `- warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
397 |         }
398 |
[10/22] Compiling Connectivity NotificationNameAdditions.swift
/Users/admin/builder/spi-builder-workspace/Connectivity/Classes/Connectivity.swift:109:23: warning: static property 'isHTTPSOnly' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
107 |
108 |     /// Whether or not only HTTPS URLs should be used to check connectivity
109 |     public static var isHTTPSOnly: Bool = true {
    |                       |- warning: static property 'isHTTPSOnly' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'isHTTPSOnly' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'isHTTPSOnly' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
110 |         didSet {
111 |             // Only set true if `allow arbitrary loads` is set
/Users/admin/builder/spi-builder-workspace/Connectivity/Classes/Connectivity.swift:174:23: warning: static property 'urlSessionConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
172 |
173 |     /// URL session configuration ignoring cache
174 |     public static var urlSessionConfiguration: URLSessionConfiguration = defaultURLSessionConfiguration()
    |                       |- warning: static property 'urlSessionConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'urlSessionConfiguration' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'urlSessionConfiguration' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
175 |
176 |     /// URL session used to check connectivity
/Users/admin/builder/spi-builder-workspace/Connectivity/Classes/Connectivity.swift:246:13: warning: capture of 'self' with non-sendable type 'Connectivity?' in a '@Sendable' closure
 17 |
 18 | @objcMembers
 19 | public class Connectivity: NSObject {
    |              `- note: class 'Connectivity' does not conform to the 'Sendable' protocol
 20 |     public typealias Framework = ConnectivityFramework
 21 |     public typealias Interface = ConnectivityInterface
    :
244 |         : DispatchTime.now()
245 |         internalQueue.asyncAfter(deadline: deadline) { [weak self] in
246 |             self?.checkConnectivityOnInternalQueue(completion: completion)
    |             `- warning: capture of 'self' with non-sendable type 'Connectivity?' in a '@Sendable' closure
247 |         }
248 |     }
/Users/admin/builder/spi-builder-workspace/Connectivity/Classes/Connectivity.swift:246:64: warning: capture of 'completion' with non-sendable type '((Connectivity) -> Void)?' in a '@Sendable' closure
244 |         : DispatchTime.now()
245 |         internalQueue.asyncAfter(deadline: deadline) { [weak self] in
246 |             self?.checkConnectivityOnInternalQueue(completion: completion)
    |                                                                |- warning: capture of 'completion' with non-sendable type '((Connectivity) -> Void)?' in a '@Sendable' closure
    |                                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
247 |         }
248 |     }
/Users/admin/builder/spi-builder-workspace/Connectivity/Classes/Connectivity.swift:271:13: warning: capture of 'self' with non-sendable type 'Connectivity?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 17 |
 18 | @objcMembers
 19 | public class Connectivity: NSObject {
    |              `- note: class 'Connectivity' does not conform to the 'Sendable' protocol
 20 |     public typealias Framework = ConnectivityFramework
 21 |     public typealias Interface = ConnectivityInterface
    :
269 |         pathMonitor = monitor
270 |         monitor.pathUpdateHandler = { [weak self] _ in
271 |             self?.checkConnectivity()
    |             `- warning: capture of 'self' with non-sendable type 'Connectivity?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
272 |         }
273 |         monitor.start(queue: internalQueue)
/Users/admin/builder/spi-builder-workspace/Connectivity/Classes/Connectivity.swift:396:77: warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
394 |         tasks = connectivityURLRequests.map { request in
395 |             let urlRequest = authorizedURLRequest(with: request) ?? request
396 |             return urlSession.dataTask(with: urlRequest, completionHandler: completionHandlerForURLRequest(request))
    |                                                                             `- warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
397 |         }
398 |
[11/22] Emitting module Connectivity
/Users/admin/builder/spi-builder-workspace/Connectivity/Classes/Connectivity.swift:109:23: warning: static property 'isHTTPSOnly' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
107 |
108 |     /// Whether or not only HTTPS URLs should be used to check connectivity
109 |     public static var isHTTPSOnly: Bool = true {
    |                       |- warning: static property 'isHTTPSOnly' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'isHTTPSOnly' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'isHTTPSOnly' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
110 |         didSet {
111 |             // Only set true if `allow arbitrary loads` is set
/Users/admin/builder/spi-builder-workspace/Connectivity/Classes/Connectivity.swift:174:23: warning: static property 'urlSessionConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
172 |
173 |     /// URL session configuration ignoring cache
174 |     public static var urlSessionConfiguration: URLSessionConfiguration = defaultURLSessionConfiguration()
    |                       |- warning: static property 'urlSessionConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'urlSessionConfiguration' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'urlSessionConfiguration' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
175 |
176 |     /// URL session used to check connectivity
[12/22] Compiling Connectivity PublishersAdditions.swift
[13/22] Compiling Connectivity ConnectivityConfiguration.swift
[14/22] Compiling Connectivity ConnectivityPublisher.swift
[15/22] Compiling Connectivity ConnectivitySubscription.swift
[16/22] Compiling Connectivity ConnectivityResponseContainsStringValidator.swift
[17/22] Compiling Connectivity ConnectivityResponseRegExValidator.swift
[18/22] Compiling Connectivity ConnectivityPercentage.swift
[19/22] Compiling Connectivity ConnectivityStatus.swift
[20/22] Compiling Connectivity ConnectivityFramework.swift
[21/22] Compiling Connectivity ConnectivityInterface.swift
[22/22] Compiling Connectivity ConnectivityResponseStringValidator.swift
Build complete! (7.20s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Connectivity",
  "name" : "Connectivity",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "macos",
      "version" : "10.13"
    }
  ],
  "products" : [
    {
      "name" : "Connectivity",
      "targets" : [
        "Connectivity"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Reachability",
      "module_type" : "ClangTarget",
      "name" : "Reachability",
      "path" : "Connectivity/Classes/Reachability",
      "product_memberships" : [
        "Connectivity"
      ],
      "sources" : [
        "Reachability.m"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Connectivity",
      "module_type" : "SwiftTarget",
      "name" : "Connectivity",
      "path" : "Connectivity/Classes",
      "product_memberships" : [
        "Connectivity"
      ],
      "sources" : [
        "Combine/ConnectivityPublisher.swift",
        "Combine/ConnectivitySubscription.swift",
        "Connectivity.swift",
        "Extensions/NotificationNameAdditions.swift",
        "Extensions/PublishersAdditions.swift",
        "Model/ConnectivityConfiguration.swift",
        "Model/ConnectivityFramework.swift",
        "Model/ConnectivityInterface.swift",
        "Model/ConnectivityPercentage.swift",
        "Model/ConnectivityStatus.swift",
        "Response Validation/ConnectivityResponseValidationMode.swift",
        "Response Validation/ConnectivityResponseValidator.swift",
        "Response Validation/Factory/Factory.swift",
        "Response Validation/Factory/ResponseValidatorFactory.swift",
        "Response Validation/Validators/ConnectivityResponseContainsStringValidator.swift",
        "Response Validation/Validators/ConnectivityResponseRegExValidator.swift",
        "Response Validation/Validators/ConnectivityResponseStringEqualityValidator.swift",
        "Response Validation/Validators/ConnectivityResponseStringValidator.swift"
      ],
      "target_dependencies" : [
        "Reachability"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.10"
}
Done.