diff --git a/Mist/Commands/Download/DownloadFirmwareOptions.swift b/Mist/Commands/Download/DownloadFirmwareOptions.swift index ab86c28..d57b640 100644 --- a/Mist/Commands/Download/DownloadFirmwareOptions.swift +++ b/Mist/Commands/Download/DownloadFirmwareOptions.swift @@ -11,12 +11,13 @@ struct DownloadFirmwareOptions: ParsableArguments { @Argument(help: """ Specify a macOS name, version or build to download: - Name │ Version │ Build - ───────────────────┼─────────┼────── - macOS Sonoma │ 14.x │ 23xyz - macOS Ventura │ 13.x │ 22xyz - macOS Monterey │ 12.x │ 21xyz - macOS Big Sur │ 11.x │ 20xyz + Name │ Version │ Build + ───────────────┼─────────┼────── + macOS Sequoia | 15.x │ 24xyz + macOS Sonoma │ 14.x │ 23xyz + macOS Ventura │ 13.x │ 22xyz + macOS Monterey │ 12.x │ 21xyz + macOS Big Sur │ 11.x │ 20xyz Note: Specifying a macOS name will assume the latest version and build of that particular macOS. Note: Specifying a macOS version will look for an exact match, otherwise assume the latest build of that particular macOS. diff --git a/Mist/Commands/Download/DownloadInstallerOptions.swift b/Mist/Commands/Download/DownloadInstallerOptions.swift index d84d314..9e318d7 100644 --- a/Mist/Commands/Download/DownloadInstallerOptions.swift +++ b/Mist/Commands/Download/DownloadInstallerOptions.swift @@ -13,6 +13,7 @@ struct DownloadInstallerOptions: ParsableArguments { Name │ Version │ Build ───────────────────┼─────────┼────── + macOS Sequoia │ 15.x │ 24xyz macOS Sonoma │ 14.x │ 23xyz macOS Ventura │ 13.x │ 22xyz macOS Monterey │ 12.x │ 21xyz diff --git a/Mist/Commands/List/ListFirmwareOptions.swift b/Mist/Commands/List/ListFirmwareOptions.swift index 713961a..02e21e0 100644 --- a/Mist/Commands/List/ListFirmwareOptions.swift +++ b/Mist/Commands/List/ListFirmwareOptions.swift @@ -11,12 +11,13 @@ struct ListFirmwareOptions: ParsableArguments { @Argument(help: """ Optionally specify a macOS name, version or build to filter the list results: - Name │ Version │ Build - ───────────────────┼─────────┼────── - macOS Sonoma │ 14.x │ 23xyz - macOS Ventura │ 13.x │ 22xyz - macOS Monterey │ 12.x │ 21xyz - macOS Big Sur │ 11.x │ 20xyz + Name │ Version │ Build + ───────────────┼─────────┼────── + macOS Sequoia │ 15.x │ 24xyz + macOS Sonoma │ 14.x │ 23xyz + macOS Ventura │ 13.x │ 22xyz + macOS Monterey │ 12.x │ 21xyz + macOS Big Sur │ 11.x │ 20xyz Note: Specifying a macOS name will assume the latest version and build of that particular macOS. Note: Specifying a macOS version will look for an exact match, otherwise assume the latest build of that particular macOS. diff --git a/Mist/Commands/List/ListInstallerOptions.swift b/Mist/Commands/List/ListInstallerOptions.swift index bf1c40a..453742d 100644 --- a/Mist/Commands/List/ListInstallerOptions.swift +++ b/Mist/Commands/List/ListInstallerOptions.swift @@ -13,6 +13,7 @@ struct ListInstallerOptions: ParsableArguments { Name │ Version │ Build ───────────────────┼─────────┼────── + macOS Sequoia │ 15.x │ 24xyz macOS Sonoma │ 14.x │ 23xyz macOS Ventura │ 13.x │ 22xyz macOS Monterey │ 12.x │ 21xyz diff --git a/Mist/Helpers/Downloader.swift b/Mist/Helpers/Downloader.swift index 331ca7f..a909d66 100644 --- a/Mist/Helpers/Downloader.swift +++ b/Mist/Helpers/Downloader.swift @@ -9,7 +9,7 @@ import Foundation /// Helper Class used to download macOS Firmwares and Installers. class Downloader: NSObject { - private static let maximumWidth: Int = 80 + private static let maximumWidth: Int = 95 private var temporaryURL: URL? private var sourceURL: URL? private var current: Int64 = 0 diff --git a/Mist/Model/Catalog.swift b/Mist/Model/Catalog.swift index b98051d..33ec2f5 100644 --- a/Mist/Model/Catalog.swift +++ b/Mist/Model/Catalog.swift @@ -12,7 +12,7 @@ enum Catalog: String, CaseIterable { case `public` static var urls: [String] { - allCases.map(\.url) + allCases.map(\.url) + allCases.map(\.sequioaURL) } var url: String { @@ -27,4 +27,17 @@ enum Catalog: String, CaseIterable { "https://swscan.apple.com/content/catalogs/others/index-14beta-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz" } } + + private var sequioaURL: String { + switch self { + case .standard: + "https://swscan.apple.com/content/catalogs/others/index-15-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz" + case .customer: // swiftlint:disable:next line_length + "https://swscan.apple.com/content/catalogs/others/index-15customerseed-15-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz" + case .developer: + "https://swscan.apple.com/content/catalogs/others/index-15seed-15-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz" + case .public: + "https://swscan.apple.com/content/catalogs/others/index-15beta-15-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz" + } + } } diff --git a/Mist/Model/Firmware.swift b/Mist/Model/Firmware.swift index 6f2bffc..b431ae5 100644 --- a/Mist/Model/Firmware.swift +++ b/Mist/Model/Firmware.swift @@ -29,7 +29,9 @@ struct Firmware: Decodable { var name: String { var name: String = "" - if version.range(of: "^14", options: .regularExpression) != nil { + if version.range(of: "^15", options: .regularExpression) != nil { + name = "macOS Sequoia" + } else if version.range(of: "^14", options: .regularExpression) != nil { name = "macOS Sonoma" } else if version.range(of: "^13", options: .regularExpression) != nil { name = "macOS Ventura"