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 LastFMKit, reference 1.0.0 (a78b06), with Swift 6.1 for macOS (SPM) on 13 Jul 2025 11:34:37 UTC.

Swift 6 data race errors: 5

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.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/guitaripod/LastFMKit.git
Reference: 1.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/guitaripod/LastFMKit
 * tag               1.0.0      -> FETCH_HEAD
HEAD is now at a78b061 Enhance DocC documentation for core components
Cloned https://github.com/guitaripod/LastFMKit.git
Revision (git rev-parse @):
a78b061a20c04db0f17307c956f4a749ce7717ce
SUCCESS checkout https://github.com/guitaripod/LastFMKit.git at 1.0.0
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/apple/swift-log from cache
Fetching https://github.com/apple/swift-argument-parser from cache
[1/2094] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-argument-parser from cache (1.04s)
Fetched https://github.com/apple/swift-docc-plugin from cache (1.20s)
Fetched https://github.com/apple/swift-log from cache (1.22s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.5 (4.32s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.79s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.43s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (0.48s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.3 (0.44s)
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.6.3
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.6.1
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.4.5
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "lastfmkit",
      "name": "LastFMKit",
      "url": "https://github.com/guitaripod/LastFMKit.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/LastFMKit",
      "dependencies": [
        {
          "identity": "swift-argument-parser",
          "name": "swift-argument-parser",
          "url": "https://github.com/apple/swift-argument-parser",
          "version": "1.6.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-argument-parser",
          "dependencies": [
          ]
        },
        {
          "identity": "swift-log",
          "name": "swift-log",
          "url": "https://github.com/apple/swift-log",
          "version": "1.6.3",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-log",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/guitaripod/LastFMKit.git
[1/205] Fetching lastfmkit
Fetched https://github.com/guitaripod/LastFMKit.git from cache (0.73s)
Fetching https://github.com/apple/swift-argument-parser from cache
Fetching https://github.com/apple/swift-log from cache
Fetched https://github.com/apple/swift-argument-parser from cache (0.56s)
Fetched https://github.com/apple/swift-log from cache (0.57s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (0.64s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.3 (0.03s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.6.1
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.6.3
Creating working copy for https://github.com/guitaripod/LastFMKit.git
Working copy of https://github.com/guitaripod/LastFMKit.git resolved at 1.0.0 (a78b061)
Found 2 product dependencies
  - swift-argument-parser
  - swift-log
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/guitaripod/LastFMKit.git
https://github.com/guitaripod/LastFMKit.git
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "LastFMKit",
  "name" : "LastFMKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "LastFMKit",
      "targets" : [
        "LastFMKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "lastfm-cli",
      "targets" : [
        "LastFMCLI"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "LastFMKitTests",
      "module_type" : "SwiftTarget",
      "name" : "LastFMKitTests",
      "path" : "Tests/LastFMKitTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/LastFMKitTests/Resources/README.md",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "BasicTests.swift"
      ],
      "target_dependencies" : [
        "LastFMKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "LastFMKit",
      "module_type" : "SwiftTarget",
      "name" : "LastFMKit",
      "path" : "Sources/LastFMKit",
      "product_dependencies" : [
        "Logging"
      ],
      "product_memberships" : [
        "LastFMKit",
        "lastfm-cli"
      ],
      "sources" : [
        "API/AlbumAPI.swift",
        "API/ArtistAPI.swift",
        "API/AuthAPI.swift",
        "API/BaseAPI.swift",
        "API/ChartAPI.swift",
        "API/GeoAPI.swift",
        "API/LibraryAPI.swift",
        "API/TagAPI.swift",
        "API/TrackAPI.swift",
        "API/UserAPI.swift",
        "Core/Endpoint.swift",
        "Core/LastFMClient.swift",
        "Core/LastFMError.swift",
        "Core/NetworkClient.swift",
        "Models/Album.swift",
        "Models/Artist.swift",
        "Models/Auth.swift",
        "Models/Chart.swift",
        "Models/Common.swift",
        "Models/Geo.swift",
        "Models/Library.swift",
        "Models/Tag.swift",
        "Models/Track.swift",
        "Models/User.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "LastFMCLI",
      "module_type" : "SwiftTarget",
      "name" : "LastFMCLI",
      "path" : "Sources/LastFMCLI",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "lastfm-cli"
      ],
      "sources" : [
        "AlbumCommands.swift",
        "AuthCommands.swift",
        "ChartCommands.swift",
        "ConfigCommands.swift",
        "ConfigManager.swift",
        "GeoCommands.swift",
        "LastFMCLI.swift",
        "LibraryCommands.swift",
        "MyCommands.swift",
        "TagCommands.swift",
        "TrackCommands.swift",
        "UserCommands.swift"
      ],
      "target_dependencies" : [
        "LastFMKit"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.9"
}
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
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
[3/3] Compiling plugin GenerateManual
[4/4] Compiling plugin GenerateDoccReference
Building for debugging...
[4/14] Write sources
[7/14] Write lastfm-cli-entitlement.plist
[8/14] Write sources
[10/14] Write swift-version-2F0A5646E1D333AE.txt
[12/21] Emitting module ArgumentParserToolInfo
[13/21] Compiling ArgumentParserToolInfo ToolInfo.swift
[14/67] Emitting module Logging
[15/67] Compiling Logging MetadataProvider.swift
[16/67] Compiling Logging Locks.swift
[17/67] Compiling Logging LogHandler.swift
[18/67] Compiling Logging Logging.swift
[19/90] Emitting module ArgumentParser
[20/94] Compiling LastFMKit AlbumAPI.swift
[21/94] Compiling LastFMKit ArtistAPI.swift
[22/94] Compiling LastFMKit AuthAPI.swift
[23/94] Compiling LastFMKit Auth.swift
[24/94] Compiling LastFMKit Chart.swift
[25/94] Compiling ArgumentParser NonsenseFlagsValidator.swift
[26/94] Compiling ArgumentParser ParsableArgumentsValidation.swift
[27/94] Compiling ArgumentParser PositionalArgumentsValidator.swift
[28/94] Compiling ArgumentParser UniqueNamesValidator.swift
[29/94] Compiling LastFMKit BaseAPI.swift
[30/94] Compiling LastFMKit ChartAPI.swift
[31/94] Compiling LastFMKit GeoAPI.swift
[32/94] Compiling LastFMKit LibraryAPI.swift
[33/94] Compiling LastFMKit TagAPI.swift
[34/94] Compiling LastFMKit Album.swift
[35/94] Compiling LastFMKit Artist.swift
[36/94] Compiling ArgumentParser Name.swift
[37/94] Compiling ArgumentParser Parsed.swift
[38/94] Compiling ArgumentParser ParsedValues.swift
[39/94] Compiling LastFMKit Geo.swift
[40/94] Compiling LastFMKit LastFMError.swift
[41/94] Compiling LastFMKit NetworkClient.swift
[42/94] Compiling LastFMKit Library.swift
[43/94] Compiling LastFMKit Tag.swift
[44/94] Compiling LastFMKit TrackAPI.swift
[45/94] Compiling LastFMKit UserAPI.swift
[46/94] Compiling LastFMKit Endpoint.swift
[47/94] Compiling LastFMKit LastFMClient.swift
[48/94] Compiling LastFMKit Common.swift
[49/94] Compiling ArgumentParser Flag.swift
[50/94] Compiling ArgumentParser NameSpecification.swift
[51/94] Compiling ArgumentParser Option.swift
[52/94] Compiling ArgumentParser OptionGroup.swift
[53/94] Compiling ArgumentParser AsyncParsableCommand.swift
[54/94] Compiling ArgumentParser ParsableCommand.swift
[55/94] Compiling ArgumentParser ArgumentDecoder.swift
[56/94] Compiling ArgumentParser ArgumentDefinition.swift
[57/94] Compiling ArgumentParser ArgumentSet.swift
[58/94] Compiling ArgumentParser CommandParser.swift
[59/94] Compiling ArgumentParser CommandConfiguration.swift
[60/94] Compiling ArgumentParser CommandGroup.swift
[61/94] Compiling ArgumentParser EnumerableFlag.swift
[62/94] Compiling ArgumentParser ExpressibleByArgument.swift
[63/94] Compiling ArgumentParser ParsableArguments.swift
[64/94] Compiling ArgumentParser MessageInfo.swift
[65/94] Compiling ArgumentParser UsageGenerator.swift
[66/94] Compiling ArgumentParser CollectionExtensions.swift
[67/94] Compiling ArgumentParser Mutex.swift
[68/94] Compiling ArgumentParser Platform.swift
[72/96] Emitting module LastFMKit
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/LastFMClient.swift:240:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
203 | /// let client = LastFMClient(configuration: configuration)
204 | /// ```
205 | public struct ClientConfiguration {
    |               `- note: consider making struct 'ClientConfiguration' conform to the 'Sendable' protocol
206 |     /// The base URL for API requests.
207 |     /// Default: `https://lastfm-proxy-worker.guitaripod.workers.dev`
    :
238 |     /// - Timeout: 30 seconds
239 |     /// - Retry Policy: Exponential backoff with 3 retries
240 |     public static let `default` = ClientConfiguration()
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
241 | }
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:31:17: warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'request'; this is an error in the Swift 6 language mode
 29 |     }
 30 |
 31 |     public func request<T: Decodable>(_ endpoint: Endpoint) async throws -> T {
    |                 |       `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
    |                 `- warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'request'; this is an error in the Swift 6 language mode
 32 |         let data = try await request(endpoint)
 33 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:31:17: warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
 29 |     }
 30 |
 31 |     public func request<T: Decodable>(_ endpoint: Endpoint) async throws -> T {
    |                 `- warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
 32 |         let data = try await request(endpoint)
 33 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/Endpoint.swift:3:15: note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct Endpoint {
   |               `- note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
 4 |     public let path: String
 5 |     public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:46:17: warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
 44 |     }
 45 |
 46 |     public func request(_ endpoint: Endpoint) async throws -> Data {
    |                 `- warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
 47 |         guard let url = endpoint.url else {
 48 |             throw LastFMError.invalidURL
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/Endpoint.swift:3:15: note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct Endpoint {
   |               `- note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
 4 |     public let path: String
 5 |     public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:171:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'NetworkConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
160 | }
161 |
162 | public struct NetworkConfiguration {
    |               `- note: consider making struct 'NetworkConfiguration' conform to the 'Sendable' protocol
163 |     public let timeout: TimeInterval
164 |     public let retryPolicy: RetryPolicy
    :
169 |     }
170 |
171 |     public static let `default` = NetworkConfiguration()
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'NetworkConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
172 | }
173 |
[76/96] Compiling LastFMKit Track.swift
[77/96] Compiling LastFMKit User.swift
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:31:17: warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'request'; this is an error in the Swift 6 language mode
 29 |     }
 30 |
 31 |     public func request<T: Decodable>(_ endpoint: Endpoint) async throws -> T {
    |                 |       `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
    |                 `- warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'request'; this is an error in the Swift 6 language mode
 32 |         let data = try await request(endpoint)
 33 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:31:17: warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
 29 |     }
 30 |
 31 |     public func request<T: Decodable>(_ endpoint: Endpoint) async throws -> T {
    |                 `- warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
 32 |         let data = try await request(endpoint)
 33 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/Endpoint.swift:3:15: note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct Endpoint {
   |               `- note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
 4 |     public let path: String
 5 |     public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:46:17: warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
 44 |     }
 45 |
 46 |     public func request(_ endpoint: Endpoint) async throws -> Data {
    |                 `- warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
 47 |         guard let url = endpoint.url else {
 48 |             throw LastFMError.invalidURL
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/Endpoint.swift:3:15: note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct Endpoint {
   |               `- note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
 4 |     public let path: String
 5 |     public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:171:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'NetworkConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
160 | }
161 |
162 | public struct NetworkConfiguration {
    |               `- note: consider making struct 'NetworkConfiguration' conform to the 'Sendable' protocol
163 |     public let timeout: TimeInterval
164 |     public let retryPolicy: RetryPolicy
    :
169 |     }
170 |
171 |     public static let `default` = NetworkConfiguration()
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'NetworkConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
172 | }
173 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:31:17: warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'request'; this is an error in the Swift 6 language mode
 29 |     }
 30 |
 31 |     public func request<T: Decodable>(_ endpoint: Endpoint) async throws -> T {
    |                 |       `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
    |                 `- warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'request'; this is an error in the Swift 6 language mode
 32 |         let data = try await request(endpoint)
 33 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:31:17: warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
 29 |     }
 30 |
 31 |     public func request<T: Decodable>(_ endpoint: Endpoint) async throws -> T {
    |                 `- warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
 32 |         let data = try await request(endpoint)
 33 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/Endpoint.swift:3:15: note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct Endpoint {
   |               `- note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
 4 |     public let path: String
 5 |     public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:46:17: warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
 44 |     }
 45 |
 46 |     public func request(_ endpoint: Endpoint) async throws -> Data {
    |                 `- warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
 47 |         guard let url = endpoint.url else {
 48 |             throw LastFMError.invalidURL
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/Endpoint.swift:3:15: note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct Endpoint {
   |               `- note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
 4 |     public let path: String
 5 |     public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:171:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'NetworkConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
160 | }
161 |
162 | public struct NetworkConfiguration {
    |               `- note: consider making struct 'NetworkConfiguration' conform to the 'Sendable' protocol
163 |     public let timeout: TimeInterval
164 |     public let retryPolicy: RetryPolicy
    :
169 |     }
170 |
171 |     public static let `default` = NetworkConfiguration()
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'NetworkConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
172 | }
173 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/LastFMClient.swift:240:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
203 | /// let client = LastFMClient(configuration: configuration)
204 | /// ```
205 | public struct ClientConfiguration {
    |               `- note: consider making struct 'ClientConfiguration' conform to the 'Sendable' protocol
206 |     /// The base URL for API requests.
207 |     /// Default: `https://lastfm-proxy-worker.guitaripod.workers.dev`
    :
238 |     /// - Timeout: 30 seconds
239 |     /// - Retry Policy: Exponential backoff with 3 retries
240 |     public static let `default` = ClientConfiguration()
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
241 | }
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/LastFMClient.swift:156:29: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 |         let configuration = NetworkConfiguration(timeout: timeout, retryPolicy: retryPolicy)
156 |         let networkClient = NetworkClient(configuration: configuration)
    |                             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending task-isolated 'configuration' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
157 |         self.networkClient = networkClient
158 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/LastFMClient.swift:240:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
203 | /// let client = LastFMClient(configuration: configuration)
204 | /// ```
205 | public struct ClientConfiguration {
    |               `- note: consider making struct 'ClientConfiguration' conform to the 'Sendable' protocol
206 |     /// The base URL for API requests.
207 |     /// Default: `https://lastfm-proxy-worker.guitaripod.workers.dev`
    :
238 |     /// - Timeout: 30 seconds
239 |     /// - Retry Policy: Exponential backoff with 3 retries
240 |     public static let `default` = ClientConfiguration()
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
241 | }
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/LastFMClient.swift:156:29: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 |         let configuration = NetworkConfiguration(timeout: timeout, retryPolicy: retryPolicy)
156 |         let networkClient = NetworkClient(configuration: configuration)
    |                             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending task-isolated 'configuration' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
157 |         self.networkClient = networkClient
158 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/LastFMClient.swift:240:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
203 | /// let client = LastFMClient(configuration: configuration)
204 | /// ```
205 | public struct ClientConfiguration {
    |               `- note: consider making struct 'ClientConfiguration' conform to the 'Sendable' protocol
206 |     /// The base URL for API requests.
207 |     /// Default: `https://lastfm-proxy-worker.guitaripod.workers.dev`
    :
238 |     /// - Timeout: 30 seconds
239 |     /// - Retry Policy: Exponential backoff with 3 retries
240 |     public static let `default` = ClientConfiguration()
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
241 | }
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/LastFMClient.swift:156:29: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 |         let configuration = NetworkConfiguration(timeout: timeout, retryPolicy: retryPolicy)
156 |         let networkClient = NetworkClient(configuration: configuration)
    |                             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending task-isolated 'configuration' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
157 |         self.networkClient = networkClient
158 |
[94/108] Compiling LastFMCLI LibraryCommands.swift
[95/108] Compiling LastFMCLI TrackCommands.swift
[96/108] Compiling LastFMCLI TagCommands.swift
[97/109] Compiling LastFMCLI LastFMCLI.swift
[98/109] Compiling LastFMCLI GeoCommands.swift
[99/109] Compiling LastFMCLI ConfigManager.swift
[100/109] Compiling LastFMCLI ChartCommands.swift
[101/109] Compiling LastFMCLI ConfigCommands.swift
[102/109] Compiling LastFMCLI MyCommands.swift
[103/109] Compiling LastFMCLI UserCommands.swift
[104/109] Compiling LastFMCLI AlbumCommands.swift
[105/109] Compiling LastFMCLI AuthCommands.swift
[106/109] Emitting module LastFMCLI
[106/109] Write Objects.LinkFileList
[107/109] Linking lastfm-cli
[108/109] Applying lastfm-cli
Build complete! (28.35s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "LastFMKit",
  "name" : "LastFMKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "LastFMKit",
      "targets" : [
        "LastFMKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "lastfm-cli",
      "targets" : [
        "LastFMCLI"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "LastFMKitTests",
      "module_type" : "SwiftTarget",
      "name" : "LastFMKitTests",
      "path" : "Tests/LastFMKitTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/LastFMKitTests/Resources/README.md",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "BasicTests.swift"
      ],
      "target_dependencies" : [
        "LastFMKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "LastFMKit",
      "module_type" : "SwiftTarget",
      "name" : "LastFMKit",
      "path" : "Sources/LastFMKit",
      "product_dependencies" : [
        "Logging"
      ],
      "product_memberships" : [
        "LastFMKit",
        "lastfm-cli"
      ],
      "sources" : [
        "API/AlbumAPI.swift",
        "API/ArtistAPI.swift",
        "API/AuthAPI.swift",
        "API/BaseAPI.swift",
        "API/ChartAPI.swift",
        "API/GeoAPI.swift",
        "API/LibraryAPI.swift",
        "API/TagAPI.swift",
        "API/TrackAPI.swift",
        "API/UserAPI.swift",
        "Core/Endpoint.swift",
        "Core/LastFMClient.swift",
        "Core/LastFMError.swift",
        "Core/NetworkClient.swift",
        "Models/Album.swift",
        "Models/Artist.swift",
        "Models/Auth.swift",
        "Models/Chart.swift",
        "Models/Common.swift",
        "Models/Geo.swift",
        "Models/Library.swift",
        "Models/Tag.swift",
        "Models/Track.swift",
        "Models/User.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "LastFMCLI",
      "module_type" : "SwiftTarget",
      "name" : "LastFMCLI",
      "path" : "Sources/LastFMCLI",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "lastfm-cli"
      ],
      "sources" : [
        "AlbumCommands.swift",
        "AuthCommands.swift",
        "ChartCommands.swift",
        "ConfigCommands.swift",
        "ConfigManager.swift",
        "GeoCommands.swift",
        "LastFMCLI.swift",
        "LibraryCommands.swift",
        "MyCommands.swift",
        "TagCommands.swift",
        "TrackCommands.swift",
        "UserCommands.swift"
      ],
      "target_dependencies" : [
        "LastFMKit"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.9"
}
Done.