# This file defines availability macros mapping Swift releases to ABI stable # OS releases that include the corresponding Swift Standard Library version. # # The macros defined here are available for use in all Swift libraries and swift # lit tests defined in this repository. They can be used in place of a full # version constraint list in `@available` attributes. That is to say, instead of # # @available(macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4, *) # # we can write # # @available(SwiftStdlib 5.2, *) # # Comments in this file start with `#`. Comments and empty lines are ignored. # Each of the remaining lines must define an availability macro in the same # format used by the `-define-availability` frontend command line option. # NOTE: The build system will define another macro, StdlibDeploymentTarget, for # each SwiftStdlib macro defined in this file. The difference between the # two is the the StdlibDeploymentTarget macro will never be set to a # higher version than the machine on which we are building. # # This is to allow for use of new functions and types within the standard # libraries, in such a way that these usages will work on our CI machines. # 9999 is the generic unknown future Swift release. It always needs to resolve # to the special placeholder version numbers 9999. SwiftStdlib 9999:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999 # The last entry in this list corresponds to the Swift version currently under # development. This usually resolves to placeholder version numbers (9999) until # the corresponding operating systems get announced. SwiftStdlib 5.0:macOS 10.14.4, iOS 12.2, watchOS 5.2, tvOS 12.2 SwiftStdlib 5.1:macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0 SwiftStdlib 5.2:macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4 SwiftStdlib 5.3:macOS 11.0, iOS 14.0, watchOS 7.0, tvOS 14.0 SwiftStdlib 5.4:macOS 11.3, iOS 14.5, watchOS 7.4, tvOS 14.5 SwiftStdlib 5.5:macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0 SwiftStdlib 5.6:macOS 12.3, iOS 15.4, watchOS 8.5, tvOS 15.4 SwiftStdlib 5.7:macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0 SwiftStdlib 5.8:macOS 13.3, iOS 16.4, watchOS 9.4, tvOS 16.4 SwiftStdlib 5.9:macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0 SwiftStdlib 5.10:macOS 14.4, iOS 17.4, watchOS 10.4, tvOS 17.4, visionOS 1.1 SwiftStdlib 6.0:macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0 SwiftStdlib 6.1:macOS 15.4, iOS 18.4, watchOS 11.4, tvOS 18.4, visionOS 2.4 SwiftStdlib 6.2:macOS 26.0, iOS 26.0, watchOS 26.0, tvOS 26.0, visionOS 26.0 SwiftStdlib 6.3:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, visionOS 9999 # Like SwiftStdlib 5.0, but also the oldest visionOS. SwiftCompatibilitySpan 5.0:macOS 10.14.4, iOS 12.2, watchOS 5.2, tvOS 12.2, visionOS 1.0 # Identical to SwiftStdlib 6.2. SwiftCompatibilitySpan 6.2:macOS 26.0, iOS 26.0, watchOS 26.0, tvOS 26.0, visionOS 26.0 # TODO: When you add a new version, remember to tell the compiler about it # by also adding it to include/swift/AST/RuntimeVersions.def. # Local Variables: # mode: conf-unix # End: