The Swift Package Index logo.Swift Package Index

Build Information

Successful build of WhatsNewKit, reference v2.0.0 (13e529), with Swift 6.1 for macOS (SPM) on 14 Nov 2025 09:25:09 UTC.

Swift 6 data race errors: 4

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.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/AnimatedCoding/WhatsNewKit.git
Reference: v2.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/AnimatedCoding/WhatsNewKit
 * tag               v2.0.0     -> FETCH_HEAD
HEAD is now at 13e529a v2, it works : )
Cloned https://github.com/AnimatedCoding/WhatsNewKit.git
Revision (git rev-parse @):
13e529aa15b0cf0442c2f77f9cb7348ca89e397d
SUCCESS checkout https://github.com/AnimatedCoding/WhatsNewKit.git at v2.0.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/AnimatedCoding/WhatsNewKit.git
https://github.com/AnimatedCoding/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+FeatureGroup.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/FeatureView.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.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/3] Write sources
[1/3] Copying PrivacyInfo.xcprivacy
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/34] 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: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
   |                           `- 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: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: add '@MainActor' to make static property 'dismiss' part of global actor 'MainActor'
   |                `- 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: 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
12 |
13 |     // MARK: Properties
[5/37] Compiling WhatsNewKit WhatsNewView.swift
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:145:20: warning: value 'i' was defined but never used; consider replacing with boolean test
143 |         }
144 |         .onAppear {
145 |             if let i = whatsNew.selectedFeature {
    |                    `- warning: value 'i' was defined but never used; consider replacing with boolean test
146 |                 groupIndex = 0
147 |             }
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:332:39: warning: expression of type 'WhatsNew.HapticFeedback?' is unused
330 |                     action: {
331 |                         // Invoke HapticFeedback, if available
332 |                         primaryAction.hapticFeedback
    |                                       `- warning: expression of type 'WhatsNew.HapticFeedback?' is unused
333 |                         // Invoke on dismiss, if available
334 |                         primaryAction.action?(moveToNext, dismiss)
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:332:25: warning: sending 'primaryAction' risks causing data races; this is an error in the Swift 6 language mode
328 |             if let primaryAction = self.whatsNew.selectedFeature?.primaryAction {
329 |                 Button(
330 |                     action: {
    |                             `- note: access can happen concurrently
331 |                         // Invoke HapticFeedback, if available
332 |                         primaryAction.hapticFeedback
    |                         |- warning: sending 'primaryAction' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: main actor-isolated 'primaryAction' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
333 |                         // Invoke on dismiss, if available
334 |                         primaryAction.action?(moveToNext, dismiss)
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:334:47: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
332 |                         primaryAction.hapticFeedback
333 |                         // Invoke on dismiss, if available
334 |                         primaryAction.action?(moveToNext, dismiss)
    |                                               |- 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
335 |                     }
336 |                 ) {
    |                   `- note: access can happen concurrently
337 |                     Text(
338 |                         whatsNewText:primaryAction.title
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:304:25: warning: sending 'secondaryAction' risks causing data races; this is an error in the Swift 6 language mode
302 |                     action: {
303 |                         // Invoke HapticFeedback, if available
304 |                         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
305 |                         // Switch on Action
306 |                         switch secondaryAction.action {
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:309:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
307 |                         case .present(let view):
308 |                             // Set secondary action presented view
309 |                             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
310 |                         case .custom(let action):
311 |                             // Invoke action with PresentationMode
[6/37] Compiling WhatsNewKit WhatsNewViewController.swift
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:145:20: warning: value 'i' was defined but never used; consider replacing with boolean test
143 |         }
144 |         .onAppear {
145 |             if let i = whatsNew.selectedFeature {
    |                    `- warning: value 'i' was defined but never used; consider replacing with boolean test
146 |                 groupIndex = 0
147 |             }
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:332:39: warning: expression of type 'WhatsNew.HapticFeedback?' is unused
330 |                     action: {
331 |                         // Invoke HapticFeedback, if available
332 |                         primaryAction.hapticFeedback
    |                                       `- warning: expression of type 'WhatsNew.HapticFeedback?' is unused
333 |                         // Invoke on dismiss, if available
334 |                         primaryAction.action?(moveToNext, dismiss)
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:332:25: warning: sending 'primaryAction' risks causing data races; this is an error in the Swift 6 language mode
328 |             if let primaryAction = self.whatsNew.selectedFeature?.primaryAction {
329 |                 Button(
330 |                     action: {
    |                             `- note: access can happen concurrently
331 |                         // Invoke HapticFeedback, if available
332 |                         primaryAction.hapticFeedback
    |                         |- warning: sending 'primaryAction' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: main actor-isolated 'primaryAction' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
333 |                         // Invoke on dismiss, if available
334 |                         primaryAction.action?(moveToNext, dismiss)
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:334:47: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
332 |                         primaryAction.hapticFeedback
333 |                         // Invoke on dismiss, if available
334 |                         primaryAction.action?(moveToNext, dismiss)
    |                                               |- 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
335 |                     }
336 |                 ) {
    |                   `- note: access can happen concurrently
337 |                     Text(
338 |                         whatsNewText:primaryAction.title
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:304:25: warning: sending 'secondaryAction' risks causing data races; this is an error in the Swift 6 language mode
302 |                     action: {
303 |                         // Invoke HapticFeedback, if available
304 |                         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
305 |                         // Switch on Action
306 |                         switch secondaryAction.action {
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:309:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
307 |                         case .present(let view):
308 |                             // Set secondary action presented view
309 |                             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
310 |                         case .custom(let action):
311 |                             // Invoke action with PresentationMode
[7/37] Compiling WhatsNewKit resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:145:20: warning: value 'i' was defined but never used; consider replacing with boolean test
143 |         }
144 |         .onAppear {
145 |             if let i = whatsNew.selectedFeature {
    |                    `- warning: value 'i' was defined but never used; consider replacing with boolean test
146 |                 groupIndex = 0
147 |             }
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:332:39: warning: expression of type 'WhatsNew.HapticFeedback?' is unused
330 |                     action: {
331 |                         // Invoke HapticFeedback, if available
332 |                         primaryAction.hapticFeedback
    |                                       `- warning: expression of type 'WhatsNew.HapticFeedback?' is unused
333 |                         // Invoke on dismiss, if available
334 |                         primaryAction.action?(moveToNext, dismiss)
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:332:25: warning: sending 'primaryAction' risks causing data races; this is an error in the Swift 6 language mode
328 |             if let primaryAction = self.whatsNew.selectedFeature?.primaryAction {
329 |                 Button(
330 |                     action: {
    |                             `- note: access can happen concurrently
331 |                         // Invoke HapticFeedback, if available
332 |                         primaryAction.hapticFeedback
    |                         |- warning: sending 'primaryAction' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: main actor-isolated 'primaryAction' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
333 |                         // Invoke on dismiss, if available
334 |                         primaryAction.action?(moveToNext, dismiss)
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:334:47: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
332 |                         primaryAction.hapticFeedback
333 |                         // Invoke on dismiss, if available
334 |                         primaryAction.action?(moveToNext, dismiss)
    |                                               |- 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
335 |                     }
336 |                 ) {
    |                   `- note: access can happen concurrently
337 |                     Text(
338 |                         whatsNewText:primaryAction.title
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:304:25: warning: sending 'secondaryAction' risks causing data races; this is an error in the Swift 6 language mode
302 |                     action: {
303 |                         // Invoke HapticFeedback, if available
304 |                         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
305 |                         // Switch on Action
306 |                         switch secondaryAction.action {
/Users/admin/builder/spi-builder-workspace/Sources/View/WhatsNewView.swift:309:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
307 |                         case .present(let view):
308 |                             // Set secondary action presented view
309 |                             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
310 |                         case .custom(let action):
311 |                             // Invoke action with PresentationMode
[8/37] 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: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 |     }
[9/37] 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: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 |     }
[10/37] 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: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 |     }
[11/37] 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: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 |     }
[12/37] Compiling WhatsNewKit WhatsNew+Text.swift
[13/37] Compiling WhatsNewKit WhatsNew+Title.swift
[14/37] Compiling WhatsNewKit WhatsNew+Version.swift
[15/37] Compiling WhatsNewKit UserDefaultsWhatsNewVersionStore.swift
[16/37] Compiling WhatsNewKit WhatsNewVersionStore.swift
[17/37] Compiling WhatsNewKit FeatureView.swift
[18/37] Compiling WhatsNewKit WhatsNew+FeatureGroup.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: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
107 |
108 | }
[19/37] Compiling WhatsNewKit WhatsNew+HapticFeedback.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: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
107 |
108 | }
[20/37] 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: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
107 |
108 | }
[21/37] Compiling WhatsNewKit View+WhatsNewSheet.swift
[22/37] Compiling WhatsNewKit WhatsNew+Version+Key.swift
[23/37] Compiling WhatsNewKit WhatsNew+Feature+Image.swift
[24/37] Compiling WhatsNewKit WhatsNew+Feature.swift
[25/37] Compiling WhatsNewKit WhatsNewView+FeaturesPadding.swift
[26/37] Compiling WhatsNewKit WhatsNewView+FooterPadding.swift
[27/37] Compiling WhatsNewKit WhatsNewView+PrimaryButtonStyle.swift
[28/37] Compiling WhatsNewKit WhatsNewEnvironment.swift
[29/37] Compiling WhatsNewKit ScrollView+alwaysBounceVertical.swift
[30/37] Compiling WhatsNewKit Text+WhatsNewText.swift
[31/37] Compiling WhatsNewKit UIVisualEffectView+Representable.swift
[32/37] 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: 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
12 |
13 |     // MARK: Properties
[33/37] 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: 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
12 |
13 |     // MARK: Properties
[34/37] Compiling WhatsNewKit NSUbiquitousKeyValueWhatsNewVersionStore.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: 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
12 |
13 |     // MARK: Properties
[35/37] Compiling WhatsNewKit WhatsNew+PrimaryAction.swift
/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: add '@MainActor' to make static property 'dismiss' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |         presentationMode.wrappedValue.dismiss()
40 |     }
[36/37] Compiling WhatsNewKit WhatsNew+SecondaryAction+Action.swift
/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: add '@MainActor' to make static property 'dismiss' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |         presentationMode.wrappedValue.dismiss()
40 |     }
[37/37] Compiling WhatsNewKit WhatsNew+SecondaryAction.swift
/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: add '@MainActor' to make static property 'dismiss' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |         presentationMode.wrappedValue.dismiss()
40 |     }
Build complete! (9.85s)
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+FeatureGroup.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/FeatureView.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.