diff --git a/README.md b/README.md
index 197a6ad..cbd8a39 100644
--- a/README.md
+++ b/README.md
@@ -60,7 +60,7 @@
|----------------|-----------------------------------------------------------------------------------------------------|
| **CPU** | Intel: Nehalem and Westmere (1nd Gen) → Arrow Lake (15th Gen/Core Ultra Series 2)
AMD: Ryzen and Threadripper with [AMD Vanilla](https://github.com/AMD-OSX/AMD_Vanilla) |
| **GPU** | Intel iGPU: Iron Lake (1nd Gen) → Ice Lake (10th Gen)
AMD APU: The entire Vega Raven ASIC family (Ryzen 1xxx → 5xxx, 7x30 series)
AMD dGPU: Navi 23, Navi 22, Navi 21 generations, and older series
NVIDIA: Kepler, Pascal, Maxwell, Fermi, Tesla generations |
- | **macOS** | macOS High Sierra → macOS Sequoia |
+ | **macOS** | macOS High Sierra → macOS Tahoe |
2. **ACPI Patches and Kexts**
Automatically detects and adds ACPI patches and kexts based on hardware configuration.
diff --git a/Scripts/datasets/kext_data.py b/Scripts/datasets/kext_data.py
index e56bc46..423eba6 100644
--- a/Scripts/datasets/kext_data.py
+++ b/Scripts/datasets/kext_data.py
@@ -8,7 +8,7 @@ class KextInfo:
self.category = category
self.required = required
self.min_darwin_version = min_darwin_version or os_data.get_lowest_darwin_version()
- self.max_darwin_version = max_darwin_version or os_data.get_latest_darwin_version()
+ self.max_darwin_version = max_darwin_version or os_data.get_latest_darwin_version(include_beta=False)
self.requires_kexts = requires_kexts
self.conflict_group_id = conflict_group_id
self.github_repo = github_repo
diff --git a/Scripts/datasets/mac_model_data.py b/Scripts/datasets/mac_model_data.py
index 1a5a017..8bb4307 100644
--- a/Scripts/datasets/mac_model_data.py
+++ b/Scripts/datasets/mac_model_data.py
@@ -30,8 +30,8 @@ mac_devices = [
MacDevice("iMac18,1", "i5-7360U", "Kaby Lake", None, "16.5.0", "22.99.99"),
MacDevice("iMac18,2", "i5-7400", "Kaby Lake", "AMD Radeon Pro 555", "16.5.0", "22.99.99"),
MacDevice("iMac18,3", "i5-7600K", "Kaby Lake", "AMD Radeon Pro 570", "16.5.0", "22.99.99"),
- MacDevice("iMac19,1", "i9-9900K", "Coffee Lake", "AMD Radeon Pro 570X", "18.5.0"),
- MacDevice("iMac19,2", "i5-8500", "Coffee Lake", "AMD Radeon Pro 555X", "18.5.0"),
+ MacDevice("iMac19,1", "i9-9900K", "Coffee Lake", "AMD Radeon Pro 570X", "18.5.0", "24.99.99"),
+ MacDevice("iMac19,2", "i5-8500", "Coffee Lake", "AMD Radeon Pro 555X", "18.5.0", "24.99.99"),
MacDevice("iMac20,1", "i5-10500", "Comet Lake", "AMD Radeon Pro 5300", "19.6.0"),
MacDevice("iMac20,2", "i9-10910", "Comet Lake", "AMD Radeon Pro 5300", "19.6.0"),
# MacBook Models
@@ -47,9 +47,9 @@ mac_devices = [
MacDevice("MacBookAir6,2", "i5-4250U", "Haswell", None, "12.4.0", "20.99.99"),
MacDevice("MacBookAir7,1", "i5-5250U", "Broadwell", None, "14.1.0", "21.99.99"),
MacDevice("MacBookAir7,2", "i5-5250U", "Broadwell", None, "14.1.0", "21.99.99"),
- MacDevice("MacBookAir8,1", "i5-8210Y", "Amber Lake", None, "18.2.0"),
- MacDevice("MacBookAir8,2", "i5-8210Y", "Amber Lake", None, "18.6.0"),
- MacDevice("MacBookAir9,1", "i3-1000NG4", "Ice Lake", None, "19.4.0"),
+ MacDevice("MacBookAir8,1", "i5-8210Y", "Amber Lake", None, "18.2.0", "24.99.99"),
+ MacDevice("MacBookAir8,2", "i5-8210Y", "Amber Lake", None, "18.6.0", "24.99.99"),
+ MacDevice("MacBookAir9,1", "i3-1000NG4", "Ice Lake", None, "19.4.0", "24.99.99"),
# MacBookPro Models
MacDevice("MacBookPro6,1", "i7-640M", "Arrandale", "NVIDIA GeForce GT 330M", "10.3.0", "17.99.99"),
MacDevice("MacBookPro6,2", "i7-640M", "Arrandale", "NVIDIA GeForce GT 330M", "10.3.0", "17.99.99"),
@@ -72,10 +72,10 @@ mac_devices = [
MacDevice("MacBookPro14,1", "i5-7360U", "Kaby Lake", None, "16.6.0", "22.99.99"),
MacDevice("MacBookPro14,2", "i5-7267U", "Kaby Lake", None, "16.6.0", "22.99.99"),
MacDevice("MacBookPro14,3", "i7-7700HQ", "Kaby Lake", "AMD Radeon Pro 555", "16.6.0", "22.99.99"),
- MacDevice("MacBookPro15,1", "i7-8750H", "Coffee Lake", "AMD Radeon Pro 555X", "17.99.99"),
- MacDevice("MacBookPro15,2", "i7-8559U", "Coffee Lake", None, "17.99.99"),
- MacDevice("MacBookPro15,3", "i7-8850H", "Coffee Lake", "AMD Radeon Pro Vega 16", "18.2.0"),
- MacDevice("MacBookPro15,4", "i5-8257U", "Coffee Lake", None, "18.6.0"),
+ MacDevice("MacBookPro15,1", "i7-8750H", "Coffee Lake", "AMD Radeon Pro 555X", "17.99.99", "24.99.99"),
+ MacDevice("MacBookPro15,2", "i7-8559U", "Coffee Lake", None, "17.99.99", "24.99.99"),
+ MacDevice("MacBookPro15,3", "i7-8850H", "Coffee Lake", "AMD Radeon Pro Vega 16", "18.2.0", "24.99.99"),
+ MacDevice("MacBookPro15,4", "i5-8257U", "Coffee Lake", None, "18.6.0", "24.99.99"),
MacDevice("MacBookPro16,1", "i7-9750H", "Coffee Lake", "AMD Radeon Pro 5300", "19.0.0"),
MacDevice("MacBookPro16,2", "i5-1038NG7", "Ice Lake", None, "19.4.0"),
MacDevice("MacBookPro16,3", "i5-8257U", "Coffee Lake", None, "19.4.0"),
@@ -87,9 +87,9 @@ mac_devices = [
MacDevice("Macmini6,1", "i5-3210M", "Ivy Bridge", None, "10.8.1", "19.99.99"),
MacDevice("Macmini6,2", "i7-3615QM", "Ivy Bridge", None, "10.8.1", "19.99.99"),
MacDevice("Macmini7,1", "i5-4260U", "Haswell", None, "14.0.0", "21.99.99"),
- MacDevice("Macmini8,1", "i7-8700B", "Coffee Lake", None, "18.0.0"),
+ MacDevice("Macmini8,1", "i7-8700B", "Coffee Lake", None, "18.0.0", "24.99.99"),
# iMacPro Models
- MacDevice("iMacPro1,1", "W-2140B", "Skylake-W", "AMD Radeon RX Vega 56", "17.3.0"),
+ MacDevice("iMacPro1,1", "W-2140B", "Skylake-W", "AMD Radeon RX Vega 56", "17.3.0", "24.99.99"),
# MacPro Models
MacDevice("MacPro5,1", "X5675 x2", "Nehalem/Westmere", "ATI Radeon HD 5770", "10.4.0", "18.99.99"),
MacDevice("MacPro6,1", "E5-1620 v2", "Ivy Bridge EP", "AMD FirePro D300", "13.0.0", "21.99.99"),
diff --git a/Scripts/datasets/os_data.py b/Scripts/datasets/os_data.py
index 30797e7..12bb139 100644
--- a/Scripts/datasets/os_data.py
+++ b/Scripts/datasets/os_data.py
@@ -1,7 +1,7 @@
class macOSVersionInfo:
def __init__(self, name, macos_version, release_status = "final"):
self.name = name
- self.darwin_version = (int(macos_version.split(".")[1]) + 4) if "10." in macos_version else (int(macos_version.split(".")[0]) + 9)
+ self.darwin_version = (int(macos_version.split(".")[1]) + 4) if "10." in macos_version else (int(macos_version.split(".")[0]) + 9) if macos_version.startswith("1") else (int(macos_version.split(".")[0]) - 1)
self.macos_version = macos_version
self.release_status = release_status
@@ -13,11 +13,17 @@ macos_versions = [
macOSVersionInfo("Monterey", "12"),
macOSVersionInfo("Ventura", "13"),
macOSVersionInfo("Sonoma", "14"),
- macOSVersionInfo("Sequoia", "15")
+ macOSVersionInfo("Sequoia", "15"),
+ macOSVersionInfo("Tahoe", "26", "beta")
]
-def get_latest_darwin_version():
- return "{}.{}.{}".format(macos_versions[-1].darwin_version, 99, 99)
+def get_latest_darwin_version(include_beta=True):
+ for macos_version in macos_versions[::-1]:
+ if include_beta:
+ return "{}.{}.{}".format(macos_version.darwin_version, 99, 99)
+ else:
+ if macos_version.release_status == "final":
+ return "{}.{}.{}".format(macos_version.darwin_version, 99, 99)
def get_lowest_darwin_version():
return "{}.{}.{}".format(macos_versions[0].darwin_version, 0, 0)
diff --git a/Scripts/kext_maestro.py b/Scripts/kext_maestro.py
index 241fdbc..7f79511 100644
--- a/Scripts/kext_maestro.py
+++ b/Scripts/kext_maestro.py
@@ -502,12 +502,13 @@ class KextMaestro:
bundle["MaxKernel"] = os_data.get_latest_darwin_version()
bundle["MinKernel"] = os_data.get_lowest_darwin_version()
-
- kext_index = kext_data.kext_index_by_name.get(os.path.splitext(os.path.basename(bundle.get("BundlePath")))[0])
- if kext_index:
- bundle["MaxKernel"] = self.kexts[kext_index].max_darwin_version
- bundle["MinKernel"] = self.kexts[kext_index].min_darwin_version
+ if not "Beta" in os_data.get_macos_name_by_darwin(macos_version):
+ kext_index = kext_data.kext_index_by_name.get(os.path.splitext(os.path.basename(bundle.get("BundlePath")))[0])
+
+ if kext_index:
+ bundle["MaxKernel"] = self.kexts[kext_index].max_darwin_version
+ bundle["MinKernel"] = self.kexts[kext_index].min_darwin_version
for dep_identifier in bundle.get("BundleLibraries"):
if dep_identifier in bundle_dict:
diff --git a/Scripts/smbios.py b/Scripts/smbios.py
index b4aa194..efc5612 100644
--- a/Scripts/smbios.py
+++ b/Scripts/smbios.py
@@ -80,7 +80,7 @@ class SMBIOS:
platform = "NUC" if "NUC" in hardware_report.get("Motherboard").get("Name") else hardware_report.get("Motherboard").get("Platform")
codename = hardware_report.get("CPU").get("Codename")
- smbios_model = "MacBookPro16,3" if "Laptop" in platform else "iMacPro1,1"
+ smbios_model = "MacBookPro16,3" if "Laptop" in platform else "iMacPro1,1" if self.utils.parse_darwin_version(macos_version) < self.utils.parse_darwin_version("25.0.0") else "MacPro7,1"
if codename in ("Lynnfield", "Clarkdale") and "Xeon" not in hardware_report.get("CPU").get("Processor Name") and self.utils.parse_darwin_version(macos_version) < self.utils.parse_darwin_version("19.0.0"):
smbios_model = "iMac11,1" if codename in "Lynnfield" else "iMac11,2"