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

The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of Appcast with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 3

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/slidoapp/Appcast.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/slidoapp/Appcast
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 8646f57 Merge pull request #2 from slidoapp/test/reporter
Cloned https://github.com/slidoapp/Appcast.git
Revision (git rev-parse @):
8646f57fe8ecab61f24e4abc75211895b52b4dc4
SUCCESS checkout https://github.com/slidoapp/Appcast.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/slidoapp/Appcast.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.txt
[3/15] Compiling Appcast SUOperatingSystem.swift
[4/16] Compiling Appcast SPUDownloadData.swift
[5/16] Compiling Appcast SPUSkippedUpdate.swift
[6/16] Compiling Appcast SUAppcastDriver.swift
[7/16] Compiling Appcast SUAppcast.swift
/Users/admin/builder/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:12:25: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SUAppcast' may have shared mutable state; this is an error in the Swift 6 language mode
  8 | import Foundation
  9 |
 10 | public class SUAppcast {
    |              `- note: class 'SUAppcast' does not conform to the 'Sendable' protocol
 11 |
 12 |     internal static let empty = SUAppcast()
    |                         |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SUAppcast' may have shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: annotate 'empty' with '@MainActor' if property should only be accessed from the main actor
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |
 14 |     public var items: [SUAppcastItem]
[8/16] Compiling Appcast SUAppcastItem.swift
/Users/admin/builder/spi-builder-workspace/Sources/Appcast/SUAppcastItem.swift:23:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SUAppcastItem' may have shared mutable state; this is an error in the Swift 6 language mode
 17 | /// Extended documentation and examples on using appcast item features are available at:
 18 | /// https://sparkle-project.org/documentation/publishing/
 19 | public class SUAppcastItem {
    |              `- note: class 'SUAppcastItem' does not conform to the 'Sendable' protocol
 20 |     /// An empty appcast item.
 21 |     ///
 22 |     /// This may be used as a potential return value in `-[SPUUpdaterDelegate bestValidUpdateInAppcast:forUpdater:]`
 23 |     public static let empty = SUAppcastItem()
    |                       |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SUAppcastItem' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'empty' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 24 |
 25 |     /**
[9/16] Compiling Appcast SPUAppcastItemState.swift
[10/16] Compiling Appcast SPUAppcastItemStateResolver.swift
[11/16] Emitting module Appcast
/Users/admin/builder/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:12:25: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SUAppcast' may have shared mutable state; this is an error in the Swift 6 language mode
  8 | import Foundation
  9 |
 10 | public class SUAppcast {
    |              `- note: class 'SUAppcast' does not conform to the 'Sendable' protocol
 11 |
 12 |     internal static let empty = SUAppcast()
    |                         |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SUAppcast' may have shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: annotate 'empty' with '@MainActor' if property should only be accessed from the main actor
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |
 14 |     public var items: [SUAppcastItem]
/Users/admin/builder/spi-builder-workspace/Sources/Appcast/SUAppcastItem.swift:23:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SUAppcastItem' may have shared mutable state; this is an error in the Swift 6 language mode
 17 | /// Extended documentation and examples on using appcast item features are available at:
 18 | /// https://sparkle-project.org/documentation/publishing/
 19 | public class SUAppcastItem {
    |              `- note: class 'SUAppcastItem' does not conform to the 'Sendable' protocol
 20 |     /// An empty appcast item.
 21 |     ///
 22 |     /// This may be used as a potential return value in `-[SPUUpdaterDelegate bestValidUpdateInAppcast:forUpdater:]`
 23 |     public static let empty = SUAppcastItem()
    |                       |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'SUAppcastItem' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'empty' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 24 |
 25 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Appcast/SUStandardVersionComparator.swift:17:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'SUStandardVersionComparator' may have shared mutable state; this is an error in the Swift 6 language mode
 13 | /// It's "dumb" in that it does essentially string comparison
 14 | /// in components split by character type.
 15 | public struct SUStandardVersionComparator: SUVersionComparison {
    |               `- note: consider making struct 'SUStandardVersionComparator' conform to the 'Sendable' protocol
 16 |     /// A singleton instance of the comparator.
 17 |     public static let `default` = SUStandardVersionComparator()
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'SUStandardVersionComparator' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 18 |
 19 |     /// Initializes a new instance of the standard version comparator.
[12/16] Compiling Appcast Appcast.swift
[13/16] Compiling Appcast Constants.swift
[14/16] Compiling Appcast SUSignatures.swift
[15/16] Compiling Appcast SUStandardVersionComparator.swift
/Users/admin/builder/spi-builder-workspace/Sources/Appcast/SUStandardVersionComparator.swift:17:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'SUStandardVersionComparator' may have shared mutable state; this is an error in the Swift 6 language mode
 13 | /// It's "dumb" in that it does essentially string comparison
 14 | /// in components split by character type.
 15 | public struct SUStandardVersionComparator: SUVersionComparison {
    |               `- note: consider making struct 'SUStandardVersionComparator' conform to the 'Sendable' protocol
 16 |     /// A singleton instance of the comparator.
 17 |     public static let `default` = SUStandardVersionComparator()
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'SUStandardVersionComparator' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 18 |
 19 |     /// Initializes a new instance of the standard version comparator.
[16/16] Compiling Appcast SUVersionComparison.swift
Build complete! (21.53s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Appcast",
  "name" : "Appcast",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Appcast",
      "targets" : [
        "Appcast"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "IntegrationTests",
      "module_type" : "SwiftTarget",
      "name" : "IntegrationTests",
      "path" : "Tests/IntegrationTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/IntegrationTests/Resources/test-links.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/IntegrationTests/Resources/testappcast_delta.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/IntegrationTests/Resources/testappcast.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/IntegrationTests/Resources/testappcast_channels.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/IntegrationTests/Resources/testappcast_minimumAutoupdateVersionSkipping2.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/IntegrationTests/Resources/testlocalizedreleasenotesappcast.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/IntegrationTests/Resources/testappcast_phasedRollout.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/IntegrationTests/Resources/testnamespaces.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/IntegrationTests/Resources/test-dangerous-link.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/IntegrationTests/Resources/testappcast_minimumAutoupdateVersion.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/IntegrationTests/Resources/testappcast_info_updates.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/IntegrationTests/Resources/test-relative-urls.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/IntegrationTests/Resources/testappcast_minimumAutoupdateVersionSkipping.xml",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "SUAppcastChannelTests.swift",
        "SUAppcastCriticalUpdateTests.swift",
        "SUAppcastDangerousLinkTests.swift",
        "SUAppcastDriverTests.swift",
        "SUAppcastInformationalUpdateTests.swift",
        "SUAppcastLinkTests.swift",
        "SUAppcastMinimumAutoupdateTests.swift",
        "SUAppcastParserNamespacesTests.swift",
        "SUAppcastParserTests.swift",
        "SUAppcastPhasedGroupRolloutsTests.swift",
        "SUAppcastReleaseNotesTests.swift",
        "SUAppcastTest.swift"
      ],
      "target_dependencies" : [
        "Appcast"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AppcastTests",
      "module_type" : "SwiftTarget",
      "name" : "AppcastTests",
      "path" : "Tests/AppcastTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AppcastTests/Resources/appcast_simple.xml",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "AlwaysPassTests.swift",
        "SPUAppcastItemStateTests.swift",
        "SPUDownloadDataTests.swift",
        "SUAppcastItemBaseTests.swift",
        "SUAppcastItemTests+isCriticalUpdate.swift",
        "SUAppcastItemTests+isInformationOnlyUpdate.swift",
        "SUAppcastItemTests+isMajorUpgrade.swift",
        "SUAppcastTests.swift",
        "SUOperatingSystemTests.swift",
        "SUStandardVersionComparatorTests.swift"
      ],
      "target_dependencies" : [
        "Appcast"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Appcast",
      "module_type" : "SwiftTarget",
      "name" : "Appcast",
      "path" : "Sources/Appcast",
      "product_memberships" : [
        "Appcast"
      ],
      "sources" : [
        "Appcast.swift",
        "Constants.swift",
        "SPUAppcastItemState.swift",
        "SPUAppcastItemStateResolver.swift",
        "SPUDownloadData.swift",
        "SPUSkippedUpdate.swift",
        "SUAppcast.swift",
        "SUAppcastDriver.swift",
        "SUAppcastItem.swift",
        "SUOperatingSystem.swift",
        "SUSignatures.swift",
        "SUStandardVersionComparator.swift",
        "SUVersionComparison.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.8"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.