diff --git a/Docs/AvailabilityVersions/README.md b/Docs/AvailabilityVersions/README.md index dcfd7efed..83dd6e0b3 100644 --- a/Docs/AvailabilityVersions/README.md +++ b/Docs/AvailabilityVersions/README.md @@ -10,7 +10,7 @@ The OpenSwiftUI project uses a semantic versioning system defined in `Semantics. The version information used in `Semantics.swift` is derived from Apple's official availability definitions: -- Current implementation is based on [AvailabilityVersions-143.7](https://github.com/apple-oss-distributions/AvailabilityVersions/blob/AvailabilityVersions-143.7/availability.dsl) +- Current implementation is based on [AvailabilityVersions-151-patch](https://github.com/OpenSwiftUIProject/AvailabilityVersions/blob/AvailabilityVersions-151-patch/availability.dsl) - The availability DSL file defines the relationships between OS versions and their corresponding version sets ## Versioning Structure @@ -40,7 +40,7 @@ When updating the project to support new OS versions: ## References - [The Apple Wiki Timeline](https://theapplewiki.com/wiki/Timeline) -- [Apple OSS Distributions](https://github.com/apple-oss-distributions/AvailabilityVersions) +- [AvailabilityVersions Fork](https://github.com/OpenSwiftUIProject/AvailabilityVersions) ## License diff --git a/Docs/AvailabilityVersions/VersionMap.h b/Docs/AvailabilityVersions/VersionMap.h index 8ad383b9e..fb1bbe172 100644 --- a/Docs/AvailabilityVersions/VersionMap.h +++ b/Docs/AvailabilityVersions/VersionMap.h @@ -20,7 +20,7 @@ struct __attribute__((visibility("hidden"))) VersionSetEntry { } }; -static const std::array sVersionMap = {{ +static const std::array sVersionMap = {{ { .set = 0x007db0901, .ios = 0x00050000, .macos = 0x000a0700 }, { .set = 0x007dc0901, .ios = 0x00060000, .macos = 0x000a0800 }, { .set = 0x007dd0901, .ios = 0x00070000, .macos = 0x000a0900 }, @@ -60,11 +60,21 @@ static const std::array sVersionMap = {{ { .set = 0x007e62200, .bridgeos = 0x00070200, .driverkit = 0x00160000, .ios = 0x00100300, .macos = 0x000d0200, .tvos = 0x00100300, .watchos = 0x00090300 }, { .set = 0x007e62300, .bridgeos = 0x00070300, .driverkit = 0x00160400, .ios = 0x00100400, .macos = 0x000d0300, .tvos = 0x00100400, .watchos = 0x00090400 }, { .set = 0x007e62400, .bridgeos = 0x00070400, .driverkit = 0x00160500, .ios = 0x00100500, .macos = 0x000d0400, .tvos = 0x00100500, .watchos = 0x00090500 }, - { .set = 0x007e62500, .bridgeos = 0x00070600, .driverkit = 0x00160600, .ios = 0x00100600, .macos = 0x000d0500, .tvos = 0x00100600, .watchos = 0x00090600 }, + { .set = 0x007e62500, .bridgeos = 0x00070600, .driverkit = 0x00160600, .ios = 0x00100700, .macos = 0x000d0700, .tvos = 0x00100600, .watchos = 0x00090600 }, { .set = 0x007e70901, .bridgeos = 0x00080000, .driverkit = 0x00170000, .ios = 0x00110000, .macos = 0x000e0000, .tvos = 0x00110000, .watchos = 0x000a0000 }, { .set = 0x007e70c01, .bridgeos = 0x00080100, .driverkit = 0x00170100, .ios = 0x00110100, .macos = 0x000e0100, .tvos = 0x00110100, .visionos = 0x00010000, .watchos = 0x000a0100 }, { .set = 0x007e70d01, .bridgeos = 0x00080200, .driverkit = 0x00170200, .ios = 0x00110200, .macos = 0x000e0200, .tvos = 0x00110200, .visionos = 0x00010000, .watchos = 0x000a0200 }, - { .set = 0x007e70e01, .bridgeos = 0x00080300, .driverkit = 0x00170300, .ios = 0x00110300, .macos = 0x000e0300, .tvos = 0x00110300, .visionos = 0x00010000, .watchos = 0x000a0300 } + { .set = 0x007e70e01, .bridgeos = 0x00080300, .driverkit = 0x00170300, .ios = 0x00110300, .macos = 0x000e0300, .tvos = 0x00110300, .visionos = 0x00010000, .watchos = 0x000a0300 }, + { .set = 0x007e70f01, .bridgeos = 0x00080400, .driverkit = 0x00170400, .ios = 0x00110400, .macos = 0x000e0400, .tvos = 0x00110400, .visionos = 0x00010100, .watchos = 0x000a0400 }, + { .set = 0x007e71001, .bridgeos = 0x00080500, .driverkit = 0x00170500, .ios = 0x00110500, .macos = 0x000e0500, .tvos = 0x00110500, .visionos = 0x00010200, .watchos = 0x000a0500 }, + { .set = 0x007e71101, .bridgeos = 0x00080600, .driverkit = 0x00170600, .ios = 0x00110700, .macos = 0x000e0700, .tvos = 0x00110600, .visionos = 0x00010300, .watchos = 0x000a0700 }, + { .set = 0x007e80000, .bridgeos = 0x00090000, .driverkit = 0x00180000, .ios = 0x00120000, .macos = 0x000f0000, .tvos = 0x00120000, .visionos = 0x00020000, .watchos = 0x000b0000 }, + { .set = 0x007e80100, .bridgeos = 0x00090100, .driverkit = 0x00180100, .ios = 0x00120100, .macos = 0x000f0100, .tvos = 0x00120100, .visionos = 0x00020100, .watchos = 0x000b0100 }, + { .set = 0x007e80200, .bridgeos = 0x00090200, .driverkit = 0x00180200, .ios = 0x00120200, .macos = 0x000f0200, .tvos = 0x00120200, .visionos = 0x00020200, .watchos = 0x000b0200 }, + { .set = 0x007e80300, .bridgeos = 0x00090300, .driverkit = 0x00180300, .ios = 0x00120300, .macos = 0x000f0300, .tvos = 0x00120300, .visionos = 0x00020300, .watchos = 0x000b0300 }, + { .set = 0x007e80400, .bridgeos = 0x00090400, .driverkit = 0x00180400, .ios = 0x00120400, .macos = 0x000f0400, .tvos = 0x00120400, .visionos = 0x00020400, .watchos = 0x000b0400 }, + { .set = 0x007e80500, .bridgeos = 0x00090500, .driverkit = 0x00180500, .ios = 0x00120500, .macos = 0x000f0500, .tvos = 0x00120500, .visionos = 0x00020500, .watchos = 0x000b0500 }, + { .set = 0x007e80600, .bridgeos = 0x00090600, .driverkit = 0x00180600, .ios = 0x00120600, .macos = 0x000f0600, .tvos = 0x00120600, .visionos = 0x00020600, .watchos = 0x000b0600 } }}; }; diff --git a/Docs/AvailabilityVersions/availability.dsl b/Docs/AvailabilityVersions/availability.dsl index 4c4975a43..6492da146 100644 --- a/Docs/AvailabilityVersions/availability.dsl +++ b/Docs/AvailabilityVersions/availability.dsl @@ -20,6 +20,7 @@ # bleached: Boolean to mark a platform as bleached from the pulic SDKs platform macos macOS MACOS cmd_aliases=macosx,osx dyld_version_define_name=MACOSX min_max_define_name=MAC_OS_X availability_aliases=macosx -short_version_numbers availability_deprecation_define_name=MACOS version_define_name=MAC -supports_legacy_environment_defines +variant macos macOSApplicationExtension MACOSAPPLICATIONEXTENSION version macos 10.0 version macos 10.1 version macos 10.2 @@ -29,7 +30,9 @@ version macos 10.5 version macos 10.6 version macos 10.7 platform ios iOS IPHONE dyld_version_define_name=IOS min_max_define_name=IPHONE_OS platform_define_name=IOS availability_deprecation_define_name=IOS -supports_legacy_environment_defines -variant ios iosmac MACCATALYST availability_aliases=macCatalyst +variant ios iOSApplicationExtension IOSAPPLICATIONEXTENSION +variant ios macCatalyst MACCATALYST +variant ios macCatalystApplicationExtension MACCATALYSTAPPLICATIONEXTENSION version ios 2.0 version ios 2.1 version ios 2.2 @@ -55,6 +58,7 @@ version ios 7.1 version ios 8.0 set fall_2014 2014.9.1 0.0 platform watchos watchOS WATCHOS ios_implicit_min=9.0 min_max_define_name=WATCH_OS -supports_legacy_environment_defines +variant watchos watchOSApplicationExtension WATCHOSAPPLICATIONEXTENSION version watchos 1.0 version macos 10.10.2 version macos 10.10.3 @@ -65,6 +69,7 @@ version ios 8.3 version ios 8.4 version ios 9.0 platform tvos tvOS TVOS cmd_aliases=appletvos ios_implicit_min=9.0 min_max_define_name=TV_OS -supports_legacy_environment_defines +variant tvos tvOSApplicationExtension TVOSAPPLICATIONEXTENSION version tvos 9.0 version watchos 2.0 set fall_2015 2015.9.1 0.0 @@ -99,7 +104,7 @@ version macos 10.13 version ios 11.0 version tvos 11.0 version watchos 4.0 -platform bridgeos bridgeOS BRIDGEOS ios_implicit_min=11.0 min_max_define_name=BRIDGE_OS +platform bridgeos bridgeOS BRIDGEOS ios_implicit_min=11.0 min_max_define_name=BRIDGE_OS -bleached version bridgeos 2.0 set fall_2017 2017.9.1 0.0 version macos 10.13.1 @@ -305,10 +310,10 @@ version ios 16.6 version tvos 16.6 version watchos 9.6 version bridgeos 7.6 -set 2022_SU_G 2022.37.0 22.6.0 -# Security updates shipped after 2022_SU_G version macos 13.6 version ios 16.7 +version macos 13.7 +set 2022_SU_G 2022.37.0 22.6.0 version macos 14.0 version ios 17.0 version tvos 17.0 @@ -316,7 +321,8 @@ version watchos 10.0 version bridgeos 8.0 version driverkit 23.0 set fall_2023 2023.9.1 23.0.0 -platform visionos visionOS VISIONOS min_max_define_name=VISION_OS cmd_aliases=xros availability_aliases=xros ios_implicit_min=17.1 +platform visionos visionOS VISIONOS min_max_define_name=VISION_OS cmd_aliases=xros ios_implicit_min=17.1 +variant visionos visionOSApplicationExtension VISIONOSAPPLICATIONEXTENSION version visionos 1.0 version macos 14.1 version ios 17.1 @@ -339,3 +345,83 @@ version watchos 10.3 version bridgeos 8.3 version driverkit 23.3 set 2023_SU_D 2023.14.1 23.3.0 +version macos 14.4 +version ios 17.4 +version tvos 17.4 +version watchos 10.4 +version bridgeos 8.4 +version driverkit 23.4 +version visionos 1.1 +set 2023_SU_E 2023.15.1 23.4.0 +version macos 14.5 +version ios 17.5 +version tvos 17.5 +version watchos 10.5 +version bridgeos 8.5 +version driverkit 23.5 +version visionos 1.2 +set 2023_SU_F 2023.16.1 23.5.0 +version macos 14.7 +version ios 17.7 +version tvos 17.6 +version watchos 10.7 +version bridgeos 8.6 +version driverkit 23.6 +version visionos 1.3 +set 2023_SU_G 2023.17.1 23.6.0 +version macos 15.0 +version ios 18.0 +version tvos 18.0 +version watchos 11.0 +version bridgeos 9.0 +version driverkit 24.0 +version visionos 2.0 +set fall_2024 2024.0.0 24.0.0 +version macos 15.1 +version ios 18.1 +version tvos 18.1 +version watchos 11.1 +version bridgeos 9.1 +version driverkit 24.1 +version visionos 2.1 +set 2024_SU_B 2024.1.0 24.1.0 +version macos 15.2 +version ios 18.2 +version tvos 18.2 +version watchos 11.2 +version bridgeos 9.2 +version driverkit 24.2 +version visionos 2.2 +set 2024_SU_C 2024.2.0 24.2.0 +version macos 15.3 +version ios 18.3 +version tvos 18.3 +version watchos 11.3 +version bridgeos 9.3 +version driverkit 24.3 +version visionos 2.3 +set 2024_SU_D 2024.3.0 24.3.0 +version macos 15.4 +version ios 18.4 +version tvos 18.4 +version watchos 11.4 +version bridgeos 9.4 +version driverkit 24.4 +version visionos 2.4 +set 2024_SU_E 2024.4.0 24.4.0 +version macos 15.5 +version ios 18.5 +version tvos 18.5 +version watchos 11.5 +version bridgeos 9.5 +version driverkit 24.5 +version visionos 2.5 +set 2024_SU_F 2024.5.0 24.5.0 +version macos 15.6 +version ios 18.6 +version tvos 18.6 +version watchos 11.6 +version bridgeos 9.6 +version driverkit 24.6 +version visionos 2.6 +set 2024_SU_G 2024.6.0 24.6.0 diff --git a/Sources/OpenSwiftUICore/Semantic/Semantics.swift b/Sources/OpenSwiftUICore/Semantic/Semantics.swift index d99a14730..4cb3cfdac 100644 --- a/Sources/OpenSwiftUICore/Semantic/Semantics.swift +++ b/Sources/OpenSwiftUICore/Semantic/Semantics.swift @@ -322,14 +322,22 @@ let openSwiftUI_v5_2_os_versions = dyld_build_version_t(version: 0x07E7_0d01) /// macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, bridgeOS 9.0, driverKit 24.0, visionOS 2.0 let openSwiftUI_v6_0_os_versions = dyld_build_version_t(version: 0x07E8_0000) -/// 2024 (2024.1.0) SDK version set +/// 2024 SU B (2024.1.0) SDK version set +/// +/// macOS 15.1, iOS 18.1, watchOS 11.1, tvOS 18.1, bridgeOS 9.1, driverKit 24.1, visionOS 2.1 let openSwiftUI_v6_1_os_versions = dyld_build_version_t(version: 0x07E8_0100) /// 2024 (2024.2.0) SDK version set +/// +/// macOS 15.2, iOS 18.2, watchOS 11.2, tvOS 18.2, bridgeOS 9.2, driverKit 24.2, visionOS 2.2 let openSwiftUI_v6_2_os_versions = dyld_build_version_t(version: 0x07E8_0200) /// 2024 (2024.4.0) SDK version set +/// +/// macOS 15.4, iOS 18.4, watchOS 11.4, tvOS 18.4, bridgeOS 9.4, driverKit 24.4, visionOS 2.4 let openSwiftUI_v6_4_os_versions = dyld_build_version_t(version: 0x07E8_0400) /// Fall 2025 (2025.0.0) SDK version set +/// +/// macOS 26.0, iOS 26.0, watchOS 26.0, tvOS 26.0, bridgeOS 26.0, driverKit 26.0, visionOS 26.0 let openSwiftUI_v7_0_os_versions = dyld_build_version_t(version: 0x07E9_0000)