The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of FritzBoxKit, reference v0.5.0 (f2d9b1), with Swift 6.1 for macOS (SPM) on 26 Apr 2025 07:35:06 UTC.

Swift 6 data race errors: 8

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/r-dent/FritzBoxKit.git
Reference: v0.5.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/r-dent/FritzBoxKit
 * tag               v0.5.0     -> FETCH_HEAD
HEAD is now at f2d9b1e Create CONTRIBUTING.md
Cloned https://github.com/r-dent/FritzBoxKit.git
Revision (git rev-parse @):
f2d9b1e4b9797b4d5177e245cd2052485d65a1f1
SUCCESS checkout https://github.com/r-dent/FritzBoxKit.git at v0.5.0
Fetching https://github.com/gcharita/XMLMapper.git
Fetching https://github.com/tadija/AEXML.git
[1/2235] Fetching xmlmapper
[180/4362] Fetching xmlmapper, aexml
Fetched https://github.com/gcharita/XMLMapper.git from cache (0.99s)
Fetched https://github.com/tadija/AEXML.git from cache (0.99s)
Computing version for https://github.com/gcharita/XMLMapper.git
Computed https://github.com/gcharita/XMLMapper.git at 1.6.1 (1.59s)
Computing version for https://github.com/tadija/AEXML.git
Computed https://github.com/tadija/AEXML.git at 4.6.0 (0.57s)
Creating working copy for https://github.com/tadija/AEXML.git
Working copy of https://github.com/tadija/AEXML.git resolved at 4.6.0
Creating working copy for https://github.com/gcharita/XMLMapper.git
Working copy of https://github.com/gcharita/XMLMapper.git resolved at 1.6.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": "fritzboxkit",
      "name": "FritzBoxKit",
      "url": "https://github.com/r-dent/FritzBoxKit.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/FritzBoxKit",
      "dependencies": [
        {
          "identity": "aexml",
          "name": "AEXML",
          "url": "https://github.com/tadija/AEXML.git",
          "version": "4.7.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/AEXML",
          "dependencies": [
          ]
        },
        {
          "identity": "xmlmapper",
          "name": "XMLMapper",
          "url": "https://github.com/gcharita/XMLMapper.git",
          "version": "1.6.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/XMLMapper",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/r-dent/FritzBoxKit.git
[1/357] Fetching fritzboxkit
Fetched https://github.com/r-dent/FritzBoxKit.git from cache (0.87s)
Fetching https://github.com/gcharita/XMLMapper.git from cache
Fetching https://github.com/tadija/AEXML.git from cache
Fetched https://github.com/gcharita/XMLMapper.git from cache (0.43s)
Fetched https://github.com/tadija/AEXML.git from cache (0.43s)
Computing version for https://github.com/gcharita/XMLMapper.git
Computed https://github.com/gcharita/XMLMapper.git at 1.6.1 (0.50s)
Computing version for https://github.com/tadija/AEXML.git
Computed https://github.com/tadija/AEXML.git at 4.7.0 (0.45s)
Creating working copy for https://github.com/r-dent/FritzBoxKit.git
Working copy of https://github.com/r-dent/FritzBoxKit.git resolved at v0.5.0 (f2d9b1e)
Creating working copy for https://github.com/gcharita/XMLMapper.git
Working copy of https://github.com/gcharita/XMLMapper.git resolved at 1.6.1
Creating working copy for https://github.com/tadija/AEXML.git
Working copy of https://github.com/tadija/AEXML.git resolved at 4.7.0
warning: '.resolve-product-dependencies': dependency 'fritzboxkit' is not used by any target
Found 2 product dependencies
  - AEXML
  - XMLMapper
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/r-dent/FritzBoxKit.git
https://github.com/r-dent/FritzBoxKit.git
{
  "dependencies" : [
    {
      "identity" : "aexml",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.3.3",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/tadija/AEXML.git"
    },
    {
      "identity" : "xmlmapper",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/gcharita/XMLMapper.git"
    }
  ],
  "manifest_display_name" : "FritzBoxKit",
  "name" : "FritzBoxKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "FritzBoxKit",
      "targets" : [
        "FritzBoxKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FritzBoxKitTests",
      "module_type" : "SwiftTarget",
      "name" : "FritzBoxKitTests",
      "path" : "Tests",
      "product_dependencies" : [
        "AEXML"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/TestResources/devices.xml",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Fritz_Box_KitTests.swift"
      ],
      "target_dependencies" : [
        "FritzBoxKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FritzBoxKit",
      "module_type" : "SwiftTarget",
      "name" : "FritzBoxKit",
      "path" : "Sources",
      "product_dependencies" : [
        "AEXML",
        "XMLMapper"
      ],
      "product_memberships" : [
        "FritzBoxKit"
      ],
      "sources" : [
        "FritzBox.Error.swift",
        "FritzBoxKit+ResourceLoading.swift",
        "FritzBoxKit.swift",
        "Helper.swift",
        "Model/PowerMeter.swift",
        "Model/PowerSwitch.swift",
        "Model/RadiatorRegulator.swift",
        "Model/SessionInfo.swift",
        "Model/SmartHomeDevice.swift",
        "Model/Temperature.swift",
        "Model/XMLBoolTransform.swift",
        "Model/XMLFloatTransform.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
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/4] Write sources
[3/4] Write swift-version-2F0A5646E1D333AE.txt
[5/42] Compiling AEXML Element.swift
[6/42] Compiling AEXML Options.swift
[7/42] Compiling AEXML Document.swift
[8/42] Emitting module AEXML
[9/42] Compiling AEXML Error.swift
[10/42] Compiling AEXML Parser.swift
[11/42] Emitting module XMLMapper
[12/45] Compiling XMLMapper Dictionary+XMLParser.swift
[13/45] Compiling XMLMapper Dictionary+isEqual.swift
[14/45] Compiling XMLMapper Dictionary+mapValues.swift
[15/45] Compiling XMLMapper FromXML.swift
[16/45] Compiling XMLMapper XMLParserConstant.swift
[17/45] Compiling XMLMapper XMLParserHelper.swift
[18/45] Compiling XMLMapper XMLRepresentable.swift
[19/45] Compiling XMLMapper XMLSerialization+Error.swift
[20/45] Compiling XMLMapper XMLSerialization+ReadingOptions.swift
[21/45] Compiling XMLMapper XMLSerialization.swift
[22/45] Compiling XMLMapper NSMutableDictionary+XMLParser.swift
[23/45] Compiling XMLMapper Operators.swift
[24/45] Compiling XMLMapper Sequence+compactMap.swift
[25/45] Compiling XMLMapper String+XMLParser.swift
[26/45] Compiling XMLMapper XMLStringConvertibleOperators.swift
[27/45] Compiling XMLMapper XMLStringConvertibleTransform.swift
[28/45] Compiling XMLMapper XMLTransformOf.swift
[29/45] Compiling XMLMapper XMLDateTransform.swift
[30/45] Compiling XMLMapper XMLDictionaryTransform.swift
[31/45] Compiling XMLMapper XMLEnumOperators.swift
[32/45] Compiling XMLMapper XMLEnumTransform.swift
[33/45] Compiling XMLMapper XMLMapper.swift
[34/45] Compiling XMLMapper XMLNSDecimalNumberTransform.swift
[35/45] Compiling XMLMapper XMLObjectParser.swift
[36/45] Compiling XMLMapper XMLTransformOperators.swift
[37/45] Compiling XMLMapper XMLTransformType.swift
[38/45] Compiling XMLMapper XMLURLTransform.swift
[39/45] Compiling XMLMapper XMLHexColorTransform.swift
[40/45] Compiling XMLMapper XMLMap.swift
[41/45] Compiling XMLMapper XMLMappable.swift
[42/45] Compiling XMLMapper ToXML.swift
[43/45] Compiling XMLMapper XMLCustomDateFormatTransform.swift
[44/45] Compiling XMLMapper XMLDataTransform.swift
[45/45] Compiling XMLMapper XMLDateFormatterTransform.swift
[46/57] Compiling FritzBoxKit Temperature.swift
[47/58] Compiling FritzBoxKit SessionInfo.swift
[48/58] Compiling FritzBoxKit XMLBoolTransform.swift
[49/58] Compiling FritzBoxKit PowerSwitch.swift
[50/58] Compiling FritzBoxKit PowerMeter.swift
[51/58] Compiling FritzBoxKit RadiatorRegulator.swift
[52/58] Compiling FritzBoxKit SmartHomeDevice.swift
/Users/admin/builder/spi-builder-workspace/Sources/Model/SmartHomeDevice.swift:43:31: warning: static property 'alarmSensor' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |     public struct SmartHomeDevice: XMLMappable  {
 34 |
 35 |         public struct Feature: OptionSet {
    |                       `- note: consider making struct 'Feature' conform to the 'Sendable' protocol
 36 |
 37 |             public let rawValue: Int
    :
 41 |             }
 42 |
 43 |             public static let alarmSensor          = Feature(rawValue: 1 << 4)
    |                               |- warning: static property 'alarmSensor' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: add '@MainActor' to make static property 'alarmSensor' part of global actor 'MainActor'
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |             public static let radiatorRegulator    = Feature(rawValue: 1 << 6)
 45 |             public static let energySensor         = Feature(rawValue: 1 << 7)
/Users/admin/builder/spi-builder-workspace/Sources/Model/SmartHomeDevice.swift:44:31: warning: static property 'radiatorRegulator' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |     public struct SmartHomeDevice: XMLMappable  {
 34 |
 35 |         public struct Feature: OptionSet {
    |                       `- note: consider making struct 'Feature' conform to the 'Sendable' protocol
 36 |
 37 |             public let rawValue: Int
    :
 42 |
 43 |             public static let alarmSensor          = Feature(rawValue: 1 << 4)
 44 |             public static let radiatorRegulator    = Feature(rawValue: 1 << 6)
    |                               |- warning: static property 'radiatorRegulator' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: add '@MainActor' to make static property 'radiatorRegulator' part of global actor 'MainActor'
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 45 |             public static let energySensor         = Feature(rawValue: 1 << 7)
 46 |             public static let temperatureSensor    = Feature(rawValue: 1 << 8)
/Users/admin/builder/spi-builder-workspace/Sources/Model/SmartHomeDevice.swift:45:31: warning: static property 'energySensor' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |     public struct SmartHomeDevice: XMLMappable  {
 34 |
 35 |         public struct Feature: OptionSet {
    |                       `- note: consider making struct 'Feature' conform to the 'Sendable' protocol
 36 |
 37 |             public let rawValue: Int
    :
 43 |             public static let alarmSensor          = Feature(rawValue: 1 << 4)
 44 |             public static let radiatorRegulator    = Feature(rawValue: 1 << 6)
 45 |             public static let energySensor         = Feature(rawValue: 1 << 7)
    |                               |- warning: static property 'energySensor' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: add '@MainActor' to make static property 'energySensor' part of global actor 'MainActor'
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 46 |             public static let temperatureSensor    = Feature(rawValue: 1 << 8)
 47 |             public static let powerSwitch          = Feature(rawValue: 1 << 9)
/Users/admin/builder/spi-builder-workspace/Sources/Model/SmartHomeDevice.swift:46:31: warning: static property 'temperatureSensor' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |     public struct SmartHomeDevice: XMLMappable  {
 34 |
 35 |         public struct Feature: OptionSet {
    |                       `- note: consider making struct 'Feature' conform to the 'Sendable' protocol
 36 |
 37 |             public let rawValue: Int
    :
 44 |             public static let radiatorRegulator    = Feature(rawValue: 1 << 6)
 45 |             public static let energySensor         = Feature(rawValue: 1 << 7)
 46 |             public static let temperatureSensor    = Feature(rawValue: 1 << 8)
    |                               |- warning: static property 'temperatureSensor' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: add '@MainActor' to make static property 'temperatureSensor' part of global actor 'MainActor'
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 47 |             public static let powerSwitch          = Feature(rawValue: 1 << 9)
 48 |             public static let dectRepeater         = Feature(rawValue: 1 << 10)
/Users/admin/builder/spi-builder-workspace/Sources/Model/SmartHomeDevice.swift:47:31: warning: static property 'powerSwitch' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |     public struct SmartHomeDevice: XMLMappable  {
 34 |
 35 |         public struct Feature: OptionSet {
    |                       `- note: consider making struct 'Feature' conform to the 'Sendable' protocol
 36 |
 37 |             public let rawValue: Int
    :
 45 |             public static let energySensor         = Feature(rawValue: 1 << 7)
 46 |             public static let temperatureSensor    = Feature(rawValue: 1 << 8)
 47 |             public static let powerSwitch          = Feature(rawValue: 1 << 9)
    |                               |- warning: static property 'powerSwitch' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: add '@MainActor' to make static property 'powerSwitch' part of global actor 'MainActor'
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 48 |             public static let dectRepeater         = Feature(rawValue: 1 << 10)
 49 |
/Users/admin/builder/spi-builder-workspace/Sources/Model/SmartHomeDevice.swift:48:31: warning: static property 'dectRepeater' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |     public struct SmartHomeDevice: XMLMappable  {
 34 |
 35 |         public struct Feature: OptionSet {
    |                       `- note: consider making struct 'Feature' conform to the 'Sendable' protocol
 36 |
 37 |             public let rawValue: Int
    :
 46 |             public static let temperatureSensor    = Feature(rawValue: 1 << 8)
 47 |             public static let powerSwitch          = Feature(rawValue: 1 << 9)
 48 |             public static let dectRepeater         = Feature(rawValue: 1 << 10)
    |                               |- warning: static property 'dectRepeater' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: add '@MainActor' to make static property 'dectRepeater' part of global actor 'MainActor'
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 49 |
 50 |         }
[53/58] Compiling FritzBoxKit XMLFloatTransform.swift
[54/58] Compiling FritzBoxKit FritzBox.Error.swift
/Users/admin/builder/spi-builder-workspace/Sources/FritzBoxKit+ResourceLoading.swift:115:17: warning: capture of 'completion' with non-sendable type '(Result<A, any Error>) -> Void' in a '@Sendable' closure
113 |
114 |             guard result.isSuccessfulOperation else {
115 |                 completion(.failure(RequestError.invalidHTTPStatus(result.rawValue)))
    |                 |- warning: capture of 'completion' with non-sendable type '(Result<A, any Error>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
116 |                 return
117 |             }
/Users/admin/builder/spi-builder-workspace/Sources/FritzBoxKit+ResourceLoading.swift:125:41: warning: capture of 'resource' with non-sendable type 'FritzBox.Resource<A>' in a '@Sendable' closure
 69 |     }
 70 |
 71 |     struct Resource<T> {
    |            `- note: consider making generic struct 'Resource' conform to the 'Sendable' protocol
 72 |         typealias ParseBlock = (_ xmlString: String) throws -> T
 73 |
    :
123 |
124 |             do {
125 |                 completion(.success(try resource.parse(xmlString)))
    |                                         `- warning: capture of 'resource' with non-sendable type 'FritzBox.Resource<A>' in a '@Sendable' closure
126 |             } catch (let error) {
127 |                 completion(.failure(error))
[55/58] Compiling FritzBoxKit FritzBoxKit+ResourceLoading.swift
/Users/admin/builder/spi-builder-workspace/Sources/FritzBoxKit+ResourceLoading.swift:115:17: warning: capture of 'completion' with non-sendable type '(Result<A, any Error>) -> Void' in a '@Sendable' closure
113 |
114 |             guard result.isSuccessfulOperation else {
115 |                 completion(.failure(RequestError.invalidHTTPStatus(result.rawValue)))
    |                 |- warning: capture of 'completion' with non-sendable type '(Result<A, any Error>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
116 |                 return
117 |             }
/Users/admin/builder/spi-builder-workspace/Sources/FritzBoxKit+ResourceLoading.swift:125:41: warning: capture of 'resource' with non-sendable type 'FritzBox.Resource<A>' in a '@Sendable' closure
 69 |     }
 70 |
 71 |     struct Resource<T> {
    |            `- note: consider making generic struct 'Resource' conform to the 'Sendable' protocol
 72 |         typealias ParseBlock = (_ xmlString: String) throws -> T
 73 |
    :
123 |
124 |             do {
125 |                 completion(.success(try resource.parse(xmlString)))
    |                                         `- warning: capture of 'resource' with non-sendable type 'FritzBox.Resource<A>' in a '@Sendable' closure
126 |             } catch (let error) {
127 |                 completion(.failure(error))
[56/58] Emitting module FritzBoxKit
/Users/admin/builder/spi-builder-workspace/Sources/FritzBoxKit.swift:32:12: warning: non-final class 'FritzBox' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 30 | import AEXML
 31 |
 32 | open class FritzBox: NSObject {
    |            `- warning: non-final class 'FritzBox' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 33 |
 34 |     public typealias LoginCompletionBlock = (Result<SessionInfo, Error>) -> ()
/Users/admin/builder/spi-builder-workspace/Sources/FritzBoxKit.swift:40:9: warning: stored property 'host' of 'Sendable'-conforming class 'FritzBox' is mutable; this is an error in the Swift 6 language mode
 38 |
 39 |
 40 |     var host: String
    |         `- warning: stored property 'host' of 'Sendable'-conforming class 'FritzBox' is mutable; this is an error in the Swift 6 language mode
 41 |
 42 |     var userName: String?
/Users/admin/builder/spi-builder-workspace/Sources/Model/SmartHomeDevice.swift:43:31: warning: static property 'alarmSensor' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |     public struct SmartHomeDevice: XMLMappable  {
 34 |
 35 |         public struct Feature: OptionSet {
    |                       `- note: consider making struct 'Feature' conform to the 'Sendable' protocol
 36 |
 37 |             public let rawValue: Int
    :
 41 |             }
 42 |
 43 |             public static let alarmSensor          = Feature(rawValue: 1 << 4)
    |                               |- warning: static property 'alarmSensor' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: add '@MainActor' to make static property 'alarmSensor' part of global actor 'MainActor'
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |             public static let radiatorRegulator    = Feature(rawValue: 1 << 6)
 45 |             public static let energySensor         = Feature(rawValue: 1 << 7)
/Users/admin/builder/spi-builder-workspace/Sources/Model/SmartHomeDevice.swift:44:31: warning: static property 'radiatorRegulator' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |     public struct SmartHomeDevice: XMLMappable  {
 34 |
 35 |         public struct Feature: OptionSet {
    |                       `- note: consider making struct 'Feature' conform to the 'Sendable' protocol
 36 |
 37 |             public let rawValue: Int
    :
 42 |
 43 |             public static let alarmSensor          = Feature(rawValue: 1 << 4)
 44 |             public static let radiatorRegulator    = Feature(rawValue: 1 << 6)
    |                               |- warning: static property 'radiatorRegulator' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: add '@MainActor' to make static property 'radiatorRegulator' part of global actor 'MainActor'
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 45 |             public static let energySensor         = Feature(rawValue: 1 << 7)
 46 |             public static let temperatureSensor    = Feature(rawValue: 1 << 8)
/Users/admin/builder/spi-builder-workspace/Sources/Model/SmartHomeDevice.swift:45:31: warning: static property 'energySensor' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |     public struct SmartHomeDevice: XMLMappable  {
 34 |
 35 |         public struct Feature: OptionSet {
    |                       `- note: consider making struct 'Feature' conform to the 'Sendable' protocol
 36 |
 37 |             public let rawValue: Int
    :
 43 |             public static let alarmSensor          = Feature(rawValue: 1 << 4)
 44 |             public static let radiatorRegulator    = Feature(rawValue: 1 << 6)
 45 |             public static let energySensor         = Feature(rawValue: 1 << 7)
    |                               |- warning: static property 'energySensor' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: add '@MainActor' to make static property 'energySensor' part of global actor 'MainActor'
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 46 |             public static let temperatureSensor    = Feature(rawValue: 1 << 8)
 47 |             public static let powerSwitch          = Feature(rawValue: 1 << 9)
/Users/admin/builder/spi-builder-workspace/Sources/Model/SmartHomeDevice.swift:46:31: warning: static property 'temperatureSensor' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |     public struct SmartHomeDevice: XMLMappable  {
 34 |
 35 |         public struct Feature: OptionSet {
    |                       `- note: consider making struct 'Feature' conform to the 'Sendable' protocol
 36 |
 37 |             public let rawValue: Int
    :
 44 |             public static let radiatorRegulator    = Feature(rawValue: 1 << 6)
 45 |             public static let energySensor         = Feature(rawValue: 1 << 7)
 46 |             public static let temperatureSensor    = Feature(rawValue: 1 << 8)
    |                               |- warning: static property 'temperatureSensor' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: add '@MainActor' to make static property 'temperatureSensor' part of global actor 'MainActor'
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 47 |             public static let powerSwitch          = Feature(rawValue: 1 << 9)
 48 |             public static let dectRepeater         = Feature(rawValue: 1 << 10)
/Users/admin/builder/spi-builder-workspace/Sources/Model/SmartHomeDevice.swift:47:31: warning: static property 'powerSwitch' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |     public struct SmartHomeDevice: XMLMappable  {
 34 |
 35 |         public struct Feature: OptionSet {
    |                       `- note: consider making struct 'Feature' conform to the 'Sendable' protocol
 36 |
 37 |             public let rawValue: Int
    :
 45 |             public static let energySensor         = Feature(rawValue: 1 << 7)
 46 |             public static let temperatureSensor    = Feature(rawValue: 1 << 8)
 47 |             public static let powerSwitch          = Feature(rawValue: 1 << 9)
    |                               |- warning: static property 'powerSwitch' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: add '@MainActor' to make static property 'powerSwitch' part of global actor 'MainActor'
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 48 |             public static let dectRepeater         = Feature(rawValue: 1 << 10)
 49 |
/Users/admin/builder/spi-builder-workspace/Sources/Model/SmartHomeDevice.swift:48:31: warning: static property 'dectRepeater' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |     public struct SmartHomeDevice: XMLMappable  {
 34 |
 35 |         public struct Feature: OptionSet {
    |                       `- note: consider making struct 'Feature' conform to the 'Sendable' protocol
 36 |
 37 |             public let rawValue: Int
    :
 46 |             public static let temperatureSensor    = Feature(rawValue: 1 << 8)
 47 |             public static let powerSwitch          = Feature(rawValue: 1 << 9)
 48 |             public static let dectRepeater         = Feature(rawValue: 1 << 10)
    |                               |- warning: static property 'dectRepeater' is not concurrency-safe because non-'Sendable' type 'FritzBox.SmartHomeDevice.Feature' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: add '@MainActor' to make static property 'dectRepeater' part of global actor 'MainActor'
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 49 |
 50 |         }
[57/58] Compiling FritzBoxKit FritzBoxKit.swift
/Users/admin/builder/spi-builder-workspace/Sources/FritzBoxKit.swift:32:12: warning: non-final class 'FritzBox' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 30 | import AEXML
 31 |
 32 | open class FritzBox: NSObject {
    |            `- warning: non-final class 'FritzBox' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 33 |
 34 |     public typealias LoginCompletionBlock = (Result<SessionInfo, Error>) -> ()
/Users/admin/builder/spi-builder-workspace/Sources/FritzBoxKit.swift:40:9: warning: stored property 'host' of 'Sendable'-conforming class 'FritzBox' is mutable; this is an error in the Swift 6 language mode
 38 |
 39 |
 40 |     var host: String
    |         `- warning: stored property 'host' of 'Sendable'-conforming class 'FritzBox' is mutable; this is an error in the Swift 6 language mode
 41 |
 42 |     var userName: String?
/Users/admin/builder/spi-builder-workspace/Sources/Helper.swift:39:17: warning: 'CC_MD5' was deprecated in macOS 10.15: This function is cryptographically broken and should not be used in security contexts. Clients should migrate to SHA256 (or stronger).
37 |             if let messageBytesBaseAddress = messageBytes.baseAddress, let digestBytesBlindMemory = digestBytes.bindMemory(to: UInt8.self).baseAddress {
38 |                 let messageLength = CC_LONG(data.count)
39 |                 CC_MD5(messageBytesBaseAddress, messageLength, digestBytesBlindMemory)
   |                 `- warning: 'CC_MD5' was deprecated in macOS 10.15: This function is cryptographically broken and should not be used in security contexts. Clients should migrate to SHA256 (or stronger).
40 |             }
41 |             return 0
[58/58] Compiling FritzBoxKit Helper.swift
/Users/admin/builder/spi-builder-workspace/Sources/FritzBoxKit.swift:32:12: warning: non-final class 'FritzBox' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 30 | import AEXML
 31 |
 32 | open class FritzBox: NSObject {
    |            `- warning: non-final class 'FritzBox' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 33 |
 34 |     public typealias LoginCompletionBlock = (Result<SessionInfo, Error>) -> ()
/Users/admin/builder/spi-builder-workspace/Sources/FritzBoxKit.swift:40:9: warning: stored property 'host' of 'Sendable'-conforming class 'FritzBox' is mutable; this is an error in the Swift 6 language mode
 38 |
 39 |
 40 |     var host: String
    |         `- warning: stored property 'host' of 'Sendable'-conforming class 'FritzBox' is mutable; this is an error in the Swift 6 language mode
 41 |
 42 |     var userName: String?
/Users/admin/builder/spi-builder-workspace/Sources/Helper.swift:39:17: warning: 'CC_MD5' was deprecated in macOS 10.15: This function is cryptographically broken and should not be used in security contexts. Clients should migrate to SHA256 (or stronger).
37 |             if let messageBytesBaseAddress = messageBytes.baseAddress, let digestBytesBlindMemory = digestBytes.bindMemory(to: UInt8.self).baseAddress {
38 |                 let messageLength = CC_LONG(data.count)
39 |                 CC_MD5(messageBytesBaseAddress, messageLength, digestBytesBlindMemory)
   |                 `- warning: 'CC_MD5' was deprecated in macOS 10.15: This function is cryptographically broken and should not be used in security contexts. Clients should migrate to SHA256 (or stronger).
40 |             }
41 |             return 0
Build complete! (11.63s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "aexml",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.3.3",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/tadija/AEXML.git"
    },
    {
      "identity" : "xmlmapper",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/gcharita/XMLMapper.git"
    }
  ],
  "manifest_display_name" : "FritzBoxKit",
  "name" : "FritzBoxKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "FritzBoxKit",
      "targets" : [
        "FritzBoxKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FritzBoxKitTests",
      "module_type" : "SwiftTarget",
      "name" : "FritzBoxKitTests",
      "path" : "Tests",
      "product_dependencies" : [
        "AEXML"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/TestResources/devices.xml",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Fritz_Box_KitTests.swift"
      ],
      "target_dependencies" : [
        "FritzBoxKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FritzBoxKit",
      "module_type" : "SwiftTarget",
      "name" : "FritzBoxKit",
      "path" : "Sources",
      "product_dependencies" : [
        "AEXML",
        "XMLMapper"
      ],
      "product_memberships" : [
        "FritzBoxKit"
      ],
      "sources" : [
        "FritzBox.Error.swift",
        "FritzBoxKit+ResourceLoading.swift",
        "FritzBoxKit.swift",
        "Helper.swift",
        "Model/PowerMeter.swift",
        "Model/PowerSwitch.swift",
        "Model/RadiatorRegulator.swift",
        "Model/SessionInfo.swift",
        "Model/SmartHomeDevice.swift",
        "Model/Temperature.swift",
        "Model/XMLBoolTransform.swift",
        "Model/XMLFloatTransform.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.