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

Failed to build HueEntertainmentSwift, reference main (3124c6), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 15:42:27 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/nakajima/HueEntertainmentSwift.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/nakajima/HueEntertainmentSwift
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 3124c6f bump
Cloned https://github.com/nakajima/HueEntertainmentSwift.git
Revision (git rev-parse @):
3124c6f4724aad5b5006b3d72d1022457584e5df
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/nakajima/HueEntertainmentSwift.git at main
Fetching https://github.com/apple/swift-docc-plugin.git
[1/2038] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-docc-plugin.git from cache (1.26s)
Computing version for https://github.com/apple/swift-docc-plugin.git
Computed https://github.com/apple/swift-docc-plugin.git at 1.0.0 (0.68s)
Creating working copy for https://github.com/apple/swift-docc-plugin.git
Working copy of https://github.com/apple/swift-docc-plugin.git resolved at 1.0.0
========================================
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": "hueentertainmentswift",
      "name": "HueEntertainmentSwift",
      "url": "https://github.com/nakajima/HueEntertainmentSwift.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/HueEntertainmentSwift",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/nakajima/HueEntertainmentSwift.git
[1/525] Fetching hueentertainmentswift
Fetched https://github.com/nakajima/HueEntertainmentSwift.git from cache (0.79s)
Creating working copy for https://github.com/nakajima/HueEntertainmentSwift.git
Working copy of https://github.com/nakajima/HueEntertainmentSwift.git resolved at main (3124c6f)
warning: '.resolve-product-dependencies': dependency 'hueentertainmentswift' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/nakajima/HueEntertainmentSwift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
[1/1] Compiling plugin Swift-DocC
[2/2] Compiling plugin Swift-DocC Preview
Building for debugging...
[2/4] Write sources
[3/4] Write swift-version--7754E27361AE5C74.txt
[5/16] Compiling HueEntertainmentSwift JSONTypes.swift
[6/17] Compiling HueEntertainmentSwift HueSession+Settings.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Settings.swift:17:13: warning: static property 'settings' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 | 	}
16 |
17 | 	static var settings = Settings()
   |             |- warning: static property 'settings' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'settings' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: annotate 'settings' with '@MainActor' if property should only be accessed from the main actor
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 | }
19 |
[7/17] Compiling HueEntertainmentSwift HueSession+HTTP.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+HTTP.swift:53:31: error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
 9 |
10 | @available(iOS 14.0, *)
11 | extension HueSession {
   | `- note: add @available attribute to enclosing extension
12 | 	struct DummyCodable: Codable {}
13 |
   :
34 | 	}
35 |
36 | 	func makeRawRequest(method: String, path: String, configuration: ((inout URLRequest) async throws -> Void)? = nil) async throws -> (Data, URLResponse) {
   |       `- note: add @available attribute to enclosing instance method
37 | 		guard let ip = ip else {
38 | 			throw HueError.requestError("NO IP")
   :
51 | 		}
52 |
53 | 		return try await urlsession.data(for: request)
   |                               |- error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
   |                               `- note: add 'if #available' version check
54 | 	}
55 |
[8/17] Compiling HueEntertainmentSwift XYBrightness.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/XYBrightness.swift:80:23: error: cannot find type 'UIColor' in scope
 78 |
 79 | 	@available(iOS 14, *)
 80 | 	public init(uiColor: UIColor, forcedBrightness: Double? = nil) {
    |                       `- error: cannot find type 'UIColor' in scope
 81 | 		self.gamut = GamutC
 82 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/XYBrightness.swift:97:21: error: 'Color' is only available in macOS 10.15 or newer
 15 | /// Handles coversions from Swift ``UIColor`` and ``SwiftUI.Color`` to the XY system used by Hue.
 16 | @available(iOS 13.0, *)
 17 | public struct XYBrightness {
    |               `- note: add @available attribute to enclosing struct
 18 | 	/// Determines what set of colors are available, depending on what devices you have
 19 | 	public struct Gamut {
    :
 95 |
 96 | 	@available(iOS 14.0, *)
 97 | 	public init(color: Color, forcedBrightness: Double? = nil) {
    |         |           `- error: 'Color' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing initializer
 98 | 		self.init(uiColor: UIColor(color), forcedBrightness: forcedBrightness)
 99 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/XYBrightness.swift:98:22: error: cannot find 'UIColor' in scope
 96 | 	@available(iOS 14.0, *)
 97 | 	public init(color: Color, forcedBrightness: Double? = nil) {
 98 | 		self.init(uiColor: UIColor(color), forcedBrightness: forcedBrightness)
    |                      `- error: cannot find 'UIColor' in scope
 99 | 	}
100 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/XYBrightness.swift:98:12: error: incorrect argument label in call (have 'uiColor:forcedBrightness:', expected 'color:forcedBrightness:')
 96 | 	@available(iOS 14.0, *)
 97 | 	public init(color: Color, forcedBrightness: Double? = nil) {
 98 | 		self.init(uiColor: UIColor(color), forcedBrightness: forcedBrightness)
    |            `- error: incorrect argument label in call (have 'uiColor:forcedBrightness:', expected 'color:forcedBrightness:')
 99 | 	}
100 |
[9/17] Compiling HueEntertainmentSwift String.swift
[10/17] Compiling HueEntertainmentSwift Message.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Message.swift:15:29: error: 'Color' is only available in macOS 10.15 or newer
11 | /// A UDP message used by the hue entertainment API (v2).
12 | @available(iOS 14.0, *)
13 | public struct Message {
   |               `- note: add @available attribute to enclosing struct
14 | 	var area: HueEntertainmentArea
15 | 	var channelColors: [UInt8: Color]
   |                             `- error: 'Color' is only available in macOS 10.15 or newer
16 | 	var forcedBrightness: Double?
17 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Message.swift:26:59: error: 'Color' is only available in macOS 10.15 or newer
11 | /// A UDP message used by the hue entertainment API (v2).
12 | @available(iOS 14.0, *)
13 | public struct Message {
   |               `- note: add @available attribute to enclosing struct
14 | 	var area: HueEntertainmentArea
15 | 	var channelColors: [UInt8: Color]
   :
24 | 	}
25 |
26 | 	init(area: HueEntertainmentArea, channelColors: [UInt8 : Color], forcedBrightness: Double? = nil) {
   |  |                                                        `- error: 'Color' is only available in macOS 10.15 or newer
   |  `- note: add @available attribute to enclosing initializer
27 | 		self.area = area
28 | 		self.channelColors = channelColors
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/XYBrightness.swift:80:23: error: cannot find type 'UIColor' in scope
 78 |
 79 | 	@available(iOS 14, *)
 80 | 	public init(uiColor: UIColor, forcedBrightness: Double? = nil) {
    |                       `- error: cannot find type 'UIColor' in scope
 81 | 		self.gamut = GamutC
 82 |
[11/17] Compiling HueEntertainmentSwift HueSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/HueSession.swift:45:25: error: 'NWConnection' is only available in macOS 10.14 or newer
 13 |  */
 14 | @available(iOS 14.0, *)
 15 | public class HueSession: NSObject, URLSessionDelegate {
    |              `- note: add @available attribute to enclosing class
 16 | 	/**
 17 | 	 The local network IP of your bridge. Can be set by calling ``findIP()``.
    :
 43 |
 44 | 	/// The connection used to send UDP messages to the bridge.
 45 | 	public var connection: NWConnection?
    |                         `- error: 'NWConnection' is only available in macOS 10.14 or newer
 46 |
 47 | 	/// The entertainment area (configured in the Hue app) to be controlled
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/HueSession.swift:15:14: warning: non-final class 'HueSession' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 13 |  */
 14 | @available(iOS 14.0, *)
 15 | public class HueSession: NSObject, URLSessionDelegate {
    |              `- warning: non-final class 'HueSession' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 16 | 	/**
 17 | 	 The local network IP of your bridge. Can be set by calling ``findIP()``.
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/HueSession.swift:21:13: warning: stored property 'ip' of 'Sendable'-conforming class 'HueSession' is mutable; this is an error in the Swift 6 language mode
 19 | 	 > Tip: It's best to save this value instead of needing to look it up each time.
 20 | 	 */
 21 | 	public var ip: String?
    |             `- warning: stored property 'ip' of 'Sendable'-conforming class 'HueSession' is mutable; this is an error in the Swift 6 language mode
 22 |
 23 | 	/**
error: emit-module command failed with exit code 1 (use -v to see invocation)
[12/17] Emitting module HueEntertainmentSwift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/AreaUpdate.swift:13:29: error: 'Color' is only available in macOS 10.15 or newer
10 |
11 | @available(iOS 14.0, *)
12 | struct AreaUpdate {
   |        `- note: add @available attribute to enclosing struct
13 | 	var channelColors: [UInt8: Color]
   |                             `- error: 'Color' is only available in macOS 10.15 or newer
14 | 	var animation: Animation
15 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Control.swift:21:19: error: 'Color' is only available in macOS 10.15 or newer
11 |
12 | @available(iOS 14.0, *)
13 | public extension HueSession {
   |        `- note: add @available attribute to enclosing extension
14 | 	/**
15 | 	 Turns on lights.
   :
19 | 	 */
20 |
21 | 	func on(colors: [Color], ramp: Double = 0) {
   |       |           `- error: 'Color' is only available in macOS 10.15 or newer
   |       `- note: add @available attribute to enclosing instance method
22 | 		guard let area = area, let channels = area.channels else {
23 | 			return
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Settings.swift:17:13: warning: static property 'settings' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 | 	}
16 |
17 | 	static var settings = Settings()
   |             |- warning: static property 'settings' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'settings' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: annotate 'settings' with '@MainActor' if property should only be accessed from the main actor
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 | }
19 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/HueSession.swift:45:25: error: 'NWConnection' is only available in macOS 10.14 or newer
 13 |  */
 14 | @available(iOS 14.0, *)
 15 | public class HueSession: NSObject, URLSessionDelegate {
    |              `- note: add @available attribute to enclosing class
 16 | 	/**
 17 | 	 The local network IP of your bridge. Can be set by calling ``findIP()``.
    :
 43 |
 44 | 	/// The connection used to send UDP messages to the bridge.
 45 | 	public var connection: NWConnection?
    |                         `- error: 'NWConnection' is only available in macOS 10.14 or newer
 46 |
 47 | 	/// The entertainment area (configured in the Hue app) to be controlled
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/HueSession.swift:15:14: warning: non-final class 'HueSession' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 13 |  */
 14 | @available(iOS 14.0, *)
 15 | public class HueSession: NSObject, URLSessionDelegate {
    |              `- warning: non-final class 'HueSession' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 16 | 	/**
 17 | 	 The local network IP of your bridge. Can be set by calling ``findIP()``.
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/HueSession.swift:21:13: warning: stored property 'ip' of 'Sendable'-conforming class 'HueSession' is mutable; this is an error in the Swift 6 language mode
 19 | 	 > Tip: It's best to save this value instead of needing to look it up each time.
 20 | 	 */
 21 | 	public var ip: String?
    |             `- warning: stored property 'ip' of 'Sendable'-conforming class 'HueSession' is mutable; this is an error in the Swift 6 language mode
 22 |
 23 | 	/**
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Message.swift:15:29: error: 'Color' is only available in macOS 10.15 or newer
11 | /// A UDP message used by the hue entertainment API (v2).
12 | @available(iOS 14.0, *)
13 | public struct Message {
   |               `- note: add @available attribute to enclosing struct
14 | 	var area: HueEntertainmentArea
15 | 	var channelColors: [UInt8: Color]
   |                             `- error: 'Color' is only available in macOS 10.15 or newer
16 | 	var forcedBrightness: Double?
17 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Message.swift:26:59: error: 'Color' is only available in macOS 10.15 or newer
11 | /// A UDP message used by the hue entertainment API (v2).
12 | @available(iOS 14.0, *)
13 | public struct Message {
   |               `- note: add @available attribute to enclosing struct
14 | 	var area: HueEntertainmentArea
15 | 	var channelColors: [UInt8: Color]
   :
24 | 	}
25 |
26 | 	init(area: HueEntertainmentArea, channelColors: [UInt8 : Color], forcedBrightness: Double? = nil) {
   |  |                                                        `- error: 'Color' is only available in macOS 10.15 or newer
   |  `- note: add @available attribute to enclosing initializer
27 | 		self.area = area
28 | 		self.channelColors = channelColors
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/XYBrightness.swift:80:23: error: cannot find type 'UIColor' in scope
 78 |
 79 | 	@available(iOS 14, *)
 80 | 	public init(uiColor: UIColor, forcedBrightness: Double? = nil) {
    |                       `- error: cannot find type 'UIColor' in scope
 81 | 		self.gamut = GamutC
 82 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/XYBrightness.swift:97:21: error: 'Color' is only available in macOS 10.15 or newer
 15 | /// Handles coversions from Swift ``UIColor`` and ``SwiftUI.Color`` to the XY system used by Hue.
 16 | @available(iOS 13.0, *)
 17 | public struct XYBrightness {
    |               `- note: add @available attribute to enclosing struct
 18 | 	/// Determines what set of colors are available, depending on what devices you have
 19 | 	public struct Gamut {
    :
 95 |
 96 | 	@available(iOS 14.0, *)
 97 | 	public init(color: Color, forcedBrightness: Double? = nil) {
    |         |           `- error: 'Color' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing initializer
 98 | 		self.init(uiColor: UIColor(color), forcedBrightness: forcedBrightness)
 99 | 	}
[13/17] Compiling HueEntertainmentSwift HueSession+Animation.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:36: error: 'IPv4Address' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                    |- error: 'IPv4Address' is only available in macOS 10.14 or newer
    |                                    `- note: add 'if #available' version check
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:28:17: error: 'NWProtocolTLS' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
 27 |
 28 | 		let options = NWProtocolTLS.Options()
    |                 |- error: 'NWProtocolTLS' is only available in macOS 10.14 or newer
    |                 `- note: add 'if #available' version check
 29 |
 30 | 		let clientKeyBytes = clientKey.hexToBytes
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:34:3: error: 'sec_protocol_options_append_tls_ciphersuite' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 32 | 		let pskIdentity = appID.data(using: .utf8)!.withUnsafeBytes { DispatchData(bytes: $0) } as __DispatchData
 33 |
 34 | 		sec_protocol_options_append_tls_ciphersuite(options.securityProtocolOptions, tls_ciphersuite_t(rawValue: TLS_PSK_WITH_AES_128_GCM_SHA256)!)
    |   |- error: 'sec_protocol_options_append_tls_ciphersuite' is only available in macOS 10.15 or newer
    |   `- note: add 'if #available' version check
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:35:3: error: 'sec_protocol_options_add_pre_shared_key' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 33 |
 34 | 		sec_protocol_options_append_tls_ciphersuite(options.securityProtocolOptions, tls_ciphersuite_t(rawValue: TLS_PSK_WITH_AES_128_GCM_SHA256)!)
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
    |   |- error: 'sec_protocol_options_add_pre_shared_key' is only available in macOS 10.14 or newer
    |   `- note: add 'if #available' version check
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:36:3: error: 'sec_protocol_options_set_min_tls_protocol_version' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 34 | 		sec_protocol_options_append_tls_ciphersuite(options.securityProtocolOptions, tls_ciphersuite_t(rawValue: TLS_PSK_WITH_AES_128_GCM_SHA256)!)
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
    |   |- error: 'sec_protocol_options_set_min_tls_protocol_version' is only available in macOS 10.15 or newer
    |   `- note: add 'if #available' version check
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 38 | 		sec_protocol_options_set_verify_block(options.securityProtocolOptions, { (_: sec_protocol_metadata_t, _: sec_trust_t, complete: @escaping sec_protocol_verify_complete_t) in
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:37:3: error: 'sec_protocol_options_set_max_tls_protocol_version' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
    |   |- error: 'sec_protocol_options_set_max_tls_protocol_version' is only available in macOS 10.15 or newer
    |   `- note: add 'if #available' version check
 38 | 		sec_protocol_options_set_verify_block(options.securityProtocolOptions, { (_: sec_protocol_metadata_t, _: sec_trust_t, complete: @escaping sec_protocol_verify_complete_t) in
 39 | 			complete(true)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:38:3: error: 'sec_protocol_options_set_verify_block' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 38 | 		sec_protocol_options_set_verify_block(options.securityProtocolOptions, { (_: sec_protocol_metadata_t, _: sec_trust_t, complete: @escaping sec_protocol_verify_complete_t) in
    |   |- error: 'sec_protocol_options_set_verify_block' is only available in macOS 10.14 or newer
    |   `- note: add 'if #available' version check
 39 | 			complete(true)
 40 | 		}, queue)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:42:20: error: 'NWConnection' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 40 | 		}, queue)
 41 |
 42 | 		let connection = NWConnection(host: NWEndpoint.Host.ipv4(address), port: 2100, using: .init(dtls: options))
    |                    |- error: 'NWConnection' is only available in macOS 10.14 or newer
    |                    `- note: add 'if #available' version check
 43 |
 44 | 		connection.stateUpdateHandler = { [weak self] state in
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:42:39: error: 'NWEndpoint' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 40 | 		}, queue)
 41 |
 42 | 		let connection = NWConnection(host: NWEndpoint.Host.ipv4(address), port: 2100, using: .init(dtls: options))
    |                                       |- error: 'NWEndpoint' is only available in macOS 10.14 or newer
    |                                       `- note: add 'if #available' version check
 43 |
 44 | 		connection.stateUpdateHandler = { [weak self] state in
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:49:4: warning: switch must be exhaustive; this is an error in the Swift 6 language mode
 47 | 			}
 48 |
 49 | 			switch state {
    |    |- warning: switch must be exhaustive; this is an error in the Swift 6 language mode
    |    |- note: add missing case: '.setup'
    |    |- note: add missing case: '.waiting(_)'
    |    `- note: add missing case: '.preparing'
 50 | 			case .ready:
 51 | 				self.connection = connection
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:13: warning: variable 'ip' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |             `- warning: variable 'ip' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:26: warning: variable 'address' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                          `- warning: variable 'address' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:57: warning: variable 'clientKey' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                                         `- warning: variable 'clientKey' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:89: warning: variable 'appID' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                                                                         `- warning: variable 'appID' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:113: warning: variable 'username' was never used; consider replacing with '_' or removing it
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                                                                                                 `- warning: variable 'username' was never used; consider replacing with '_' or removing it
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:54:21: warning: immutable value 'err' was never used; consider replacing with '_' or removing it
 52 | 			case .cancelled:
 53 | 				self.connection = nil
 54 | 			case let .failed(err): connection.cancel()
    |                     `- warning: immutable value 'err' was never used; consider replacing with '_' or removing it
 55 | 			@unknown default:
 56 | 				print("??")
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:69:40: error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
    :
 65 | 	 of calling this repeatedly, as you can run into rate-limiting issues.
 66 | 	 */
 67 | 	func findIP() async throws {
    |       `- note: add @available attribute to enclosing instance method
 68 | 		let url = URL(string: "https://discovery.meethue.com")!
 69 | 		let (data, _) = try await urlsession.data(from: url)
    |                                        |- error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
    |                                        `- note: add 'if #available' version check
 70 | 		let bridgeResponse = try JSONDecoder().decode([HueBridgeResponse].self, from: data)
 71 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:89:41: error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
    :
 80 | 	 Helper to see if bridge is accessible.
 81 | 	 */
 82 | 	func check() async throws -> Bool {
    |       `- note: add @available attribute to enclosing instance method
 83 | 		guard let ip = ip else {
 84 | 			return false
    :
 87 | 		let url = URL(string: "https://\(ip)/api/0/config")!
 88 | 		do {
 89 | 			let (data, _) = try await urlsession.data(from: url)
    |                                         |- error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
    |                                         `- note: add 'if #available' version check
 90 | 			_ = try JSONDecoder().decode(HueBridgeCheck.self, from: data)
 91 | 		} catch {
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:131:15: error: 'value(forHTTPHeaderField:)' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
    :
102 | 	 > Important: This method requires the user to press the link button on their Hue bridge. If the link button has not been pressed, a ``linkButtonNotPressedError`` error will be thrown.
103 | 	 */
104 | 	func login(device: String) async throws {
    |       `- note: add @available attribute to enclosing instance method
105 | 		let bridgeResponse: [BridgeKeyResponse]? = try await post("api", data: BridgeKeyRequest(devicetype: device, generateclientkey: true))
106 |
    :
129 |
130 | 		let res = response as! HTTPURLResponse
131 | 		appID = res.value(forHTTPHeaderField: "hue-application-id")
    |               |- error: 'value(forHTTPHeaderField:)' is only available in macOS 10.15 or newer
    |               `- note: add 'if #available' version check
132 | 	}
133 | }
[14/17] Compiling HueEntertainmentSwift HueSession+Auth.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:36: error: 'IPv4Address' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                    |- error: 'IPv4Address' is only available in macOS 10.14 or newer
    |                                    `- note: add 'if #available' version check
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:28:17: error: 'NWProtocolTLS' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
 27 |
 28 | 		let options = NWProtocolTLS.Options()
    |                 |- error: 'NWProtocolTLS' is only available in macOS 10.14 or newer
    |                 `- note: add 'if #available' version check
 29 |
 30 | 		let clientKeyBytes = clientKey.hexToBytes
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:34:3: error: 'sec_protocol_options_append_tls_ciphersuite' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 32 | 		let pskIdentity = appID.data(using: .utf8)!.withUnsafeBytes { DispatchData(bytes: $0) } as __DispatchData
 33 |
 34 | 		sec_protocol_options_append_tls_ciphersuite(options.securityProtocolOptions, tls_ciphersuite_t(rawValue: TLS_PSK_WITH_AES_128_GCM_SHA256)!)
    |   |- error: 'sec_protocol_options_append_tls_ciphersuite' is only available in macOS 10.15 or newer
    |   `- note: add 'if #available' version check
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:35:3: error: 'sec_protocol_options_add_pre_shared_key' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 33 |
 34 | 		sec_protocol_options_append_tls_ciphersuite(options.securityProtocolOptions, tls_ciphersuite_t(rawValue: TLS_PSK_WITH_AES_128_GCM_SHA256)!)
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
    |   |- error: 'sec_protocol_options_add_pre_shared_key' is only available in macOS 10.14 or newer
    |   `- note: add 'if #available' version check
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:36:3: error: 'sec_protocol_options_set_min_tls_protocol_version' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 34 | 		sec_protocol_options_append_tls_ciphersuite(options.securityProtocolOptions, tls_ciphersuite_t(rawValue: TLS_PSK_WITH_AES_128_GCM_SHA256)!)
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
    |   |- error: 'sec_protocol_options_set_min_tls_protocol_version' is only available in macOS 10.15 or newer
    |   `- note: add 'if #available' version check
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 38 | 		sec_protocol_options_set_verify_block(options.securityProtocolOptions, { (_: sec_protocol_metadata_t, _: sec_trust_t, complete: @escaping sec_protocol_verify_complete_t) in
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:37:3: error: 'sec_protocol_options_set_max_tls_protocol_version' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
    |   |- error: 'sec_protocol_options_set_max_tls_protocol_version' is only available in macOS 10.15 or newer
    |   `- note: add 'if #available' version check
 38 | 		sec_protocol_options_set_verify_block(options.securityProtocolOptions, { (_: sec_protocol_metadata_t, _: sec_trust_t, complete: @escaping sec_protocol_verify_complete_t) in
 39 | 			complete(true)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:38:3: error: 'sec_protocol_options_set_verify_block' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 38 | 		sec_protocol_options_set_verify_block(options.securityProtocolOptions, { (_: sec_protocol_metadata_t, _: sec_trust_t, complete: @escaping sec_protocol_verify_complete_t) in
    |   |- error: 'sec_protocol_options_set_verify_block' is only available in macOS 10.14 or newer
    |   `- note: add 'if #available' version check
 39 | 			complete(true)
 40 | 		}, queue)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:42:20: error: 'NWConnection' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 40 | 		}, queue)
 41 |
 42 | 		let connection = NWConnection(host: NWEndpoint.Host.ipv4(address), port: 2100, using: .init(dtls: options))
    |                    |- error: 'NWConnection' is only available in macOS 10.14 or newer
    |                    `- note: add 'if #available' version check
 43 |
 44 | 		connection.stateUpdateHandler = { [weak self] state in
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:42:39: error: 'NWEndpoint' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add @available attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 40 | 		}, queue)
 41 |
 42 | 		let connection = NWConnection(host: NWEndpoint.Host.ipv4(address), port: 2100, using: .init(dtls: options))
    |                                       |- error: 'NWEndpoint' is only available in macOS 10.14 or newer
    |                                       `- note: add 'if #available' version check
 43 |
 44 | 		connection.stateUpdateHandler = { [weak self] state in
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:49:4: warning: switch must be exhaustive; this is an error in the Swift 6 language mode
 47 | 			}
 48 |
 49 | 			switch state {
    |    |- warning: switch must be exhaustive; this is an error in the Swift 6 language mode
    |    |- note: add missing case: '.setup'
    |    |- note: add missing case: '.waiting(_)'
    |    `- note: add missing case: '.preparing'
 50 | 			case .ready:
 51 | 				self.connection = connection
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:13: warning: variable 'ip' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |             `- warning: variable 'ip' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:26: warning: variable 'address' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                          `- warning: variable 'address' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:57: warning: variable 'clientKey' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                                         `- warning: variable 'clientKey' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:89: warning: variable 'appID' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                                                                         `- warning: variable 'appID' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:113: warning: variable 'username' was never used; consider replacing with '_' or removing it
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                                                                                                 `- warning: variable 'username' was never used; consider replacing with '_' or removing it
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:54:21: warning: immutable value 'err' was never used; consider replacing with '_' or removing it
 52 | 			case .cancelled:
 53 | 				self.connection = nil
 54 | 			case let .failed(err): connection.cancel()
    |                     `- warning: immutable value 'err' was never used; consider replacing with '_' or removing it
 55 | 			@unknown default:
 56 | 				print("??")
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:69:40: error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
    :
 65 | 	 of calling this repeatedly, as you can run into rate-limiting issues.
 66 | 	 */
 67 | 	func findIP() async throws {
    |       `- note: add @available attribute to enclosing instance method
 68 | 		let url = URL(string: "https://discovery.meethue.com")!
 69 | 		let (data, _) = try await urlsession.data(from: url)
    |                                        |- error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
    |                                        `- note: add 'if #available' version check
 70 | 		let bridgeResponse = try JSONDecoder().decode([HueBridgeResponse].self, from: data)
 71 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:89:41: error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
    :
 80 | 	 Helper to see if bridge is accessible.
 81 | 	 */
 82 | 	func check() async throws -> Bool {
    |       `- note: add @available attribute to enclosing instance method
 83 | 		guard let ip = ip else {
 84 | 			return false
    :
 87 | 		let url = URL(string: "https://\(ip)/api/0/config")!
 88 | 		do {
 89 | 			let (data, _) = try await urlsession.data(from: url)
    |                                         |- error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
    |                                         `- note: add 'if #available' version check
 90 | 			_ = try JSONDecoder().decode(HueBridgeCheck.self, from: data)
 91 | 		} catch {
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:131:15: error: 'value(forHTTPHeaderField:)' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add @available attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
    :
102 | 	 > Important: This method requires the user to press the link button on their Hue bridge. If the link button has not been pressed, a ``linkButtonNotPressedError`` error will be thrown.
103 | 	 */
104 | 	func login(device: String) async throws {
    |       `- note: add @available attribute to enclosing instance method
105 | 		let bridgeResponse: [BridgeKeyResponse]? = try await post("api", data: BridgeKeyRequest(devicetype: device, generateclientkey: true))
106 |
    :
129 |
130 | 		let res = response as! HTTPURLResponse
131 | 		appID = res.value(forHTTPHeaderField: "hue-application-id")
    |               |- error: 'value(forHTTPHeaderField:)' is only available in macOS 10.15 or newer
    |               `- note: add 'if #available' version check
132 | 	}
133 | }
[15/17] Compiling HueEntertainmentSwift Animation.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/AreaUpdate.swift:13:29: error: 'Color' is only available in macOS 10.15 or newer
10 |
11 | @available(iOS 14.0, *)
12 | struct AreaUpdate {
   |        `- note: add @available attribute to enclosing struct
13 | 	var channelColors: [UInt8: Color]
   |                             `- error: 'Color' is only available in macOS 10.15 or newer
14 | 	var animation: Animation
15 |
[16/17] Compiling HueEntertainmentSwift AreaUpdate.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/AreaUpdate.swift:13:29: error: 'Color' is only available in macOS 10.15 or newer
10 |
11 | @available(iOS 14.0, *)
12 | struct AreaUpdate {
   |        `- note: add @available attribute to enclosing struct
13 | 	var channelColors: [UInt8: Color]
   |                             `- error: 'Color' is only available in macOS 10.15 or newer
14 | 	var animation: Animation
15 |
[17/17] Compiling HueEntertainmentSwift HueSession+Control.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Control.swift:21:19: error: 'Color' is only available in macOS 10.15 or newer
11 |
12 | @available(iOS 14.0, *)
13 | public extension HueSession {
   |        `- note: add @available attribute to enclosing extension
14 | 	/**
15 | 	 Turns on lights.
   :
19 | 	 */
20 |
21 | 	func on(colors: [Color], ramp: Double = 0) {
   |       |           `- error: 'Color' is only available in macOS 10.15 or newer
   |       `- note: add @available attribute to enclosing instance method
22 | 		guard let area = area, let channels = area.channels else {
23 | 			return
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Control.swift:26:34: error: 'Color' is only available in macOS 10.15 or newer
11 |
12 | @available(iOS 14.0, *)
13 | public extension HueSession {
   |        `- note: add @available attribute to enclosing extension
14 | 	/**
15 | 	 Turns on lights.
   :
19 | 	 */
20 |
21 | 	func on(colors: [Color], ramp: Double = 0) {
   |       `- note: add @available attribute to enclosing instance method
22 | 		guard let area = area, let channels = area.channels else {
23 | 			return
24 | 		}
25 |
26 | 		let colors = colors.isEmpty ? [Color.white] : colors.shuffled()
   |                                  |- error: 'Color' is only available in macOS 10.15 or newer
   |                                  `- note: add 'if #available' version check
27 |
28 | 		var channelColors: [UInt8: Color] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Control.swift:26:40: error: 'white' is only available in macOS 10.15 or newer
11 |
12 | @available(iOS 14.0, *)
13 | public extension HueSession {
   |        `- note: add @available attribute to enclosing extension
14 | 	/**
15 | 	 Turns on lights.
   :
19 | 	 */
20 |
21 | 	func on(colors: [Color], ramp: Double = 0) {
   |       `- note: add @available attribute to enclosing instance method
22 | 		guard let area = area, let channels = area.channels else {
23 | 			return
24 | 		}
25 |
26 | 		let colors = colors.isEmpty ? [Color.white] : colors.shuffled()
   |                                        |- error: 'white' is only available in macOS 10.15 or newer
   |                                        `- note: add 'if #available' version check
27 |
28 | 		var channelColors: [UInt8: Color] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Control.swift:28:30: error: 'Color' is only available in macOS 10.15 or newer
11 |
12 | @available(iOS 14.0, *)
13 | public extension HueSession {
   |        `- note: add @available attribute to enclosing extension
14 | 	/**
15 | 	 Turns on lights.
   :
19 | 	 */
20 |
21 | 	func on(colors: [Color], ramp: Double = 0) {
   |       `- note: add @available attribute to enclosing instance method
22 | 		guard let area = area, let channels = area.channels else {
23 | 			return
   :
26 | 		let colors = colors.isEmpty ? [Color.white] : colors.shuffled()
27 |
28 | 		var channelColors: [UInt8: Color] = [:]
   |                              |- error: 'Color' is only available in macOS 10.15 or newer
   |                              `- note: add 'if #available' version check
29 | 		for (i, channel) in channels.enumerated() {
30 | 			channelColors[channel.channel_id] = colors[i % colors.count]
BUILD FAILURE 6.0 macosSpm