This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 SwiftYFinance with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 6

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/alexdremov/SwiftYFinance.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/alexdremov/SwiftYFinance
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 72e7336 Merge pull request #6 from MoonAndEye/feat/upgrad_alamofire_dependence
Cloned https://github.com/alexdremov/SwiftYFinance.git
Revision (git rev-parse @):
72e7336d113dc90324fae6a9234bb372cf4979cf
SUCCESS checkout https://github.com/alexdremov/SwiftYFinance.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/alexdremov/SwiftYFinance.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/5] Write sources
[1/5] Copying PrivacyInfo.xcprivacy
[1/5] Write sources
[4/5] Write swift-version-6F35C1178C84523A.txt
[6/47] Emitting module Alamofire
[7/51] Emitting module SwiftyJSON
[8/51] Compiling SwiftyJSON SwiftyJSON.swift
[9/51] Compiling Alamofire SessionDelegate.swift
[10/51] Compiling Alamofire URLConvertible+URLRequestConvertible.swift
[11/51] Compiling Alamofire UploadRequest.swift
[12/51] Compiling Alamofire WebSocketRequest.swift
[13/51] Compiling Alamofire MultipartFormData.swift
[14/51] Compiling Alamofire MultipartUpload.swift
[15/51] Compiling Alamofire NetworkReachabilityManager.swift
[16/51] Compiling Alamofire RedirectHandler.swift
[17/51] Compiling Alamofire RequestCompression.swift
[18/51] Compiling Alamofire RequestInterceptor.swift
[19/51] Compiling Alamofire ResponseSerialization.swift
[20/51] Compiling Alamofire RetryPolicy.swift
[21/51] Compiling Alamofire DispatchQueue+Alamofire.swift
[22/51] Compiling Alamofire OperationQueue+Alamofire.swift
[23/51] Compiling Alamofire Result+Alamofire.swift
[24/51] Compiling Alamofire StringEncoding+Alamofire.swift
[25/51] Compiling Alamofire ServerTrustEvaluation.swift
[26/51] Compiling Alamofire URLEncodedFormEncoder.swift
[27/51] Compiling Alamofire Validation.swift
[28/51] Compiling Alamofire resource_bundle_accessor.swift
[29/51] Compiling Alamofire Alamofire.swift
[30/51] Compiling Alamofire AFError.swift
[31/51] Compiling Alamofire DataRequest.swift
[32/51] Compiling Alamofire DataStreamRequest.swift
[33/51] Compiling Alamofire DownloadRequest.swift
[34/51] Compiling Alamofire HTTPHeaders.swift
[35/51] Compiling Alamofire HTTPMethod.swift
[36/51] Compiling Alamofire Notifications.swift
[37/51] Compiling Alamofire ParameterEncoder.swift
[38/51] Compiling Alamofire ParameterEncoding.swift
[39/51] Compiling Alamofire CachedResponseHandler.swift
[40/51] Compiling Alamofire Combine.swift
[41/51] Compiling Alamofire Concurrency.swift
[42/51] Compiling Alamofire EventMonitor.swift
[43/51] Compiling Alamofire Protected.swift
[44/51] Compiling Alamofire Request.swift
[45/51] Compiling Alamofire RequestTaskMap.swift
[46/51] Compiling Alamofire Response.swift
[47/51] Compiling Alamofire Session.swift
[48/51] Compiling Alamofire URLRequest+Alamofire.swift
[49/51] Compiling Alamofire URLSessionConfiguration+Alamofire.swift
[50/51] Compiling Alamofire AlamofireExtended.swift
[51/51] Compiling Alamofire AuthenticationInterceptor.swift
[52/70] Compiling SwiftYFinance YFinanceResponseError.swift
[53/70] Compiling SwiftYFinance StringSearch.swift
[54/71] Compiling SwiftYFinance RequestError.swift
[55/71] Compiling SwiftYFinance URLGenerationError.swift
[56/71] Compiling SwiftYFinance RecommendationTrend.swift
[57/71] Compiling SwiftYFinance StockChartData.swift
[58/71] Compiling SwiftYFinance YFNewsSearchResult.swift
[59/71] Compiling SwiftYFinance YFQuoteSearchResult.swift
[60/71] Compiling SwiftYFinance QuoteType.swift
[61/71] Compiling SwiftYFinance RecentStockData.swift
[62/71] Compiling SwiftYFinance SummaryDetail.swift
[63/71] Compiling SwiftYFinance SummaryProfile.swift
[64/71] Compiling SwiftYFinance Price.swift
[65/71] Compiling SwiftYFinance QuoteSummarySelection.swift
[66/71] Compiling SwiftYFinance IdentifierSummary.swift
[67/71] Compiling SwiftYFinance IndexTrend.swift
[68/71] Emitting module SwiftYFinance
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:20:16: warning: static property 'crumb' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |      The framework fetches it during the first use.
 19 |      */
 20 |     static var crumb: String = ""
    |                |- warning: static property 'crumb' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'crumb' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'crumb' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |     static var cookies: String = ""
 22 |
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:21:16: warning: static property 'cookies' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 19 |      */
 20 |     static var crumb: String = ""
 21 |     static var cookies: String = ""
    |                |- warning: static property 'cookies' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'cookies' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'cookies' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 22 |
 23 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:27:16: warning: static property 'cacheCounter' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 25 |      By changing url with this parameter, the app expects uncached response.
 26 |      */
 27 |     static var cacheCounter: Int = 0
    |                |- warning: static property 'cacheCounter' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'cacheCounter' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'cacheCounter' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 28 |
 29 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:32:16: warning: static property 'headers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |      The headers to use in all requests
 31 |      */
 32 |     static var headers: HTTPHeaders = [
    |                |- warning: static property 'headers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'headers' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'headers' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |         "Accept": "*/*",
 34 |         "Pragma": "no-cache",
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:46:16: warning: static property 'session' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 44 |      - Note: it is crucial as without httpShouldSetCookies parameter, sometemes, Yahoo sends invalid cookies that are saved. Then, all consequent requests corrupt.
 45 |      */
 46 |     static var session: Session = {
    |                |- warning: static property 'session' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'session' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'session' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 47 |         let configuration = Session.default.sessionConfiguration
 48 |         //        configuration.waitsForConnectivity = false
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Alamofire/Source/Core/Session.swift:32:23: warning: class property 'default' is not concurrency-safe because non-'Sendable' type 'Session' may have shared mutable state; this is an error in the Swift 6 language mode
  28 | /// functionality for all `Request`s, including queuing, interception, trust management, redirect handling, and response
  29 | /// cache handling.
  30 | open class Session {
     |            `- note: class 'Session' does not conform to the 'Sendable' protocol
  31 |     /// Shared singleton instance used by all `AF.request` APIs. Cannot be modified.
  32 |     public static let `default` = Session()
     |                       |- warning: class property 'default' is not concurrency-safe because non-'Sendable' type 'Session' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  33 |
  34 |     /// Underlying `URLSession` used to create `URLSessionTasks` for this instance, and for which this instance's
[69/71] Compiling SwiftYFinance CalendarEvents.swift
[70/71] Compiling SwiftYFinance ChartTimeInterval.swift
[71/71] Compiling SwiftYFinance SwiftYFinance.swift
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:20:16: warning: static property 'crumb' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |      The framework fetches it during the first use.
 19 |      */
 20 |     static var crumb: String = ""
    |                |- warning: static property 'crumb' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'crumb' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'crumb' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |     static var cookies: String = ""
 22 |
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:21:16: warning: static property 'cookies' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 19 |      */
 20 |     static var crumb: String = ""
 21 |     static var cookies: String = ""
    |                |- warning: static property 'cookies' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'cookies' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'cookies' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 22 |
 23 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:27:16: warning: static property 'cacheCounter' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 25 |      By changing url with this parameter, the app expects uncached response.
 26 |      */
 27 |     static var cacheCounter: Int = 0
    |                |- warning: static property 'cacheCounter' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'cacheCounter' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'cacheCounter' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 28 |
 29 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:32:16: warning: static property 'headers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |      The headers to use in all requests
 31 |      */
 32 |     static var headers: HTTPHeaders = [
    |                |- warning: static property 'headers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'headers' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'headers' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |         "Accept": "*/*",
 34 |         "Pragma": "no-cache",
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:46:16: warning: static property 'session' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 44 |      - Note: it is crucial as without httpShouldSetCookies parameter, sometemes, Yahoo sends invalid cookies that are saved. Then, all consequent requests corrupt.
 45 |      */
 46 |     static var session: Session = {
    |                |- warning: static property 'session' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'session' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'session' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 47 |         let configuration = Session.default.sessionConfiguration
 48 |         //        configuration.waitsForConnectivity = false
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Alamofire/Source/Core/Session.swift:32:23: warning: class property 'default' is not concurrency-safe because non-'Sendable' type 'Session' may have shared mutable state; this is an error in the Swift 6 language mode
  28 | /// functionality for all `Request`s, including queuing, interception, trust management, redirect handling, and response
  29 | /// cache handling.
  30 | open class Session {
     |            `- note: class 'Session' does not conform to the 'Sendable' protocol
  31 |     /// Shared singleton instance used by all `AF.request` APIs. Cannot be modified.
  32 |     public static let `default` = Session()
     |                       |- warning: class property 'default' is not concurrency-safe because non-'Sendable' type 'Session' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  33 |
  34 |     /// Underlying `URLSession` used to create `URLSessionTasks` for this instance, and for which this instance's
Build complete! (34.27s)
Fetching https://github.com/Alamofire/Alamofire.git
Fetching https://github.com/SwiftyJSON/SwiftyJSON.git
[1/6086] Fetching swiftyjson
[488/34866] Fetching swiftyjson, alamofire
Fetched https://github.com/Alamofire/Alamofire.git from cache (4.88s)
Fetched https://github.com/SwiftyJSON/SwiftyJSON.git from cache (4.88s)
Computing version for https://github.com/SwiftyJSON/SwiftyJSON.git
Computed https://github.com/SwiftyJSON/SwiftyJSON.git at 4.3.0 (0.67s)
Computing version for https://github.com/Alamofire/Alamofire.git
Computed https://github.com/Alamofire/Alamofire.git at 5.9.1 (0.52s)
Creating working copy for https://github.com/Alamofire/Alamofire.git
Working copy of https://github.com/Alamofire/Alamofire.git resolved at 5.9.1
Creating working copy for https://github.com/SwiftyJSON/SwiftyJSON.git
Working copy of https://github.com/SwiftyJSON/SwiftyJSON.git resolved at 4.3.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swiftyjson",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/SwiftyJSON/SwiftyJSON.git"
    },
    {
      "identity" : "alamofire",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.2.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Alamofire/Alamofire.git"
    }
  ],
  "manifest_display_name" : "SwiftYFinance",
  "name" : "SwiftYFinance",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.12"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "2.0"
    },
    {
      "name" : "tvos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftYFinance",
      "targets" : [
        "SwiftYFinance"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftYFinanceTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftYFinanceTests",
      "path" : "Tests/SwiftYFinanceTests",
      "product_dependencies" : [
        "SwiftyJSON",
        "Alamofire"
      ],
      "sources" : [
        "StockInfoTests.swift"
      ],
      "target_dependencies" : [
        "SwiftYFinance"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftYFinance",
      "module_type" : "SwiftTarget",
      "name" : "SwiftYFinance",
      "path" : "Sources",
      "product_dependencies" : [
        "SwiftyJSON",
        "Alamofire"
      ],
      "product_memberships" : [
        "SwiftYFinance"
      ],
      "sources" : [
        "DataTypes/CalendarEvents.swift",
        "DataTypes/ChartTimeInterval.swift",
        "DataTypes/IdentifierSummary.swift",
        "DataTypes/IndexTrend.swift",
        "DataTypes/Price.swift",
        "DataTypes/QuoteSummarySelection.swift",
        "DataTypes/QuoteType.swift",
        "DataTypes/RecentStockData.swift",
        "DataTypes/RecommendationTrend.swift",
        "DataTypes/StockChartData.swift",
        "DataTypes/SummaryDetail.swift",
        "DataTypes/SummaryProfile.swift",
        "DataTypes/YFNewsSearchResult.swift",
        "DataTypes/YFQuoteSearchResult.swift",
        "Exceptions/RequestError.swift",
        "Exceptions/URLGenerationError.swift",
        "Exceptions/YFinanceResponseError.swift",
        "Processing/StringSearch.swift",
        "Processing/SwiftYFinance.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.