The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of SHDateFormatter, reference 1.7.1 (092a5f), with Swift 6.1 for macOS (SPM) on 27 Apr 2025 20:48:51 UTC.

Swift 6 data race errors: 2

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/blackjacx/SHDateFormatter.git
Reference: 1.7.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/blackjacx/SHDateFormatter
 * tag               1.7.1      -> FETCH_HEAD
HEAD is now at 092a5f5 Merge branch 'release/1.7.1'
Cloned https://github.com/blackjacx/SHDateFormatter.git
Revision (git rev-parse @):
092a5f58efc7893cd81a49c09b73df6549619844
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/blackjacx/SHDateFormatter.git at 1.7.1
Fetching https://github.com/Quick/Quick
Fetching https://github.com/mattgallagher/CwlPreconditionTesting.git
Fetching https://github.com/mattgallagher/CwlCatchException.git
Fetching https://github.com/Quick/Nimble
[1/1257] Fetching cwlpreconditiontesting
[152/1712] Fetching cwlpreconditiontesting, cwlcatchexception
[1713/16467] Fetching cwlpreconditiontesting, cwlcatchexception, quick
[3927/36034] Fetching cwlpreconditiontesting, cwlcatchexception, quick, nimble
Fetched https://github.com/mattgallagher/CwlPreconditionTesting.git from cache (1.36s)
[15798/34777] Fetching cwlcatchexception, quick, nimble
Fetched https://github.com/Quick/Nimble from cache (1.86s)
Fetched https://github.com/mattgallagher/CwlCatchException.git from cache (1.86s)
Fetched https://github.com/Quick/Quick from cache (1.86s)
Computing version for https://github.com/Quick/Nimble
Computed https://github.com/Quick/Nimble at 10.0.0 (2.45s)
Computing version for https://github.com/Quick/Quick
Computed https://github.com/Quick/Quick at 5.0.1 (0.57s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.1.0 (0.57s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.1.1 (0.56s)
Creating working copy for https://github.com/mattgallagher/CwlPreconditionTesting.git
Working copy of https://github.com/mattgallagher/CwlPreconditionTesting.git resolved at 2.1.0
Creating working copy for https://github.com/Quick/Quick
Working copy of https://github.com/Quick/Quick resolved at 5.0.1
Creating working copy for https://github.com/mattgallagher/CwlCatchException.git
Working copy of https://github.com/mattgallagher/CwlCatchException.git resolved at 2.1.1
Creating working copy for https://github.com/Quick/Nimble
Working copy of https://github.com/Quick/Nimble resolved at 10.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": "shdateformatter",
      "name": "SHDateFormatter",
      "url": "https://github.com/blackjacx/SHDateFormatter.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SHDateFormatter",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/blackjacx/SHDateFormatter.git
[1/1637] Fetching shdateformatter
Fetched https://github.com/blackjacx/SHDateFormatter.git from cache (0.91s)
Creating working copy for https://github.com/blackjacx/SHDateFormatter.git
Working copy of https://github.com/blackjacx/SHDateFormatter.git resolved at 1.7.1 (092a5f5)
warning: '.resolve-product-dependencies': dependency 'shdateformatter' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/blackjacx/SHDateFormatter.git
https://github.com/blackjacx/SHDateFormatter.git
{
  "dependencies" : [
    {
      "identity" : "quick",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.0.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Quick/Quick"
    },
    {
      "identity" : "nimble",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "10.0.0",
            "upper_bound" : "11.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Quick/Nimble"
    }
  ],
  "manifest_display_name" : "SHDateFormatter",
  "name" : "SHDateFormatter",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "5.0"
    }
  ],
  "products" : [
    {
      "name" : "SHDateFormatter",
      "targets" : [
        "SHDateFormatter"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SHDateFormatterTests",
      "module_type" : "SwiftTarget",
      "name" : "SHDateFormatterTests",
      "path" : "Tests/SHDateFormatterTests",
      "product_dependencies" : [
        "Quick",
        "Nimble"
      ],
      "sources" : [
        "DateFormatterTests.swift"
      ],
      "target_dependencies" : [
        "SHDateFormatter"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SHDateFormatter",
      "module_type" : "SwiftTarget",
      "name" : "SHDateFormatter",
      "path" : "Source/SHDateFormatter",
      "product_memberships" : [
        "SHDateFormatter"
      ],
      "sources" : [
        "Classes/Date+Utils.swift",
        "Classes/SHDateFormatter+Extension.swift",
        "Classes/SHDateFormatter.swift",
        "Classes/TimeZone+Extensions.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.4"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/7] Compiling SHDateFormatter TimeZone+Extensions.swift
[4/7] Compiling SHDateFormatter SHDateFormatter+Extension.swift
[5/7] Compiling SHDateFormatter Date+Utils.swift
[6/7] Compiling SHDateFormatter SHDateFormatter.swift
/Users/admin/builder/spi-builder-workspace/Source/SHDateFormatter/Classes/SHDateFormatter.swift:36:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SHDateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
 32 | }
 33 |
 34 | public struct SHDateFormatter {
    |               `- note: consider making struct 'SHDateFormatter' conform to the 'Sendable' protocol
 35 |
 36 |     public static let shared = SHDateFormatter()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SHDateFormatter' 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
 37 |
 38 |     public static func is12hFormat(_ locale: Locale = Locale.current) -> Bool {
/Users/admin/builder/spi-builder-workspace/Source/SHDateFormatter/Classes/SHDateFormatter.swift:45:16: warning: static property 'iso8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
 43 |
 44 |     static let formatter = DateFormatter()
 45 |     static let iso8601Formatter = ISO8601DateFormatter()
    |                |- warning: static property 'iso8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'iso8601Formatter' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 46 |     static let serialDispatchQueue = DispatchQueue(label: "com.dateFormatter.globalSerialDispatchQueue")
 47 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
   |            `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 |     CFDateFormatterRef _formatter;
[7/7] Emitting module SHDateFormatter
/Users/admin/builder/spi-builder-workspace/Source/SHDateFormatter/Classes/SHDateFormatter.swift:36:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SHDateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
 32 | }
 33 |
 34 | public struct SHDateFormatter {
    |               `- note: consider making struct 'SHDateFormatter' conform to the 'Sendable' protocol
 35 |
 36 |     public static let shared = SHDateFormatter()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SHDateFormatter' 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
 37 |
 38 |     public static func is12hFormat(_ locale: Locale = Locale.current) -> Bool {
/Users/admin/builder/spi-builder-workspace/Source/SHDateFormatter/Classes/SHDateFormatter.swift:45:16: warning: static property 'iso8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
 43 |
 44 |     static let formatter = DateFormatter()
 45 |     static let iso8601Formatter = ISO8601DateFormatter()
    |                |- warning: static property 'iso8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'iso8601Formatter' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 46 |     static let serialDispatchQueue = DispatchQueue(label: "com.dateFormatter.globalSerialDispatchQueue")
 47 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
   |            `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 |     CFDateFormatterRef _formatter;
Build complete! (6.12s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "quick",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.0.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Quick/Quick"
    },
    {
      "identity" : "nimble",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "10.0.0",
            "upper_bound" : "11.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Quick/Nimble"
    }
  ],
  "manifest_display_name" : "SHDateFormatter",
  "name" : "SHDateFormatter",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "5.0"
    }
  ],
  "products" : [
    {
      "name" : "SHDateFormatter",
      "targets" : [
        "SHDateFormatter"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SHDateFormatterTests",
      "module_type" : "SwiftTarget",
      "name" : "SHDateFormatterTests",
      "path" : "Tests/SHDateFormatterTests",
      "product_dependencies" : [
        "Quick",
        "Nimble"
      ],
      "sources" : [
        "DateFormatterTests.swift"
      ],
      "target_dependencies" : [
        "SHDateFormatter"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SHDateFormatter",
      "module_type" : "SwiftTarget",
      "name" : "SHDateFormatter",
      "path" : "Source/SHDateFormatter",
      "product_memberships" : [
        "SHDateFormatter"
      ],
      "sources" : [
        "Classes/Date+Utils.swift",
        "Classes/SHDateFormatter+Extension.swift",
        "Classes/SHDateFormatter.swift",
        "Classes/TimeZone+Extensions.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.4"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/blackjacx/shdateformatter/1.7.1
Repository:               blackjacx/SHDateFormatter
Swift version used:       6.1
Target:                   SHDateFormatter
Extracting symbol information for 'SHDateFormatter'...
Finished extracting symbol information for 'SHDateFormatter'. (2.43s)
Building documentation for 'SHDateFormatter'...
Finished building documentation for 'SHDateFormatter' (0.12s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/blackjacx/shdateformatter/1.7.1
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Updating https://github.com/mattgallagher/CwlCatchException.git
Updating https://github.com/Quick/Nimble
Updating https://github.com/mattgallagher/CwlPreconditionTesting.git
Updating https://github.com/Quick/Quick
Updated https://github.com/mattgallagher/CwlCatchException.git (0.46s)
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.48s)
Updated https://github.com/Quick/Nimble (0.55s)
Updated https://github.com/Quick/Quick (0.55s)
Updated https://github.com/mattgallagher/CwlPreconditionTesting.git (0.55s)
Computing version for https://github.com/Quick/Nimble
Computed https://github.com/Quick/Nimble at 10.0.0 (1.62s)
Computing version for https://github.com/Quick/Quick
Computed https://github.com/Quick/Quick at 5.0.1 (0.56s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.1.0 (0.58s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.1.1 (0.57s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (0.58s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.73s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.40s)
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.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
Building for debugging...
[0/8] Write sources
[2/8] Write snippet-extract-tool-entitlement.plist
[3/8] Write sources
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/53] Compiling Snippets Snippet.swift
[7/53] Emitting module Snippets
[8/53] Compiling Snippets SnippetParser.swift
[9/53] Compiling SymbolKit DeclarationFragments.swift
[10/53] Compiling SymbolKit Fragment.swift
[11/53] Compiling SymbolKit FragmentKind.swift
[12/53] Compiling SymbolKit FunctionParameter.swift
[13/53] Compiling SymbolKit FunctionSignature.swift
[14/57] Compiling SymbolKit GenericConstraint.swift
[15/57] Compiling SymbolKit GenericParameter.swift
[16/57] Compiling SymbolKit Generics.swift
[17/57] Compiling SymbolKit Namespace.swift
[18/57] Compiling SymbolKit SourceRange.swift
[19/57] Compiling SymbolKit Metadata.swift
[20/57] Compiling SymbolKit Module.swift
[21/57] Compiling SymbolKit OperatingSystem.swift
[22/57] Compiling SymbolKit Platform.swift
[23/57] Compiling SymbolKit Identifier.swift
[24/57] Compiling SymbolKit KindIdentifier.swift
[25/57] Compiling SymbolKit Location.swift
[26/57] Compiling SymbolKit Mutability.swift
[27/57] Compiling SymbolKit Mixin+Equals.swift
[28/57] Compiling SymbolKit Mixin+Hash.swift
[29/57] Compiling SymbolKit Mixin.swift
[30/57] Compiling SymbolKit LineList.swift
[31/57] Compiling SymbolKit Position.swift
[32/57] Compiling SymbolKit Names.swift
[33/57] Compiling SymbolKit SPI.swift
[34/57] Compiling SymbolKit Snippet.swift
[35/57] Compiling SymbolKit Extension.swift
[36/57] Compiling SymbolKit Relationship.swift
[37/57] Compiling SymbolKit RelationshipKind.swift
[38/57] Compiling SymbolKit SourceOrigin.swift
[39/57] Compiling SymbolKit GenericConstraints.swift
[40/57] Compiling SymbolKit Swift.swift
[41/57] Compiling SymbolKit SemanticVersion.swift
[42/57] Compiling SymbolKit AccessControl.swift
[43/57] Compiling SymbolKit Availability.swift
[44/57] Compiling SymbolKit AvailabilityItem.swift
[45/57] Compiling SymbolKit Domain.swift
[46/57] Emitting module SymbolKit
[47/57] Compiling SymbolKit Symbol.swift
[48/57] Compiling SymbolKit SymbolKind.swift
[49/57] Compiling SymbolKit SymbolGraph.swift
[50/57] Compiling SymbolKit GraphCollector.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Emitting module snippet_extract
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.42s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/6] Compiling SHDateFormatter TimeZone+Extensions.swift
[3/6] Compiling SHDateFormatter SHDateFormatter+Extension.swift
[4/6] Compiling SHDateFormatter SHDateFormatter.swift
[5/6] Emitting module SHDateFormatter
[6/6] Compiling SHDateFormatter Date+Utils.swift
Build of target: 'SHDateFormatter' complete! (0.55s)
     130
2	/Users/admin/builder/spi-builder-workspace/.docs/blackjacx/shdateformatter/1.7.1
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/blackjacx/shdateformatter/1.7.1
File count: 130
Doc size:   2.0MB
Preparing doc bundle ...
Uploading prod-blackjacx-shdateformatter-1.7.1-b05c734e.zip to s3://spi-docs-inbox/prod-blackjacx-shdateformatter-1.7.1-b05c734e.zip
Copying... [16%]
Copying... [33%]
Copying... [49%]
Copying... [65%]
Copying... [82%]
Copying... [98%]
Copying... [100%]
Done.