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 2.2.1 (6157c7), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 18:03:01 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.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/SvenTiigi/WhatsNewKit.git
Reference: 2.2.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/SvenTiigi/WhatsNewKit
 * tag               2.2.1      -> FETCH_HEAD
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 2.2.1
========================================
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/3656] Fetching whatsnewkit
Fetched https://github.com/SvenTiigi/WhatsNewKit.git from cache (1.31s)
Creating working copy for https://github.com/SvenTiigi/WhatsNewKit.git
Working copy of https://github.com/SvenTiigi/WhatsNewKit.git resolved at 2.2.1 (6157c77)
warning: '.resolve-product-dependencies': dependency 'whatsnewkit' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/SvenTiigi/WhatsNewKit.git
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.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
[0/3] Copying PrivacyInfo.xcprivacy
[2/3] Write swift-version-2F0A5646E1D333AE.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: 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/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: 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
[6/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: 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
[7/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: 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
[8/35] Compiling WhatsNewKit WhatsNewView.swift
/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
/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
[9/35] Compiling WhatsNewKit WhatsNewViewController.swift
/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
/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
[10/35] Compiling WhatsNewKit resource_bundle_accessor.swift
/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
/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
[11/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: 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/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: 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 |     }
[13/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: 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 |     }
[14/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: 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 |     }
[15/35] Compiling WhatsNewKit UIVisualEffectView+Representable.swift
[16/35] Compiling WhatsNewKit View+WhatsNewSheet.swift
[17/35] Compiling WhatsNewKit WhatsNew+Version+Key.swift
[18/35] Compiling WhatsNewKit WhatsNewView+FeaturesPadding.swift
[19/35] Compiling WhatsNewKit WhatsNewView+FooterPadding.swift
[20/35] Compiling WhatsNewKit WhatsNewView+PrimaryButtonStyle.swift
[21/35] Compiling WhatsNewKit NSUbiquitousKeyValueWhatsNewVersionStore.swift
[22/35] Compiling WhatsNewKit UserDefaultsWhatsNewVersionStore.swift
[23/35] Compiling WhatsNewKit WhatsNewVersionStore.swift
[24/35] Compiling WhatsNewKit WhatsNew+SecondaryAction.swift
[25/35] Compiling WhatsNewKit WhatsNew+Text.swift
[26/35] Compiling WhatsNewKit WhatsNew+Title.swift
[27/35] Compiling WhatsNewKit WhatsNewEnvironment.swift
[28/35] Compiling WhatsNewKit ScrollView+alwaysBounceVertical.swift
[29/35] Compiling WhatsNewKit Text+WhatsNewText.swift
[30/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: 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 |     }
[31/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: 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 |     }
[32/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: 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 |     }
[33/35] Compiling WhatsNewKit WhatsNew+Feature+Image.swift
[34/35] Compiling WhatsNewKit WhatsNew+Feature.swift
[35/35] Compiling WhatsNewKit WhatsNew+HapticFeedback.swift
Build complete! (10.23s)
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.