Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Docs/AvailabilityVersions/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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

Expand Down
16 changes: 13 additions & 3 deletions Docs/AvailabilityVersions/VersionMap.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ struct __attribute__((visibility("hidden"))) VersionSetEntry {
}
};

static const std::array<VersionSetEntry, 44> sVersionMap = {{
static const std::array<VersionSetEntry, 54> sVersionMap = {{
{ .set = 0x007db0901, .ios = 0x00050000, .macos = 0x000a0700 },
{ .set = 0x007dc0901, .ios = 0x00060000, .macos = 0x000a0800 },
{ .set = 0x007dd0901, .ios = 0x00070000, .macos = 0x000a0900 },
Expand Down Expand Up @@ -60,11 +60,21 @@ static const std::array<VersionSetEntry, 44> 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 }
}};
};

96 changes: 91 additions & 5 deletions Docs/AvailabilityVersions/availability.dsl
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -305,18 +310,19 @@ 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
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
Expand All @@ -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
10 changes: 9 additions & 1 deletion Sources/OpenSwiftUICore/Semantic/Semantics.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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)