The Swift Package Index logo.Swift Package Index

Build Information

Successful build of LastFMKit, reference master (90c9fc), with Swift 6.1 for macOS (SPM) on 13 Jul 2025 11:33:28 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: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/guitaripod/LastFMKit
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 90c9fc3 Update GitHub username from marcusziade to guitaripod
Cloned https://github.com/guitaripod/LastFMKit.git
Revision (git rev-parse @):
90c9fc390a5c8a49a390e8bcd9acaba88cc6ffcf
SUCCESS checkout https://github.com/guitaripod/LastFMKit.git at master
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-log from cache (0.69s)
Fetched https://github.com/apple/swift-argument-parser from cache (1.10s)
Fetched https://github.com/apple/swift-docc-plugin from cache (1.16s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.5 (4.18s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.78s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.44s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (0.50s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.3 (0.47s)
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
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
========================================
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.66s)
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.53s)
Fetched https://github.com/apple/swift-log from cache (0.53s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (0.60s)
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 master (90c9fc3)
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
[4/14] Write lastfm-cli-entitlement.plist
[8/14] Write sources
[10/14] Write swift-version-2F0A5646E1D333AE.txt
[12/21] Compiling ArgumentParserToolInfo ToolInfo.swift
[13/21] Emitting module ArgumentParserToolInfo
[14/67] Compiling Logging LogHandler.swift
[15/67] Compiling Logging MetadataProvider.swift
[16/67] Emitting module Logging
[17/67] Compiling Logging Locks.swift
[18/67] Compiling Logging Logging.swift
[19/90] Emitting module ArgumentParser
[20/94] Compiling LastFMKit Library.swift
[21/94] Compiling LastFMKit Tag.swift
[22/94] Compiling ArgumentParser SwiftExtensions.swift
[23/94] Compiling ArgumentParser Tree.swift
[24/94] Compiling ArgumentParser CodingKeyValidator.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 AlbumAPI.swift
[30/94] Compiling LastFMKit ArtistAPI.swift
[31/94] Compiling LastFMKit AuthAPI.swift
[32/94] Compiling LastFMKit Album.swift
[33/94] Compiling LastFMKit Artist.swift
[34/94] Compiling LastFMKit Common.swift
[35/94] Compiling LastFMKit Geo.swift
[36/94] Compiling LastFMKit LibraryAPI.swift
[37/94] Compiling LastFMKit TagAPI.swift
[38/94] Compiling LastFMKit TrackAPI.swift
[39/94] Compiling LastFMKit LastFMError.swift
[40/94] Compiling LastFMKit NetworkClient.swift
[41/94] Compiling LastFMKit BaseAPI.swift
[42/94] Compiling LastFMKit ChartAPI.swift
[43/94] Compiling LastFMKit GeoAPI.swift
[44/94] Compiling LastFMKit Auth.swift
[45/94] Compiling LastFMKit Chart.swift
[46/94] Compiling LastFMKit UserAPI.swift
[47/94] Compiling LastFMKit Endpoint.swift
[48/94] Compiling LastFMKit LastFMClient.swift
[49/94] Compiling ArgumentParser MessageInfo.swift
[50/94] Compiling ArgumentParser UsageGenerator.swift
[51/94] Compiling ArgumentParser CollectionExtensions.swift
[52/94] Compiling ArgumentParser Mutex.swift
[53/94] Compiling ArgumentParser Platform.swift
[54/94] Compiling ArgumentParser ParserError.swift
[55/94] Compiling ArgumentParser SplitArguments.swift
[56/94] Compiling ArgumentParser DumpHelpGenerator.swift
[57/94] Compiling ArgumentParser HelpCommand.swift
[58/94] Compiling ArgumentParser HelpGenerator.swift
[59/94] Compiling ArgumentParser ArgumentDiscussion.swift
[60/94] Compiling ArgumentParser ArgumentHelp.swift
[61/94] Compiling ArgumentParser ArgumentVisibility.swift
[62/94] Compiling ArgumentParser CompletionKind.swift
[63/94] Compiling ArgumentParser Errors.swift
[64/94] Compiling ArgumentParser ParsableCommand.swift
[65/94] Compiling ArgumentParser ArgumentDecoder.swift
[66/94] Compiling ArgumentParser ArgumentDefinition.swift
[67/94] Compiling ArgumentParser ArgumentSet.swift
[68/94] Compiling ArgumentParser CommandParser.swift
[79/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 |
/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 |
[90/96] Compiling LastFMKit Track.swift
[91/96] Compiling LastFMKit User.swift
[94/108] Compiling LastFMCLI TrackCommands.swift
[95/108] Compiling LastFMCLI GeoCommands.swift
[96/108] Compiling LastFMCLI LastFMCLI.swift
[97/108] Compiling LastFMCLI LibraryCommands.swift
[98/108] Compiling LastFMCLI TagCommands.swift
[99/108] Compiling LastFMCLI ConfigManager.swift
[100/108] Compiling LastFMCLI ChartCommands.swift
[101/108] Compiling LastFMCLI ConfigCommands.swift
[102/108] 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.31s)
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.