The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Logboard, reference main (cb015e), with Swift 6.1 for macOS (SPM) on 24 Mar 2026 22:00:44 UTC.

Swift 6 data race errors: 3

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.69.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/shogo4405/Logboard.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/shogo4405/Logboard
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at cb015ec Merge pull request #32 from shogo4405/dependabot/bundler/json-2.15.2.1
Cloned https://github.com/shogo4405/Logboard.git
Revision (git rev-parse @):
cb015ece0c41ef8cfaa17046682e664129e57bd1
SUCCESS checkout https://github.com/shogo4405/Logboard.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/shogo4405/Logboard.git
https://github.com/shogo4405/Logboard.git
{
  "dependencies" : [
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.4.5",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "Logboard",
  "name" : "Logboard",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "15.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "Logboard",
      "targets" : [
        "Logboard"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Logboard",
      "module_type" : "SwiftTarget",
      "name" : "Logboard",
      "path" : "Sources/Logboard",
      "product_memberships" : [
        "Logboard"
      ],
      "sources" : [
        "ConsoleAppender.swift",
        "LBLogger.Data.swift",
        "LBLogger.swift",
        "LBLoggerAppender.swift",
        "MultiAppender.swift",
        "NullAppender.swift",
        "OSLoggerAppender.swift",
        "SocketAppender.swift"
      ],
      "type" : "library"
    }
  ],
  "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
Building for debugging...
[2/4] Write sources
[3/4] Write swift-version-2F0A5646E1D333AE.txt
[5/13] Compiling Logboard OSLoggerAppender.swift
[6/13] Compiling Logboard MultiAppender.swift
[7/13] Compiling Logboard ConsoleAppender.swift
[8/13] Compiling Logboard NullAppender.swift
/Users/admin/builder/spi-builder-workspace/Sources/Logboard/NullAppender.swift:5:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NullAppender' may have shared mutable state; this is an error in the Swift 6 language mode
 2 |
 3 | /// The NullAppender class does output no message.
 4 | public class NullAppender: LBLoggerAppender {
   |              `- note: class 'NullAppender' does not conform to the 'Sendable' protocol
 5 |     public static let shared = NullAppender()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NullAppender' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 6 |
 7 |     public func append(_ logboard: LBLogger, level: LBLogger.Level, message: [Any], file: StaticString, function: StaticString, line: Int) {
[9/13] Compiling Logboard LBLoggerAppender.swift
[10/13] Compiling Logboard SocketAppender.swift
/Users/admin/builder/spi-builder-workspace/Sources/Logboard/SocketAppender.swift:82:13: warning: capture of 'self' with non-sendable type 'NetSocket' in a '@Sendable' closure
 50 | }
 51 |
 52 | class NetSocket: NSObject {
    |       `- note: class 'NetSocket' does not conform to the 'Sendable' protocol
 53 |     static let defaultTimeout: Int64 = 15 // sec
 54 |     static let defaultWindowSizeC: Int = Int(UInt16.max)
    :
 80 |                 &writeStream
 81 |             )
 82 |             self.inputStream = readStream!.takeRetainedValue()
    |             `- warning: capture of 'self' with non-sendable type 'NetSocket' in a '@Sendable' closure
 83 |             self.outputStream = writeStream!.takeRetainedValue()
 84 |             self.initConnection()
/Users/admin/builder/spi-builder-workspace/Sources/Logboard/SocketAppender.swift:95:17: warning: capture of 'self' with non-sendable type 'NetSocket' in a '@Sendable' closure
 50 | }
 51 |
 52 | class NetSocket: NSObject {
    |       `- note: class 'NetSocket' does not conform to the 'Sendable' protocol
 53 |     static let defaultTimeout: Int64 = 15 // sec
 54 |     static let defaultWindowSizeC: Int = Int(UInt16.max)
    :
 93 |                     return
 94 |                 }
 95 |                 self.doOutputProcess(bytes, maxLength: data.count)
    |                 `- warning: capture of 'self' with non-sendable type 'NetSocket' in a '@Sendable' closure
 96 |             }
 97 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Logboard/SocketAppender.swift:95:17: warning: capture of 'self' with non-sendable type 'NetSocket' in an isolated closure; this is an error in the Swift 6 language mode
 50 | }
 51 |
 52 | class NetSocket: NSObject {
    |       `- note: class 'NetSocket' does not conform to the 'Sendable' protocol
 53 |     static let defaultTimeout: Int64 = 15 // sec
 54 |     static let defaultWindowSizeC: Int = Int(UInt16.max)
    :
 93 |                     return
 94 |                 }
 95 |                 self.doOutputProcess(bytes, maxLength: data.count)
    |                 `- warning: capture of 'self' with non-sendable type 'NetSocket' in an isolated closure; this is an error in the Swift 6 language mode
 96 |             }
 97 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Logboard/SocketAppender.swift:117:42: warning: capture of 'self' with non-sendable type 'NetSocket' in a '@Sendable' closure
 50 | }
 51 |
 52 | class NetSocket: NSObject {
    |       `- note: class 'NetSocket' does not conform to the 'Sendable' protocol
 53 |     static let defaultTimeout: Int64 = 15 // sec
 54 |     static let defaultWindowSizeC: Int = Int(UInt16.max)
    :
115 |     func close(isDisconnected: Bool) {
116 |         outputQueue.async {
117 |             guard let runloop: RunLoop = self.runloop else {
    |                                          `- warning: capture of 'self' with non-sendable type 'NetSocket' in a '@Sendable' closure
118 |                 return
119 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Logboard/SocketAppender.swift:159:58: warning: capture of 'self' with non-sendable type 'NetSocket' in a '@Sendable' closure
 50 | }
 51 |
 52 | class NetSocket: NSObject {
    |       `- note: class 'NetSocket' does not conform to the 'Sendable' protocol
 53 |     static let defaultTimeout: Int64 = 15 // sec
 54 |     static let defaultWindowSizeC: Int = Int(UInt16.max)
    :
157 |         if 0 < timeout {
158 |             outputQueue.asyncAfter(deadline: .now() + Double(timeout * Int64(NSEC_PER_SEC)) / Double(NSEC_PER_SEC)) {
159 |                 guard let timeoutHandler: (() -> Void) = self.timeoutHandler else {
    |                                                          `- warning: capture of 'self' with non-sendable type 'NetSocket' in a '@Sendable' closure
160 |                     return
161 |                 }
[11/13] Compiling Logboard LBLogger.Data.swift
[12/13] Compiling Logboard LBLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/Logboard/LBLogger.swift:10:23: warning: static property 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  8 | public class LBLogger {
  9 |     /// The  default dateFormatter values that is yyyy-dd-MM HH:mm:ss.SSS.
 10 |     static public var dateFormatter: DateFormatter = {
    |                       |- warning: static property 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'dateFormatter' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'dateFormatter' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 11 |         let dateFormatter: DateFormatter = DateFormatter()
 12 |         dateFormatter.dateFormat = "yyyy-dd-MM HH:mm:ss.SSS"
/Users/admin/builder/spi-builder-workspace/Sources/Logboard/LBLogger.swift:64:24: warning: static property 'instances' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 62 |     }
 63 |
 64 |     private static var instances: [String: LBLogger] = [:]
    |                        |- warning: static property 'instances' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'instances' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'instances' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 65 |
 66 |     /// Create or get a Logboard instance.
[13/13] Emitting module Logboard
/Users/admin/builder/spi-builder-workspace/Sources/Logboard/LBLogger.swift:10:23: warning: static property 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  8 | public class LBLogger {
  9 |     /// The  default dateFormatter values that is yyyy-dd-MM HH:mm:ss.SSS.
 10 |     static public var dateFormatter: DateFormatter = {
    |                       |- warning: static property 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'dateFormatter' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'dateFormatter' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 11 |         let dateFormatter: DateFormatter = DateFormatter()
 12 |         dateFormatter.dateFormat = "yyyy-dd-MM HH:mm:ss.SSS"
/Users/admin/builder/spi-builder-workspace/Sources/Logboard/LBLogger.swift:64:24: warning: static property 'instances' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 62 |     }
 63 |
 64 |     private static var instances: [String: LBLogger] = [:]
    |                        |- warning: static property 'instances' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'instances' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'instances' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 65 |
 66 |     /// Create or get a Logboard instance.
/Users/admin/builder/spi-builder-workspace/Sources/Logboard/NullAppender.swift:5:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NullAppender' may have shared mutable state; this is an error in the Swift 6 language mode
 2 |
 3 | /// The NullAppender class does output no message.
 4 | public class NullAppender: LBLoggerAppender {
   |              `- note: class 'NullAppender' does not conform to the 'Sendable' protocol
 5 |     public static let shared = NullAppender()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NullAppender' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 6 |
 7 |     public func append(_ logboard: LBLogger, level: LBLogger.Level, message: [Any], file: StaticString, function: StaticString, line: Int) {
Build complete! (20.16s)
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.75s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.6 (3.83s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.88s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.54s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.6
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
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.4.5",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "Logboard",
  "name" : "Logboard",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "15.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "Logboard",
      "targets" : [
        "Logboard"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Logboard",
      "module_type" : "SwiftTarget",
      "name" : "Logboard",
      "path" : "Sources/Logboard",
      "product_memberships" : [
        "Logboard"
      ],
      "sources" : [
        "ConsoleAppender.swift",
        "LBLogger.Data.swift",
        "LBLogger.swift",
        "LBLoggerAppender.swift",
        "MultiAppender.swift",
        "NullAppender.swift",
        "OSLoggerAppender.swift",
        "SocketAppender.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.