The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Voyager, reference 1.3.0 (bdc759), with Swift 6.3 for macOS (SPM) on 14 Apr 2026 07:42:41 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/bryan-vh/voyager.git
Reference: 1.3.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/bryan-vh/voyager
 * tag               1.3.0      -> FETCH_HEAD
HEAD is now at bdc7594 Add Example app to showcase use in real SwiftUI app
Cloned https://github.com/bryan-vh/voyager.git
Revision (git rev-parse @):
bdc75946f21efb27bf068012ef395c7f2c305da9
SUCCESS checkout https://github.com/bryan-vh/voyager.git at 1.3.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",
  "traits": [
    "default"
  ],
  "dependencies": [
    {
      "identity": "voyager",
      "name": "Voyager",
      "url": "https://github.com/bryan-vh/voyager.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/voyager",
      "traits": [
        "default"
      ],
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/bryan-vh/voyager.git
[1/203] Fetching voyager
Fetched https://github.com/bryan-vh/voyager.git from cache (0.90s)
Creating working copy for https://github.com/bryan-vh/voyager.git
Working copy of https://github.com/bryan-vh/voyager.git resolved at 1.3.0 (bdc7594)
warning: '.resolve-product-dependencies': dependency 'voyager' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/bryan-vh/voyager.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--6988338F2F200930.txt
[3/11] Compiling Voyager Router.swift
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:7:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
 6 |
 7 |     @Published var root: T
   |      `- error: 'Published' is only available in macOS 10.15 or newer
 8 |     @Published var routes: [T]
 9 |     @Published var sheet: T?
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:8:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
 6 |
 7 |     @Published var root: T
 8 |     @Published var routes: [T]
   |      `- error: 'Published' is only available in macOS 10.15 or newer
 9 |     @Published var sheet: T?
10 |     @Published var fullscreenCover: T?
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:9:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
 7 |     @Published var root: T
 8 |     @Published var routes: [T]
 9 |     @Published var sheet: T?
   |      `- error: 'Published' is only available in macOS 10.15 or newer
10 |     @Published var fullscreenCover: T?
11 |     @Published var popover: T?
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:10:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
 8 |     @Published var routes: [T]
 9 |     @Published var sheet: T?
10 |     @Published var fullscreenCover: T?
   |      `- error: 'Published' is only available in macOS 10.15 or newer
11 |     @Published var popover: T?
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:11:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
 9 |     @Published var sheet: T?
10 |     @Published var fullscreenCover: T?
11 |     @Published var popover: T?
   |      `- error: 'Published' is only available in macOS 10.15 or newer
12 |
13 |     var onDismiss: (() -> Void)?
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:3:32: error: 'ObservableObject' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              |                 `- error: 'ObservableObject' is only available in macOS 10.15 or newer
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<T>, T>' to expected argument type 'ReferenceWritableKeyPath<Router<T>, T>'
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<T>, [T]>' to expected argument type 'ReferenceWritableKeyPath<Router<T>, [T]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<T>, T?>' to expected argument type 'ReferenceWritableKeyPath<Router<T>, T?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<T>, T?>' to expected argument type 'ReferenceWritableKeyPath<Router<T>, T?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<T>, T?>' to expected argument type 'ReferenceWritableKeyPath<Router<T>, T?>'
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:19:9: error: setter for 'root' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
16 |     // MARK: - Initializer
17 |
18 |     public init(root: T, deeplinkHandler: DeeplinkHandler<T>? = nil) {
   |            `- note: add '@available' attribute to enclosing initializer
19 |         self.root = root
   |         |- error: setter for 'root' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
20 |         self.routes = []
21 |         self.deeplinkHandler = deeplinkHandler
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:20:9: error: setter for 'routes' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
16 |     // MARK: - Initializer
17 |
18 |     public init(root: T, deeplinkHandler: DeeplinkHandler<T>? = nil) {
   |            `- note: add '@available' attribute to enclosing initializer
19 |         self.root = root
20 |         self.routes = []
   |         |- error: setter for 'routes' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
21 |         self.deeplinkHandler = deeplinkHandler
22 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:27:9: error: setter for 'root' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
24 |     // MARK: -
25 |
26 |     public func updateRoot(_ route: T) {
   |                 `- note: add '@available' attribute to enclosing instance method
27 |         root = route
   |         |- error: setter for 'root' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
28 |         routes.removeAll()
29 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:28:9: error: cannot pass as inout because setter for 'routes' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
24 |     // MARK: -
25 |
26 |     public func updateRoot(_ route: T) {
   |                 `- note: add '@available' attribute to enclosing instance method
27 |         root = route
28 |         routes.removeAll()
   |         |- error: cannot pass as inout because setter for 'routes' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
29 |     }
30 |
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:47:13: error: setter for 'fullscreenCover' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
42 |     }
43 |
44 |     public func dismiss(_ option: PresentationOption? = nil) {
   |                 `- note: add '@available' attribute to enclosing instance method
45 |         switch option {
46 |         case .fullscreenCover:
47 |             fullscreenCover = nil
   |             |- error: setter for 'fullscreenCover' is only available in macOS 10.15 or newer
   |             `- note: add 'if #available' version check
48 |         case .navigation:
49 |             pop()
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:51:13: error: setter for 'popover' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
42 |     }
43 |
44 |     public func dismiss(_ option: PresentationOption? = nil) {
   |                 `- note: add '@available' attribute to enclosing instance method
45 |         switch option {
46 |         case .fullscreenCover:
   :
49 |             pop()
50 |         case .popover:
51 |             popover = nil
   |             |- error: setter for 'popover' is only available in macOS 10.15 or newer
   |             `- note: add 'if #available' version check
52 |         case .sheet:
53 |             sheet = nil
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:53:13: error: setter for 'sheet' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
42 |     }
43 |
44 |     public func dismiss(_ option: PresentationOption? = nil) {
   |                 `- note: add '@available' attribute to enclosing instance method
45 |         switch option {
46 |         case .fullscreenCover:
   :
51 |             popover = nil
52 |         case .sheet:
53 |             sheet = nil
   |             |- error: setter for 'sheet' is only available in macOS 10.15 or newer
   |             `- note: add 'if #available' version check
54 |         case .none:
55 |             if sheet != nil {
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:56:17: error: setter for 'sheet' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
42 |     }
43 |
44 |     public func dismiss(_ option: PresentationOption? = nil) {
   |                 `- note: add '@available' attribute to enclosing instance method
45 |         switch option {
46 |         case .fullscreenCover:
   :
54 |         case .none:
55 |             if sheet != nil {
56 |                 sheet = nil
   |                 |- error: setter for 'sheet' is only available in macOS 10.15 or newer
   |                 `- note: add 'if #available' version check
57 |             } else if fullscreenCover != nil {
58 |                 fullscreenCover = nil
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:58:17: error: setter for 'fullscreenCover' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
42 |     }
43 |
44 |     public func dismiss(_ option: PresentationOption? = nil) {
   |                 `- note: add '@available' attribute to enclosing instance method
45 |         switch option {
46 |         case .fullscreenCover:
   :
56 |                 sheet = nil
57 |             } else if fullscreenCover != nil {
58 |                 fullscreenCover = nil
   |                 |- error: setter for 'fullscreenCover' is only available in macOS 10.15 or newer
   |                 `- note: add 'if #available' version check
59 |             } else if popover != nil {
60 |                 popover = nil
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:60:17: error: setter for 'popover' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
42 |     }
43 |
44 |     public func dismiss(_ option: PresentationOption? = nil) {
   |                 `- note: add '@available' attribute to enclosing instance method
45 |         switch option {
46 |         case .fullscreenCover:
   :
58 |                 fullscreenCover = nil
59 |             } else if popover != nil {
60 |                 popover = nil
   |                 |- error: setter for 'popover' is only available in macOS 10.15 or newer
   |                 `- note: add 'if #available' version check
61 |             } else {
62 |                 pop()
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:76:9: error: cannot pass as inout because setter for 'routes' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
73 |     // MARK: - Private
74 |
75 |     private func push(_ route: T) {
   |                  `- note: add '@available' attribute to enclosing instance method
76 |         routes.append(route)
   |         |- error: cannot pass as inout because setter for 'routes' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
77 |     }
78 |
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:80:9: error: cannot pass as inout because setter for 'routes' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
77 |     }
78 |
79 |     private func pop() {
   |                  `- note: add '@available' attribute to enclosing instance method
80 |         routes.removeLast()
   |         |- error: cannot pass as inout because setter for 'routes' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
81 |     }
82 |
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:84:9: error: setter for 'sheet' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
81 |     }
82 |
83 |     private func presentSheet(_ route: T, onDismiss: (() -> Void)? = nil) {
   |                  `- note: add '@available' attribute to enclosing instance method
84 |         sheet = route
   |         |- error: setter for 'sheet' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
85 |         self.onDismiss = onDismiss
86 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:89:9: error: setter for 'fullscreenCover' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
86 |     }
87 |
88 |     private func presentFullscreenCover(_ route: T, onDismiss: (() -> Void)? = nil) {
   |                  `- note: add '@available' attribute to enclosing instance method
89 |         fullscreenCover = route
   |         |- error: setter for 'fullscreenCover' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
90 |         self.onDismiss = onDismiss
91 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:94:9: error: setter for 'popover' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
91 |     }
92 |
93 |     private func presentPopover(_ route: T) {
   |                  `- note: add '@available' attribute to enclosing instance method
94 |         popover = route
   |         |- error: setter for 'popover' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
95 |     }
96 | }
[4/11] Compiling Voyager TabVoyagerView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabVoyagerView.swift:5:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct TabVoyagerView<T: Route, Content: View, TabItem: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: TabRouter<T>
   |      `- error: 'ObservedObject' is only available in macOS 10.15 or newer
 6 |     private let content: (T) -> Content
 7 |     private let tabItem: (T) -> TabItem
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabVoyagerView.swift:11:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct TabVoyagerView<T: Route, Content: View, TabItem: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: TabRouter<T>
   :
 7 |     private let tabItem: (T) -> TabItem
 8 |
 9 |     public init(
   |            `- note: add '@available' attribute to enclosing initializer
10 |         router: TabRouter<T>,
11 |         @ViewBuilder content: @escaping (T) -> Content,
   |          `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
12 |         @ViewBuilder tabItem: @escaping (T) -> TabItem
13 |     ) {
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabVoyagerView.swift:12:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct TabVoyagerView<T: Route, Content: View, TabItem: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: TabRouter<T>
   :
 7 |     private let tabItem: (T) -> TabItem
 8 |
 9 |     public init(
   |            `- note: add '@available' attribute to enclosing initializer
10 |         router: TabRouter<T>,
11 |         @ViewBuilder content: @escaping (T) -> Content,
12 |         @ViewBuilder tabItem: @escaping (T) -> TabItem
   |          `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
13 |     ) {
14 |         self.router = router
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabVoyagerView.swift:19:27: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct TabVoyagerView<T: Route, Content: View, TabItem: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: TabRouter<T>
   :
17 |     }
18 |
19 |     public var body: some View {
   |                |          `- error: 'View' is only available in macOS 10.15 or newer
   |                `- note: add '@available' attribute to enclosing property
20 |         TabView(selection: $router.selected) {
21 |             ForEach(router.tabs) { tab in
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabVoyagerView.swift:3:49: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct TabVoyagerView<T: Route, Content: View, TabItem: View>: View {
   |               |                                 `- error: 'View' is only available in macOS 10.15 or newer
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: TabRouter<T>
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabVoyagerView.swift:3:64: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct TabVoyagerView<T: Route, Content: View, TabItem: View>: View {
   |               |                                                `- error: 'View' is only available in macOS 10.15 or newer
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: TabRouter<T>
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabVoyagerView.swift:14:9: error: setter for 'router' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct TabVoyagerView<T: Route, Content: View, TabItem: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: TabRouter<T>
   :
 7 |     private let tabItem: (T) -> TabItem
 8 |
 9 |     public init(
   |            `- note: add '@available' attribute to enclosing initializer
10 |         router: TabRouter<T>,
11 |         @ViewBuilder content: @escaping (T) -> Content,
12 |         @ViewBuilder tabItem: @escaping (T) -> TabItem
13 |     ) {
14 |         self.router = router
   |         |- error: setter for 'router' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
15 |         self.content = content
16 |         self.tabItem = tabItem
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabVoyagerView.swift:20:36: error: cannot assign to property: '$router' is immutable
18 |
19 |     public var body: some View {
20 |         TabView(selection: $router.selected) {
   |                                    `- error: cannot assign to property: '$router' is immutable
21 |             ForEach(router.tabs) { tab in
22 |                 NavVoyagerView(router: getRouter(for: tab)) { route in
[5/11] Compiling Voyager TabRouter.swift
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabRouter.swift:5:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class TabRouter<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     @Published var tabs: [T]
   |      `- error: 'Published' is only available in macOS 10.15 or newer
 6 |     @Published var selected: T
 7 |     @Published var routers: [Router<T>]
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabRouter.swift:6:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class TabRouter<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     @Published var tabs: [T]
 6 |     @Published var selected: T
   |      `- error: 'Published' is only available in macOS 10.15 or newer
 7 |     @Published var routers: [Router<T>]
 8 |
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabRouter.swift:7:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class TabRouter<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     @Published var tabs: [T]
 6 |     @Published var selected: T
 7 |     @Published var routers: [Router<T>]
   |      `- error: 'Published' is only available in macOS 10.15 or newer
 8 |
 9 |     public init(tabs: [T], selected: T, deeplinkHandler: DeeplinkHandler<T>? = nil) {
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabRouter.swift:3:35: error: 'ObservableObject' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class TabRouter<T: Route>: ObservableObject {
   |              |                    `- error: 'ObservableObject' is only available in macOS 10.15 or newer
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     @Published var tabs: [T]
<unknown>:0: error: cannot convert value of type 'KeyPath<TabRouter<T>, [T]>' to expected argument type 'ReferenceWritableKeyPath<TabRouter<T>, [T]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<TabRouter<T>, T>' to expected argument type 'ReferenceWritableKeyPath<TabRouter<T>, T>'
<unknown>:0: error: cannot convert value of type 'KeyPath<TabRouter<T>, [Router<T>]>' to expected argument type 'ReferenceWritableKeyPath<TabRouter<T>, [Router<T>]>'
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabRouter.swift:10:9: error: setter for 'tabs' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class TabRouter<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     @Published var tabs: [T]
   :
 7 |     @Published var routers: [Router<T>]
 8 |
 9 |     public init(tabs: [T], selected: T, deeplinkHandler: DeeplinkHandler<T>? = nil) {
   |            `- note: add '@available' attribute to enclosing initializer
10 |         self.tabs = tabs
   |         |- error: setter for 'tabs' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
11 |         self.selected = selected
12 |         self.routers = tabs.map { Router<T>(root: $0, deeplinkHandler: deeplinkHandler) }
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabRouter.swift:11:9: error: setter for 'selected' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class TabRouter<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     @Published var tabs: [T]
   :
 7 |     @Published var routers: [Router<T>]
 8 |
 9 |     public init(tabs: [T], selected: T, deeplinkHandler: DeeplinkHandler<T>? = nil) {
   |            `- note: add '@available' attribute to enclosing initializer
10 |         self.tabs = tabs
11 |         self.selected = selected
   |         |- error: setter for 'selected' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
12 |         self.routers = tabs.map { Router<T>(root: $0, deeplinkHandler: deeplinkHandler) }
13 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabRouter.swift:12:9: error: setter for 'routers' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class TabRouter<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     @Published var tabs: [T]
   :
 7 |     @Published var routers: [Router<T>]
 8 |
 9 |     public init(tabs: [T], selected: T, deeplinkHandler: DeeplinkHandler<T>? = nil) {
   |            `- note: add '@available' attribute to enclosing initializer
10 |         self.tabs = tabs
11 |         self.selected = selected
12 |         self.routers = tabs.map { Router<T>(root: $0, deeplinkHandler: deeplinkHandler) }
   |         |- error: setter for 'routers' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
13 |     }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabRouter.swift:16:9: error: setter for 'selected' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class TabRouter<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     @Published var tabs: [T]
   :
13 |     }
14 |
15 |     public func updateSelectedTab(_ to: T) {
   |                 `- note: add '@available' attribute to enclosing instance method
16 |         selected = to
   |         |- error: setter for 'selected' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
17 |     }
18 | }
[6/11] Compiling Voyager PresentationOption.swift
[7/11] Compiling Voyager NavVoyagerView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/NavVoyagerView.swift:5:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct NavVoyagerView<T: Route, Content: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
   |      `- error: 'ObservedObject' is only available in macOS 10.15 or newer
 6 |     private let content: (T) -> Content
 7 |
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/NavVoyagerView.swift:10:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct NavVoyagerView<T: Route, Content: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
 6 |     private let content: (T) -> Content
 7 |
 8 |     public init(
   |            `- note: add '@available' attribute to enclosing initializer
 9 |         router: Router<T>,
10 |         @ViewBuilder content: @escaping (T) -> Content
   |          `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
11 |     ) {
12 |         self.router = router
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/NavVoyagerView.swift:16:27: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct NavVoyagerView<T: Route, Content: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
   :
14 |     }
15 |
16 |     public var body: some View {
   |                |          `- error: 'View' is only available in macOS 10.15 or newer
   |                `- note: add '@available' attribute to enclosing property
17 |         NavigationStack(path: $router.routes) {
18 |             content(router.root)
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/NavVoyagerView.swift:3:49: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct NavVoyagerView<T: Route, Content: View>: View {
   |               |                                 `- error: 'View' is only available in macOS 10.15 or newer
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/NavVoyagerView.swift:12:9: error: setter for 'router' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct NavVoyagerView<T: Route, Content: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
 6 |     private let content: (T) -> Content
 7 |
 8 |     public init(
   |            `- note: add '@available' attribute to enclosing initializer
 9 |         router: Router<T>,
10 |         @ViewBuilder content: @escaping (T) -> Content
11 |     ) {
12 |         self.router = router
   |         |- error: setter for 'router' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
13 |         self.content = content
14 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/NavVoyagerView.swift:17:39: error: cannot assign to property: '$router' is immutable
15 |
16 |     public var body: some View {
17 |         NavigationStack(path: $router.routes) {
   |                                       `- error: cannot assign to property: '$router' is immutable
18 |             content(router.root)
19 |                 .navigationDestination(for: T.self) { route in
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/NavVoyagerView.swift:23:30: error: cannot assign to property: '$router' is immutable
21 |                 }
22 |         }
23 |         .sheet(item: $router.sheet) {
   |                              `- error: cannot assign to property: '$router' is immutable
24 |             router.onDismiss?()
25 |         } content: { route in
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/NavVoyagerView.swift:28:40: error: cannot assign to property: '$router' is immutable
26 |             content(route)
27 |         }
28 |         .fullScreenCover(item: $router.fullscreenCover) {
   |                                        `- error: cannot assign to property: '$router' is immutable
29 |             router.onDismiss?()
30 |         } content: { route in
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/NavVoyagerView.swift:33:32: error: cannot assign to property: '$router' is immutable
31 |             content(route)
32 |         }
33 |         .popover(item: $router.popover) { route in
   |                                `- error: cannot assign to property: '$router' is immutable
34 |             content(route)
35 |         }
[8/11] Compiling Voyager Route.swift
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Route.swift:3:45: error: 'Identifiable' is only available in macOS 10.15 or newer
1 | import Foundation
2 |
3 | public protocol Route: Equatable, Hashable, Identifiable {}
  |                 |                           `- error: 'Identifiable' is only available in macOS 10.15 or newer
  |                 `- note: add '@available' attribute to enclosing protocol
4 |
5 | public extension Route {
error: emit-module command failed with exit code 1 (use -v to see invocation)
[9/11] Compiling Voyager DeeplinkHandler.swift
[10/11] Emitting module Voyager
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/BaseVoyagerView.swift:5:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct BaseVoyagerView<T: Route, Content: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
   |      `- error: 'ObservedObject' is only available in macOS 10.15 or newer
 6 |     private let content: (T) -> Content
 7 |
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/BaseVoyagerView.swift:10:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct BaseVoyagerView<T: Route, Content: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
 6 |     private let content: (T) -> Content
 7 |
 8 |     public init(
   |            `- note: add '@available' attribute to enclosing initializer
 9 |         router: Router<T>,
10 |         @ViewBuilder content: @escaping (T) -> Content
   |          `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
11 |     ) {
12 |         self.router = router
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/BaseVoyagerView.swift:16:27: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct BaseVoyagerView<T: Route, Content: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
   :
14 |     }
15 |
16 |     public var body: some View {
   |                |          `- error: 'View' is only available in macOS 10.15 or newer
   |                `- note: add '@available' attribute to enclosing property
17 |         content(router.root)
18 |             .sheet(item: $router.sheet) {
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/BaseVoyagerView.swift:3:50: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct BaseVoyagerView<T: Route, Content: View>: View {
   |               |                                  `- error: 'View' is only available in macOS 10.15 or newer
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/NavVoyagerView.swift:5:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct NavVoyagerView<T: Route, Content: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
   |      `- error: 'ObservedObject' is only available in macOS 10.15 or newer
 6 |     private let content: (T) -> Content
 7 |
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/NavVoyagerView.swift:10:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct NavVoyagerView<T: Route, Content: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
 6 |     private let content: (T) -> Content
 7 |
 8 |     public init(
   |            `- note: add '@available' attribute to enclosing initializer
 9 |         router: Router<T>,
10 |         @ViewBuilder content: @escaping (T) -> Content
   |          `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
11 |     ) {
12 |         self.router = router
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/NavVoyagerView.swift:16:27: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct NavVoyagerView<T: Route, Content: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
   :
14 |     }
15 |
16 |     public var body: some View {
   |                |          `- error: 'View' is only available in macOS 10.15 or newer
   |                `- note: add '@available' attribute to enclosing property
17 |         NavigationStack(path: $router.routes) {
18 |             content(router.root)
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/NavVoyagerView.swift:3:49: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct NavVoyagerView<T: Route, Content: View>: View {
   |               |                                 `- error: 'View' is only available in macOS 10.15 or newer
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Route.swift:3:45: error: 'Identifiable' is only available in macOS 10.15 or newer
1 | import Foundation
2 |
3 | public protocol Route: Equatable, Hashable, Identifiable {}
  |                 |                           `- error: 'Identifiable' is only available in macOS 10.15 or newer
  |                 `- note: add '@available' attribute to enclosing protocol
4 |
5 | public extension Route {
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:7:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
 6 |
 7 |     @Published var root: T
   |      `- error: 'Published' is only available in macOS 10.15 or newer
 8 |     @Published var routes: [T]
 9 |     @Published var sheet: T?
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:8:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
 6 |
 7 |     @Published var root: T
 8 |     @Published var routes: [T]
   |      `- error: 'Published' is only available in macOS 10.15 or newer
 9 |     @Published var sheet: T?
10 |     @Published var fullscreenCover: T?
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:9:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
 7 |     @Published var root: T
 8 |     @Published var routes: [T]
 9 |     @Published var sheet: T?
   |      `- error: 'Published' is only available in macOS 10.15 or newer
10 |     @Published var fullscreenCover: T?
11 |     @Published var popover: T?
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:10:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
 8 |     @Published var routes: [T]
 9 |     @Published var sheet: T?
10 |     @Published var fullscreenCover: T?
   |      `- error: 'Published' is only available in macOS 10.15 or newer
11 |     @Published var popover: T?
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:11:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
   :
 9 |     @Published var sheet: T?
10 |     @Published var fullscreenCover: T?
11 |     @Published var popover: T?
   |      `- error: 'Published' is only available in macOS 10.15 or newer
12 |
13 |     var onDismiss: (() -> Void)?
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/Router.swift:3:32: error: 'ObservableObject' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class Router<T: Route>: ObservableObject {
   |              |                 `- error: 'ObservableObject' is only available in macOS 10.15 or newer
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     // MARK: -
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabRouter.swift:5:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class TabRouter<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     @Published var tabs: [T]
   |      `- error: 'Published' is only available in macOS 10.15 or newer
 6 |     @Published var selected: T
 7 |     @Published var routers: [Router<T>]
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabRouter.swift:6:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class TabRouter<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     @Published var tabs: [T]
 6 |     @Published var selected: T
   |      `- error: 'Published' is only available in macOS 10.15 or newer
 7 |     @Published var routers: [Router<T>]
 8 |
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabRouter.swift:7:6: error: 'Published' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class TabRouter<T: Route>: ObservableObject {
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     @Published var tabs: [T]
 6 |     @Published var selected: T
 7 |     @Published var routers: [Router<T>]
   |      `- error: 'Published' is only available in macOS 10.15 or newer
 8 |
 9 |     public init(tabs: [T], selected: T, deeplinkHandler: DeeplinkHandler<T>? = nil) {
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabRouter.swift:3:35: error: 'ObservableObject' is only available in macOS 10.15 or newer
 1 | import Foundation
 2 |
 3 | public class TabRouter<T: Route>: ObservableObject {
   |              |                    `- error: 'ObservableObject' is only available in macOS 10.15 or newer
   |              `- note: add '@available' attribute to enclosing generic class
 4 |
 5 |     @Published var tabs: [T]
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabVoyagerView.swift:5:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct TabVoyagerView<T: Route, Content: View, TabItem: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: TabRouter<T>
   |      `- error: 'ObservedObject' is only available in macOS 10.15 or newer
 6 |     private let content: (T) -> Content
 7 |     private let tabItem: (T) -> TabItem
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabVoyagerView.swift:11:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct TabVoyagerView<T: Route, Content: View, TabItem: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: TabRouter<T>
   :
 7 |     private let tabItem: (T) -> TabItem
 8 |
 9 |     public init(
   |            `- note: add '@available' attribute to enclosing initializer
10 |         router: TabRouter<T>,
11 |         @ViewBuilder content: @escaping (T) -> Content,
   |          `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
12 |         @ViewBuilder tabItem: @escaping (T) -> TabItem
13 |     ) {
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabVoyagerView.swift:12:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct TabVoyagerView<T: Route, Content: View, TabItem: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: TabRouter<T>
   :
 7 |     private let tabItem: (T) -> TabItem
 8 |
 9 |     public init(
   |            `- note: add '@available' attribute to enclosing initializer
10 |         router: TabRouter<T>,
11 |         @ViewBuilder content: @escaping (T) -> Content,
12 |         @ViewBuilder tabItem: @escaping (T) -> TabItem
   |          `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
13 |     ) {
14 |         self.router = router
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabVoyagerView.swift:19:27: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct TabVoyagerView<T: Route, Content: View, TabItem: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: TabRouter<T>
   :
17 |     }
18 |
19 |     public var body: some View {
   |                |          `- error: 'View' is only available in macOS 10.15 or newer
   |                `- note: add '@available' attribute to enclosing property
20 |         TabView(selection: $router.selected) {
21 |             ForEach(router.tabs) { tab in
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabVoyagerView.swift:3:49: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct TabVoyagerView<T: Route, Content: View, TabItem: View>: View {
   |               |                                 `- error: 'View' is only available in macOS 10.15 or newer
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: TabRouter<T>
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/TabVoyagerView.swift:3:64: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct TabVoyagerView<T: Route, Content: View, TabItem: View>: View {
   |               |                                                `- error: 'View' is only available in macOS 10.15 or newer
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: TabRouter<T>
[11/11] Compiling Voyager BaseVoyagerView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/BaseVoyagerView.swift:5:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct BaseVoyagerView<T: Route, Content: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
   |      `- error: 'ObservedObject' is only available in macOS 10.15 or newer
 6 |     private let content: (T) -> Content
 7 |
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/BaseVoyagerView.swift:10:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct BaseVoyagerView<T: Route, Content: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
 6 |     private let content: (T) -> Content
 7 |
 8 |     public init(
   |            `- note: add '@available' attribute to enclosing initializer
 9 |         router: Router<T>,
10 |         @ViewBuilder content: @escaping (T) -> Content
   |          `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
11 |     ) {
12 |         self.router = router
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/BaseVoyagerView.swift:16:27: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct BaseVoyagerView<T: Route, Content: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
   :
14 |     }
15 |
16 |     public var body: some View {
   |                |          `- error: 'View' is only available in macOS 10.15 or newer
   |                `- note: add '@available' attribute to enclosing property
17 |         content(router.root)
18 |             .sheet(item: $router.sheet) {
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/BaseVoyagerView.swift:3:50: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct BaseVoyagerView<T: Route, Content: View>: View {
   |               |                                  `- error: 'View' is only available in macOS 10.15 or newer
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/BaseVoyagerView.swift:12:9: error: setter for 'router' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | public struct BaseVoyagerView<T: Route, Content: View>: View {
   |               `- note: add '@available' attribute to enclosing generic struct
 4 |
 5 |     @ObservedObject private var router: Router<T>
 6 |     private let content: (T) -> Content
 7 |
 8 |     public init(
   |            `- note: add '@available' attribute to enclosing initializer
 9 |         router: Router<T>,
10 |         @ViewBuilder content: @escaping (T) -> Content
11 |     ) {
12 |         self.router = router
   |         |- error: setter for 'router' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
13 |         self.content = content
14 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/BaseVoyagerView.swift:18:34: error: cannot assign to property: '$router' is immutable
16 |     public var body: some View {
17 |         content(router.root)
18 |             .sheet(item: $router.sheet) {
   |                                  `- error: cannot assign to property: '$router' is immutable
19 |                 router.onDismiss?()
20 |             } content: { route in
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/BaseVoyagerView.swift:23:44: error: cannot assign to property: '$router' is immutable
21 |                 content(route)
22 |             }
23 |             .fullScreenCover(item: $router.fullscreenCover) {
   |                                            `- error: cannot assign to property: '$router' is immutable
24 |                 router.onDismiss?()
25 |             } content: { route in
/Users/admin/builder/spi-builder-workspace/Sources/Voyager/BaseVoyagerView.swift:28:36: error: cannot assign to property: '$router' is immutable
26 |                 content(route)
27 |             }
28 |             .popover(item: $router.popover) { route in
   |                                    `- error: cannot assign to property: '$router' is immutable
29 |                 content(route)
30 |             }
BUILD FAILURE 6.3 macosSpm