The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of WhatsNewKit, reference main (6157c7), with Swift 6.0 for macOS (SPM) on 1 Dec 2024 00:40:11 UTC.

Swift 6 data race errors: 4

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.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.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/SvenTiigi/WhatsNewKit.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/SvenTiigi/WhatsNewKit
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 6157c77 Added PrivacyInfo.xcprivacy
Cloned https://github.com/SvenTiigi/WhatsNewKit.git
Revision (git rev-parse @):
6157c77e8be9b3d2310bc680681b61a8d9e290ac
SUCCESS checkout https://github.com/SvenTiigi/WhatsNewKit.git at main
========================================
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": "whatsnewkit",
      "name": "WhatsNewKit",
      "url": "https://github.com/SvenTiigi/WhatsNewKit.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/WhatsNewKit",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/SvenTiigi/WhatsNewKit.git
[1/3630] Fetching whatsnewkit
Fetched https://github.com/SvenTiigi/WhatsNewKit.git from cache (1.46s)
Creating working copy for https://github.com/SvenTiigi/WhatsNewKit.git
Working copy of https://github.com/SvenTiigi/WhatsNewKit.git resolved at main (6157c77)
warning: '.resolve-product-dependencies': dependency 'whatsnewkit' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/SvenTiigi/WhatsNewKit.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "WhatsNewKit",
  "name" : "WhatsNewKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "WhatsNewKit",
      "targets" : [
        "WhatsNewKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "WhatsNewKitTests",
      "module_type" : "SwiftTarget",
      "name" : "WhatsNewKitTests",
      "path" : "Tests",
      "sources" : [
        "WhatsNewEnvironmentTests.swift",
        "WhatsNewKitTestCase.swift",
        "WhatsNewVersionStoreTests.swift",
        "WhatsNewVersionTests.swift",
        "WhatsNewViewControllerTests.swift"
      ],
      "target_dependencies" : [
        "WhatsNewKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "WhatsNewKit",
      "module_type" : "SwiftTarget",
      "name" : "WhatsNewKit",
      "path" : "Sources",
      "product_memberships" : [
        "WhatsNewKit"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Resources/PrivacyInfo.xcprivacy",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Collection/WhatsNewCollection.swift",
        "Collection/WhatsNewCollectionBuilder.swift",
        "Collection/WhatsNewCollectionProvider.swift",
        "Environment/WhatsNewEnvironment+Key.swift",
        "Environment/WhatsNewEnvironment.swift",
        "Extensions/ScrollView+alwaysBounceVertical.swift",
        "Extensions/Text+WhatsNewText.swift",
        "Extensions/UIVisualEffectView+Representable.swift",
        "Extensions/View+WhatsNewSheet.swift",
        "Extensions/WhatsNew+Version+Key.swift",
        "Models/WhatsNew+Feature+Image.swift",
        "Models/WhatsNew+Feature.swift",
        "Models/WhatsNew+HapticFeedback.swift",
        "Models/WhatsNew+Layout.swift",
        "Models/WhatsNew+PrimaryAction.swift",
        "Models/WhatsNew+SecondaryAction+Action.swift",
        "Models/WhatsNew+SecondaryAction.swift",
        "Models/WhatsNew+Text.swift",
        "Models/WhatsNew+Title.swift",
        "Models/WhatsNew+Version.swift",
        "Models/WhatsNew.swift",
        "Store/InMemoryWhatsNewVersionStore.swift",
        "Store/NSUbiquitousKeyValueWhatsNewVersionStore.swift",
        "Store/UserDefaultsWhatsNewVersionStore.swift",
        "Store/WhatsNewVersionStore.swift",
        "View/WhatsNewView+FeaturesPadding.swift",
        "View/WhatsNewView+FooterPadding.swift",
        "View/WhatsNewView+PrimaryButtonStyle.swift",
        "View/WhatsNewView.swift",
        "ViewController/WhatsNewViewController.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.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/3] Write sources
[1/3] Copying PrivacyInfo.xcprivacy
[2/3] Write swift-version--7754E27361AE5C74.txt
[4/32] Emitting module WhatsNewKit
/Users/admin/builder/spi-builder-workspace/Sources/Environment/WhatsNewEnvironment+Key.swift:11:27: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 |         /// The default value for the environment key
11 |         public static var defaultValue = WhatsNewEnvironment()
   |                           |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
   |                           |- note: annotate 'defaultValue' 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
12 |
13 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+SecondaryAction+Action.swift:38:16: warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
 6 |
 7 |     /// A WhatsNew Secondary Action
 8 |     enum Action {
   |          `- note: consider making enum 'Action' conform to the 'Sendable' protocol
 9 |         /// Present View
10 |         case present(AnyView)
   :
36 |
37 |     /// Dismiss WhatsNewView
38 |     static let dismiss: Self = .custom { presentationMode in
   |                |- warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'dismiss' 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
39 |         presentationMode.wrappedValue.dismiss()
40 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Store/InMemoryWhatsNewVersionStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 | /// The InMemoryWhatsNewVersionStore
 6 | public final class InMemoryWhatsNewVersionStore {
   |                    `- note: class 'InMemoryWhatsNewVersionStore' does not conform to the 'Sendable' protocol
 7 |
 8 |     // MARK: Static-Properties
 9 |
10 |     /// The shared `InMemoryWhatsNewVersionStore` instance
11 |     public static let shared = InMemoryWhatsNewVersionStore()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'shared' 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
12 |
13 |     // MARK: Properties
[5/35] Compiling WhatsNewKit NSUbiquitousKeyValueWhatsNewVersionStore.swift
[6/35] Compiling WhatsNewKit UserDefaultsWhatsNewVersionStore.swift
[7/35] Compiling WhatsNewKit WhatsNewVersionStore.swift
[8/35] Compiling WhatsNewKit WhatsNew+Version.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/InMemoryWhatsNewVersionStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 | /// The InMemoryWhatsNewVersionStore
 6 | public final class InMemoryWhatsNewVersionStore {
   |                    `- note: class 'InMemoryWhatsNewVersionStore' does not conform to the 'Sendable' protocol
 7 |
 8 |     // MARK: Static-Properties
 9 |
10 |     /// The shared `InMemoryWhatsNewVersionStore` instance
11 |     public static let shared = InMemoryWhatsNewVersionStore()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'shared' 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
12 |
13 |     // MARK: Properties
[9/35] Compiling WhatsNewKit WhatsNew.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/InMemoryWhatsNewVersionStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 | /// The InMemoryWhatsNewVersionStore
 6 | public final class InMemoryWhatsNewVersionStore {
   |                    `- note: class 'InMemoryWhatsNewVersionStore' does not conform to the 'Sendable' protocol
 7 |
 8 |     // MARK: Static-Properties
 9 |
10 |     /// The shared `InMemoryWhatsNewVersionStore` instance
11 |     public static let shared = InMemoryWhatsNewVersionStore()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'shared' 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
12 |
13 |     // MARK: Properties
[10/35] Compiling WhatsNewKit InMemoryWhatsNewVersionStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/InMemoryWhatsNewVersionStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 | /// The InMemoryWhatsNewVersionStore
 6 | public final class InMemoryWhatsNewVersionStore {
   |                    `- note: class 'InMemoryWhatsNewVersionStore' does not conform to the 'Sendable' protocol
 7 |
 8 |     // MARK: Static-Properties
 9 |
10 |     /// The shared `InMemoryWhatsNewVersionStore` instance
11 |     public static let shared = InMemoryWhatsNewVersionStore()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryWhatsNewVersionStore' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'shared' 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
12 |
13 |     // MARK: Properties
[11/35] Compiling WhatsNewKit WhatsNewEnvironment.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
[12/35] Compiling WhatsNewKit ScrollView+alwaysBounceVertical.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
[13/35] Compiling WhatsNewKit Text+WhatsNewText.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
[14/35] Compiling WhatsNewKit WhatsNewCollection.swift
/Users/admin/builder/spi-builder-workspace/Sources/Environment/WhatsNewEnvironment+Key.swift:11:27: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 |         /// The default value for the environment key
11 |         public static var defaultValue = WhatsNewEnvironment()
   |                           |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
   |                           |- note: annotate 'defaultValue' 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
12 |
13 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
[15/35] Compiling WhatsNewKit WhatsNewCollectionBuilder.swift
/Users/admin/builder/spi-builder-workspace/Sources/Environment/WhatsNewEnvironment+Key.swift:11:27: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 |         /// The default value for the environment key
11 |         public static var defaultValue = WhatsNewEnvironment()
   |                           |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
   |                           |- note: annotate 'defaultValue' 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
12 |
13 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
[16/35] Compiling WhatsNewKit WhatsNewCollectionProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/Environment/WhatsNewEnvironment+Key.swift:11:27: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 |         /// The default value for the environment key
11 |         public static var defaultValue = WhatsNewEnvironment()
   |                           |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
   |                           |- note: annotate 'defaultValue' 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
12 |
13 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
[17/35] Compiling WhatsNewKit WhatsNewEnvironment+Key.swift
/Users/admin/builder/spi-builder-workspace/Sources/Environment/WhatsNewEnvironment+Key.swift:11:27: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 |         /// The default value for the environment key
11 |         public static var defaultValue = WhatsNewEnvironment()
   |                           |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
   |                           |- note: annotate 'defaultValue' 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
12 |
13 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
[18/35] Compiling WhatsNewKit WhatsNewView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:192:25: warning: sending 'secondaryAction' risks causing data races; this is an error in the Swift 6 language mode
190 |                     action: {
191 |                         // Invoke HapticFeedback, if available
192 |                         secondaryAction.hapticFeedback?()
    |                         |- warning: sending 'secondaryAction' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'secondaryAction' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
193 |                         // Switch on Action
194 |                         switch secondaryAction.action {
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:197:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
195 |                         case .present(let view):
196 |                             // Set secondary action presented view
197 |                             self.secondaryActionPresentedView = .init(view: view)
    |                             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
198 |                         case .custom(let action):
199 |                             // Invoke action with PresentationMode
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:219:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
217 |                 action: {
218 |                     // Invoke HapticFeedback, if available
219 |                     self.whatsNew.primaryAction.hapticFeedback?()
    |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: main actor-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
220 |                     // Dismiss
221 |                     self.presentationMode.wrappedValue.dismiss()
    :
223 |                     self.whatsNew.primaryAction.onDismiss?()
224 |                 }
225 |             ) {
    |               `- note: access can happen concurrently
226 |                 Text(
227 |                     whatsNewText: self.whatsNew.primaryAction.title
[19/35] Compiling WhatsNewKit WhatsNewViewController.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:192:25: warning: sending 'secondaryAction' risks causing data races; this is an error in the Swift 6 language mode
190 |                     action: {
191 |                         // Invoke HapticFeedback, if available
192 |                         secondaryAction.hapticFeedback?()
    |                         |- warning: sending 'secondaryAction' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'secondaryAction' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
193 |                         // Switch on Action
194 |                         switch secondaryAction.action {
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:197:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
195 |                         case .present(let view):
196 |                             // Set secondary action presented view
197 |                             self.secondaryActionPresentedView = .init(view: view)
    |                             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
198 |                         case .custom(let action):
199 |                             // Invoke action with PresentationMode
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:219:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
217 |                 action: {
218 |                     // Invoke HapticFeedback, if available
219 |                     self.whatsNew.primaryAction.hapticFeedback?()
    |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: main actor-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
220 |                     // Dismiss
221 |                     self.presentationMode.wrappedValue.dismiss()
    :
223 |                     self.whatsNew.primaryAction.onDismiss?()
224 |                 }
225 |             ) {
    |               `- note: access can happen concurrently
226 |                 Text(
227 |                     whatsNewText: self.whatsNew.primaryAction.title
[20/35] Compiling WhatsNewKit resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:192:25: warning: sending 'secondaryAction' risks causing data races; this is an error in the Swift 6 language mode
190 |                     action: {
191 |                         // Invoke HapticFeedback, if available
192 |                         secondaryAction.hapticFeedback?()
    |                         |- warning: sending 'secondaryAction' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'secondaryAction' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
193 |                         // Switch on Action
194 |                         switch secondaryAction.action {
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:197:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
195 |                         case .present(let view):
196 |                             // Set secondary action presented view
197 |                             self.secondaryActionPresentedView = .init(view: view)
    |                             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
198 |                         case .custom(let action):
199 |                             // Invoke action with PresentationMode
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:219:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
217 |                 action: {
218 |                     // Invoke HapticFeedback, if available
219 |                     self.whatsNew.primaryAction.hapticFeedback?()
    |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: main actor-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
220 |                     // Dismiss
221 |                     self.presentationMode.wrappedValue.dismiss()
    :
223 |                     self.whatsNew.primaryAction.onDismiss?()
224 |                 }
225 |             ) {
    |               `- note: access can happen concurrently
226 |                 Text(
227 |                     whatsNewText: self.whatsNew.primaryAction.title
[21/35] Compiling WhatsNewKit WhatsNew+Layout.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+SecondaryAction+Action.swift:38:16: warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
 6 |
 7 |     /// A WhatsNew Secondary Action
 8 |     enum Action {
   |          `- note: consider making enum 'Action' conform to the 'Sendable' protocol
 9 |         /// Present View
10 |         case present(AnyView)
   :
36 |
37 |     /// Dismiss WhatsNewView
38 |     static let dismiss: Self = .custom { presentationMode in
   |                |- warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'dismiss' 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
39 |         presentationMode.wrappedValue.dismiss()
40 |     }
[22/35] Compiling WhatsNewKit WhatsNew+PrimaryAction.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+SecondaryAction+Action.swift:38:16: warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
 6 |
 7 |     /// A WhatsNew Secondary Action
 8 |     enum Action {
   |          `- note: consider making enum 'Action' conform to the 'Sendable' protocol
 9 |         /// Present View
10 |         case present(AnyView)
   :
36 |
37 |     /// Dismiss WhatsNewView
38 |     static let dismiss: Self = .custom { presentationMode in
   |                |- warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'dismiss' 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
39 |         presentationMode.wrappedValue.dismiss()
40 |     }
[23/35] Compiling WhatsNewKit WhatsNew+SecondaryAction+Action.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+SecondaryAction+Action.swift:38:16: warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
 6 |
 7 |     /// A WhatsNew Secondary Action
 8 |     enum Action {
   |          `- note: consider making enum 'Action' conform to the 'Sendable' protocol
 9 |         /// Present View
10 |         case present(AnyView)
   :
36 |
37 |     /// Dismiss WhatsNewView
38 |     static let dismiss: Self = .custom { presentationMode in
   |                |- warning: static property 'dismiss' is not concurrency-safe because non-'Sendable' type 'WhatsNew.SecondaryAction.Action' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'dismiss' 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
39 |         presentationMode.wrappedValue.dismiss()
40 |     }
[24/35] Compiling WhatsNewKit WhatsNew+Feature+Image.swift
[25/35] Compiling WhatsNewKit WhatsNew+Feature.swift
[26/35] Compiling WhatsNewKit WhatsNew+HapticFeedback.swift
[27/35] Compiling WhatsNewKit WhatsNewView+FeaturesPadding.swift
[28/35] Compiling WhatsNewKit WhatsNewView+FooterPadding.swift
[29/35] Compiling WhatsNewKit WhatsNewView+PrimaryButtonStyle.swift
[30/35] Compiling WhatsNewKit UIVisualEffectView+Representable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
[31/35] Compiling WhatsNewKit View+WhatsNewSheet.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
[32/35] Compiling WhatsNewKit WhatsNew+Version+Key.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/WhatsNew+Layout.swift:106:16: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
104 |
105 |     /// The mutable default Layout
106 |     static var `default` = Self()
    |                |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- 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
107 |
108 | }
[33/35] Compiling WhatsNewKit WhatsNew+SecondaryAction.swift
[34/35] Compiling WhatsNewKit WhatsNew+Text.swift
[35/35] Compiling WhatsNewKit WhatsNew+Title.swift
Build complete! (27.50s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "WhatsNewKit",
  "name" : "WhatsNewKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "WhatsNewKit",
      "targets" : [
        "WhatsNewKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "WhatsNewKitTests",
      "module_type" : "SwiftTarget",
      "name" : "WhatsNewKitTests",
      "path" : "Tests",
      "sources" : [
        "WhatsNewEnvironmentTests.swift",
        "WhatsNewKitTestCase.swift",
        "WhatsNewVersionStoreTests.swift",
        "WhatsNewVersionTests.swift",
        "WhatsNewViewControllerTests.swift"
      ],
      "target_dependencies" : [
        "WhatsNewKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "WhatsNewKit",
      "module_type" : "SwiftTarget",
      "name" : "WhatsNewKit",
      "path" : "Sources",
      "product_memberships" : [
        "WhatsNewKit"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Resources/PrivacyInfo.xcprivacy",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Collection/WhatsNewCollection.swift",
        "Collection/WhatsNewCollectionBuilder.swift",
        "Collection/WhatsNewCollectionProvider.swift",
        "Environment/WhatsNewEnvironment+Key.swift",
        "Environment/WhatsNewEnvironment.swift",
        "Extensions/ScrollView+alwaysBounceVertical.swift",
        "Extensions/Text+WhatsNewText.swift",
        "Extensions/UIVisualEffectView+Representable.swift",
        "Extensions/View+WhatsNewSheet.swift",
        "Extensions/WhatsNew+Version+Key.swift",
        "Models/WhatsNew+Feature+Image.swift",
        "Models/WhatsNew+Feature.swift",
        "Models/WhatsNew+HapticFeedback.swift",
        "Models/WhatsNew+Layout.swift",
        "Models/WhatsNew+PrimaryAction.swift",
        "Models/WhatsNew+SecondaryAction+Action.swift",
        "Models/WhatsNew+SecondaryAction.swift",
        "Models/WhatsNew+Text.swift",
        "Models/WhatsNew+Title.swift",
        "Models/WhatsNew+Version.swift",
        "Models/WhatsNew.swift",
        "Store/InMemoryWhatsNewVersionStore.swift",
        "Store/NSUbiquitousKeyValueWhatsNewVersionStore.swift",
        "Store/UserDefaultsWhatsNewVersionStore.swift",
        "Store/WhatsNewVersionStore.swift",
        "View/WhatsNewView+FeaturesPadding.swift",
        "View/WhatsNewView+FooterPadding.swift",
        "View/WhatsNewView+PrimaryButtonStyle.swift",
        "View/WhatsNewView.swift",
        "ViewController/WhatsNewViewController.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.