Why it is shaped this way
Floors at the 26 releases
Status: accepted, 2026-10-02. Serves The store is the UI's state. Reopen when an adopter needs an older release, or at the 1.0 review.
Status: accepted, 2026-10-02. Serves The store is the UI's state. Reopen when an adopter needs an older release, or at the 1.0 review.
Context#
Observation, which the store is built on, needs iOS 17. Every release since
added something the runtime would otherwise have to work around: Mutex
and the main-actor View baseline in 18, Observations and InlineArray
in 26, continuous observation in 27.
Decision#
iOS 26, macOS 26 and the matching 26 releases of the other Apple platforms; Swift 6.2 tools (Xcode 26 or later); Swift 6 language mode. The runtime carries no availability branches below the floor; iOS 27 APIs are used behind a check where they pay.
Evidence#
- iOS 26 and 27 together were about 91% of iPhones in late September 2026 (TelemetryDeck), with iOS 17 and older under 2%.
- The App Store has required the iOS 26 SDK since April 2026, so every shipping app already builds with the tools the floor assumes.
- The owner's products do not need older releases, and backward compatibility was explicitly not a concern.
Not chosen#
- iOS 17, the hard floor of Observation: every newer convenience behind a check, for under 2% of devices.
- iOS 18:
ObservationsandInlineArraybehind checks, for under 10%.
Baton