Mungomash LLC
Xcode Versions

2003 – 2026

Xcode Versions

Every public release of Xcode — Xcode 1.0 in October 2003 through the current line — with the minimum supported macOS to install, the bundled Swift version, the iOS / iPadOS / macOS / tvOS / watchOS / visionOS SDK set, and the current App Store submission floor. Each cell is a floor, not a target: the least you have to upgrade to keep building and submitting. Plus the NeXT lineage, the Xcode 4 unified-window era, the Swift open-source moment, the Apple Silicon transition, and Apple’s App Store submission-floor enforcement pattern.

Current App Store submission floor

As of April 2026: new app submissions to the App Store must be built with Xcode 16 or later, using the iOS 18 SDK (or newer platform SDK as applicable). Xcode 16 is the floor — the row marked with the amber left edge and the App Store Min badge in the matrix below. Anything older gets rejected at upload; anything newer (currently Xcode 26) is fine to use.

Apple announces submission-floor changes via developer.apple.com/news with 1–6 months’ notice. Below-floor submissions are rejected at upload time with no in-IDE warning. This strip is the most volatile element on the page and is refreshed on a tighter cadence than the historical matrix below.

Era & App Store floor

Era

NeXT lineage — Xcode 1.0 – 3.x, 2003–2010, Project Builder DNA, separate Interface Builder window
Unified — Xcode 4.0 onward, 2011+, single-window IDE with Interface Builder integrated

App Store status

App Store Minthe floor itself: the lowest Xcode currently accepted for new App Store submissions. Marked with the amber left edge on its row and the inline App Store Min badge.
Above the floor — rows above the marked row are newer Xcodes, fine to use for submission.
Below floor — rows below the marked row produce submissions that are rejected at upload time.

Xcode × Min macOS × Swift × iOS SDK × App Store floor — minimum supported

Each row is one Xcode release; each cell in the macOS, Swift, and SDK columns is the minimum supported version for that Xcode — what you need to install, what it bundles, what it builds against. Higher versions in the same major line generally work; lower versions don’t. Read it as a floor: the macOS upgrade is often the binding constraint (older Macs can’t run the latest macOS), so the right answer when an upgrade forces your hand is usually to satisfy the floor and stop.

Xcode
Xcode 26
Sep 2025
15.x+
26
Current Stable. The unified-version-26 jump alongside macOS, iOS, iPadOS, watchOS, tvOS, visionOS. Swift 6 strict-concurrency refinements continue.
  • Version-number jump from 16 to 26. Apple unified the version numbers across all of its operating systems and developer tooling on a year-based schema in September 2025 — macOS Tahoe (26), iOS 26, iPadOS 26, watchOS 26, tvOS 26, visionOS 26, and Xcode 26 all ship together as the “26” line, representing the September 2025 through September 2026 release window. The previous Xcode major was 16; there is no Xcode 17 through Xcode 25.
  • Bundled Swift 6.1+ (point-release Xcodes through the 26.x line bundle progressively newer 6.x minors). Apple Silicon native; Intel build support continues but is on the documented sunset path.
  • Minimum macOS Sequoia 15.x. Bundled SDKs: iOS 26, iPadOS 26, macOS 26 Tahoe, tvOS 26, watchOS 26, visionOS 26.
  • Continued Apple Intelligence framework expansion; on-device predictive code completion improvements; Liquid Glass UI integration on Tahoe.
  • Above the App Store submission floor. Free to use; the floor as of April 2026 is Xcode 16 (the row below this one). Pulling Xcode 26 in early gets you newer SDKs and language features, but Xcode 16 is the smallest move that satisfies the submission floor.
Xcode
Xcode 16
Sep 2024
14.5+
18
App Store MinCurrent App Store floor. The minimum Xcode required for new submissions as of April 2026. Swift 6 strict concurrency by default.
  • App Store submission floor as of April 2026. New app submissions to the App Store must be built with this Xcode or later, using the iOS 18 SDK (or newer platform SDK as applicable). Below-floor submissions are rejected at upload time with no in-IDE warning. If you’re preparing a submission and want to do the smallest possible upgrade, this is the version to target. See the submission-floor strip at the top of the page for the most recent floor announcement.
  • Bundled Swift 6.0. Strict concurrency checking is the default for new projects; existing projects can opt back into the Swift 5 language mode.
  • Minimum macOS Sonoma 14.5; Apple Silicon native and Intel Universal binary.
  • Bundled SDKs: iOS 18, iPadOS 18, macOS 15 Sequoia, tvOS 18, watchOS 11, visionOS 2.
  • Apple Intelligence APIs (Writing Tools, Image Playground, Genmoji) integrate at the framework level.
  • Predictive code completion runs locally on Apple Silicon (M1+); requires 8 GB+ RAM and a fresh model download on first launch.
Xcode
Xcode 15
Sep 2023
13.5+
17
Macros. visionOS 1.0 SDK ships in 15.2. Big installer-size shrink.
  • Swift 5.9 with macros. Compile-time code generation via the @freestanding / @attached macro system; SwiftSyntax-driven.
  • Minimum macOS Ventura 13.5; first Xcode that drops Monterey support.
  • Bundled SDKs: iOS 17, iPadOS 17, macOS 14 Sonoma, tvOS 17, watchOS 10. visionOS 1.0 SDK ships with Xcode 15.2 (December 2023).
  • Installer size dropped roughly 40% (the Asset Catalog Compiler and platform SDKs are now downloadable on demand instead of bundled in the initial download).
  • Below the current App Store submission floor as of April 2026 — submissions must be Xcode 16+.
Xcode
Xcode 14
Sep 2022
12.5+
16
Lock screen widgets. if let shorthand. watchOS app independence.
  • Bundled Swift 5.7. Headline language addition: if let foo shorthand instead of if let foo = foo; regex literals.
  • Minimum macOS Monterey 12.5; first Xcode that drops Big Sur.
  • Bundled SDKs: iOS 16, iPadOS 16, macOS 13 Ventura, tvOS 16, watchOS 9.
  • Lock Screen widgets and Live Activities ship as iOS 16 features.
  • Final “legacy” build system removed; new build system has been default since Xcode 10 (2018).
Xcode
Xcode 13
Sep 2021
11.3+
15
Async / await. Actors. Xcode Cloud preview.
  • Swift 5.5 with structured concurrency. async/await, actors, Task, async let, @MainActor — the watershed concurrency release for Swift.
  • Minimum macOS Big Sur 11.3; first Xcode whose minimum macOS aligned with the prior year’s release.
  • Bundled SDKs: iOS 15, iPadOS 15, macOS 12 Monterey, tvOS 15, watchOS 8.
  • Xcode Cloud ships in beta — Apple’s hosted CI/CD service tied into the Xcode and App Store Connect workflow. Generally available with Xcode 14.
Xcode
Xcode 12
Sep 2020
10.15.4+
14
Apple Silicon transition. Universal 2 binaries. SwiftUI App lifecycle.
  • First Apple Silicon Universal 2 binary. Xcode 12 itself runs natively on M1; produces Universal 2 binaries that bundle Intel x86_64 and arm64 slices for the Apple Silicon transition (cross-link: the Mac page’s Apple Silicon transition section).
  • Bundled Swift 5.3 — multi-pattern catch, Swift Package Manager resources, multiple trailing closures.
  • Minimum macOS Catalina 10.15.4.
  • Bundled SDKs: iOS 14, iPadOS 14, macOS 11 Big Sur, tvOS 14, watchOS 7.
  • SwiftUI 2.0 ships with the SwiftUI App lifecycle, replacing AppDelegate-based scaffolding for new apps.
Xcode
Xcode 11
Sep 2019
10.14.4+
13
SwiftUI launches. Combine. Mac Catalyst.
  • SwiftUI launches. Apple’s declarative UI framework, modeled on React; immediately becomes the strategic future for Apple platforms.
  • Bundled Swift 5.1 — opaque return types (some View) and property wrappers (@State, @Binding) ship together to enable the SwiftUI design.
  • Combine — Apple’s reactive-streams framework, ships as the SwiftUI data-flow companion.
  • Mac Catalyst ships as the iPad-app-on-Mac bridge.
  • Minimum macOS Mojave 10.14.4. Bundled SDKs: iOS 13, iPadOS 13, macOS 10.15 Catalina, tvOS 13, watchOS 6.
Xcode
Xcode 10
Sep 2018
10.13.6+
12
New build system default. Dark Mode (macOS Mojave). Create ML.
  • Bundled Swift 4.2; new build system becomes default.
  • Dark Mode rendering for Mojave-targeted apps; Create ML for on-Mac model training.
  • Minimum macOS High Sierra 10.13.6.
Xcode
Xcode 9
Sep 2017
10.12.6+
11
Wireless device debugging. Refactoring engine rewrite. ARKit / Core ML.
  • Bundled Swift 4.0; refactoring engine rewritten on top of SourceKit.
  • Wireless device debugging over the network (no more Lightning cable for run/debug).
  • ARKit and Core ML APIs ship as iOS 11 features.
Xcode
Xcode 8
Sep 2016
10.11.5+
10
Swift 3 source-incompatible reset. Source Editor Extensions. Plugins deprecated.
  • Bundled Swift 3.0 — the deliberate source-incompatible reset that cleaned up the Swift API guidelines for the open-source era. Massive migration cost; the last major source-break in Swift’s history.
  • Source Editor Extensions ship as the supported plugin successor. Third-party Xcode plugins are deprecated — the long-running Alcatraz / XVim / Backslash community pivots out of the IDE itself.
  • Minimum macOS El Capitan 10.11.5. Bundled SDKs: iOS 10, macOS 10.12 Sierra, tvOS 10, watchOS 3.
Xcode
Xcode 7
Sep 2015
10.10.5+
9
Free on-device deployment without paid account. tvOS launches.
  • Bundled Swift 2.0 — guard, defer, do/try/catch error handling, protocol extensions.
  • Free on-device deployment ships — you no longer need a $99/year Apple Developer Program membership to install apps on your own device for testing.
  • tvOS SDK ships as Apple TV (4th gen) launches.
Xcode
Xcode 6
Sep 2014
10.9.4+
8
Swift 1.0 launches. Playgrounds. watchOS SDK.
  • Swift 1.0 ships alongside Xcode 6 — Chris Lattner’s long-running internal project (started 2010) becomes a public language. Closed-source at this stage; open-sourced in December 2015.
  • Playgrounds ship — the live-execution Swift workspace that became Apple’s teaching environment.
  • watchOS SDK ships ahead of Apple Watch launch.
  • Minimum macOS Mavericks 10.9.4.
Xcode
Xcode 5
Sep 2013
10.8.4+
7
iOS 7 redesign era. Auto-Configuration of code-signing identities. Bots / Continuous integration.
  • iOS 7 SDK ships alongside the iOS 7 redesign — the largest iOS visual reset of the platform’s first decade (cross-link: iOS 7 row on the iOS Versions page).
  • Auto-Configuration of code-signing identities — reduces the certificate-and-provisioning-profile churn that had plagued earlier versions.
  • Xcode Server / Bots ship as the first Apple-hosted CI option (later superseded by Xcode Cloud in Xcode 13).
  • Objective-C only at this stage; Swift wouldn’t arrive until Xcode 6 (September 2014).
Xcode
Xcode 4
Mar 2011
10.6.6+
4
Unified-window IDE. Interface Builder integrated. LLVM compiler.
  • Unified-window IDE. Interface Builder integrated into Xcode itself, ending eight years of Xcode-and-Interface-Builder as separate apps. Workspace concept ships. Controversial at launch — longtime developers found the unified UI cluttered — but became the structural foundation for every Xcode release since.
  • LLVM becomes the default compiler, replacing GCC. Clang front-end becomes the default for Objective-C.
  • Apple Developer Program required to download (briefly). Xcode 4.1 was the first free download for Lion users.
  • Minimum macOS Snow Leopard 10.6.6.
Xcode
Xcode 3
Oct 2007
10.5+
2–4
First iOS SDK (iPhone OS 2). Refactoring. Snapshots.
  • First iPhone SDK ships with Xcode 3.1 (March 2008) alongside iPhone OS 2 (cross-link: iPhone OS 2 row). Originally announced at WWDC 2008.
  • First refactoring tools; project Snapshots; static analyzer integration.
  • Xcode 3 ran on Leopard (10.5) and Snow Leopard (10.6) through 2010; succeeded by Xcode 4 in March 2011.
Xcode
Xcode 2
Apr 2005
10.4+
Universal binary support for the Intel transition. Core Data.
  • Universal binary support ships in Xcode 2.1 (2005) for the PowerPC→Intel transition (cross-link: the Mac page’s Intel transition section).
  • Core Data ships as the recommended object-graph and persistence framework.
  • Minimum macOS Tiger 10.4.
Xcode
Xcode 1
Oct 2003
10.3+
First Xcode release. Replaces Project Builder. PowerPC era.
  • First Xcode release, replacing Project Builder — the IDE Apple inherited from NeXT in the 1996 NeXT acquisition (cross-link: the Mac page’s NeXT acquisition section).
  • Ships with Mac OS X Panther 10.3 (October 2003). PowerPC architecture only at this stage.
  • Carbon and Cocoa toolchains both supported.
  • Xcode 1.0 was the rebrand; the codebase had been Project Builder for several years before that.

Each row anchors as #xcode-N (e.g. #xcode-26, #xcode-16, #xcode-12). Each cell in the macOS, Swift, and SDK columns is the minimum supported version for that Xcode — the floor for that row. Higher versions in the same major line generally work; lower versions don’t. The macOS upgrade is often the binding constraint: older Macs that can’t run a newer macOS can’t install a newer Xcode either, period. The row marked with the amber left edge and the App Store Min badge in its Notable cell is the additional App Store submission floor — the lowest Xcode that produces an acceptable submission today. Anything below the line gets rejected at upload. Check developer.apple.com/news for the most recent floor announcement; this matrix is refreshed quarterly with a tighter sub-cadence on the floor row.

The NeXT lineage and Project Builder origin

Xcode is genuinely old. Its codebase descends from Project Builder, the IDE that shipped on NeXTSTEP starting in 1989, written by NeXT to bootstrap its own NeXTSTEP and OPENSTEP applications. Project Builder paired with Interface Builder (separate app, built around the same idea of editable interface freeze-dries that the Mac OS classic Resource Editor pioneered) to form the canonical NeXT developer toolchain. When Apple acquired NeXT in December 1996 — the deal that returned Steve Jobs to Apple and seeded what would become Mac OS X — Project Builder and Interface Builder came along for the ride.

Through Mac OS X Cheetah (March 2001) and through Jaguar (August 2002), Project Builder + Interface Builder were the official toolchain on the new platform. Cocoa apps were built in Project Builder; Carbon apps could use it too via the C-bridged toolchain. Xcode 1.0 in October 2003 was the rebrand that signaled Apple’s ownership of the IDE direction. Project Builder went away as a name but its DNA carries forward through every Xcode release since — the project file format (.xcodeproj), the build-settings inheritance model, the workspace concept, the way targets composed into products. (Cross-link: the Mac page’s NeXT acquisition section.)

Interface Builder remained a separate app for almost another decade. It only merged into Xcode itself with Xcode 4 in March 2011 — the unified-window era that has held since.

Xcode 4 and the unified-window era (March 2011)

Xcode 4 was contentious. The redesign collapsed the multi-window NeXT-lineage IDE into a single unified workspace window, integrated Interface Builder directly into the same window, and reorganized the navigation panes around a left-rail navigator + right-rail inspector model. Longtime developers who had learned Project Builder + Interface Builder as separate apps over the previous decade found the new unified UI dense and unfamiliar. The release was widely (if grudgingly) regarded as “a step backward in the short term, a foundation in the long term.”

The long term argued for the redesign. Every Xcode release since 2011 has built on the unified-window foundation. The single-window architecture made possible the Assistant Editor, the unified Build Settings inspector, the Issue Navigator, the integrated Source Control UI, and most recently the embedded SwiftUI Preview canvas. Splitting any of those across multiple top-level windows would have produced a worse experience.

Xcode 4 also flipped two compiler defaults that mattered structurally: LLVM became the default compiler toolchain (replacing GCC, which had been the BSD/Mach default since the OPENSTEP era), and Clang became the default Objective-C front-end. Chris Lattner had brought LLVM into Apple in 2005; by Xcode 4 it was the toolchain. The investment in LLVM as a platform — rather than a one-off C compiler — is what made Swift (announced 2014, open-sourced 2015) implementable inside Apple at all. (Cross-link: the Swift Versions page on Lattner’s lineage.)

The iPhone SDK and the App Store-shaped Xcode

The iPhone shipped in June 2007 with no official third-party SDK; Apple’s public position at launch was that web apps in mobile Safari would be the third-party developer story. The reversal came at WWDC 2008: Apple announced the iPhone SDK, the App Store, the Apple Developer Program, and the entire ecosystem that has shaped Xcode releases ever since. Xcode 3.1 (March 2008) shipped the first public iPhone SDK preview; Xcode 3.1 GA shipped alongside the App Store launch in July 2008. (Cross-link: the iOS Versions page’s App Store launch section.)

Every Xcode release from 3.1 onward is shaped by the iPhone (and later iPad / Apple Watch / Apple TV / Vision Pro) SDK release cycle far more than by the Mac SDK cycle. A new Xcode in September every year tracks the September iOS release; the macOS release in October usually fits inside the same Xcode major. The iOS-shaped cadence has held for nearly two decades.

Swift — closed in 2014, open in 2015

Swift launched at WWDC 2014 — closed-source at first, bundled inside Xcode 6, designed by Chris Lattner’s team. Apple positioned it as the eventual successor to Objective-C; the immediate effect was a confusing 2014–2016 period when the same project might have a mix of Objective-C source files (.m), Swift source files (.swift), and bridging headers connecting them.

In December 2015, Apple open-sourced Swift — including the compiler, standard library, REPL, and Swift Package Manager — under the Apache 2.0 license. The Swift project moved to open evolution through the Swift Evolution process, with formal SE-NNNN proposals reviewed by a community-and-Apple committee. (Cross-link: the Swift Versions page’s open-source section.)

The deliberate Swift 3 source-incompatible reset shipped with Xcode 8 (September 2016) — cleaning up the Swift API guidelines for the open-source era, reformulating naming conventions, and breaking source compatibility one last time before committing to the long-term backwards-compat guarantee. Subsequent Xcode releases have bundled the matching Swift major: Swift 4 with Xcode 9, Swift 5 with Xcode 10.2 (with ABI stability), Swift 5.5 (concurrency) with Xcode 13, Swift 6 (strict concurrency default) with Xcode 16.

The Apple Silicon transition (Xcode 12, 2020)

Apple announced the Apple Silicon transition at WWDC 2020 and shipped the first M1 Macs in November 2020. Xcode 12 was the bridge release: it ran natively on Apple Silicon (arm64) Macs and on Intel (x86_64) Macs, and its build output was the new Universal 2 binary format that bundles both arm64 and x86_64 slices into a single executable.

Universal 2 echoed the original Universal binary format from Xcode 2.1 (2005) — that one bridged the PowerPC→Intel transition. The architectural pattern is identical: Apple ships a transition Xcode that can build for both architectures, gives developers a 2–3 year window to migrate, and then drops the older architecture from the bundled SDK once the migration is complete. Intel x86_64 deprecation is in motion as of the mid-2020s; Xcode releases past Xcode 16 have begun the formal de-support pattern. (Cross-link: the Mac page’s Apple Silicon transition section.)

The Apple Silicon transition also accelerated Xcode-the-product. Compile times improved substantially on M1+; the local on-device debugger workflow got faster; the iOS Simulator got dramatically faster (it now runs as a native arm64 process rather than translated x86_64). Xcode 16’s on-device predictive code completion is only viable because the Apple Silicon NPU and unified-memory architecture make large-model inference cheap on the developer’s own machine.

Xcode Cloud (2021–)

Xcode Cloud shipped in beta with Xcode 13 (2021) and reached general availability with Xcode 14 (2022). It’s Apple’s hosted CI/CD service, integrated with Xcode and App Store Connect: pushed branches trigger builds, build results render inside Xcode itself, and successful builds can flow directly into TestFlight and App Store submissions. The service replaced the older Xcode Server / Bots feature (which had shipped in Xcode 5 and stagnated through the 2010s) with a fully managed alternative. Adoption has been measured — teams using GitHub Actions, Bitrise, or Circle for cross-platform CI tend to stay on those rather than fragmenting their pipeline — but for iOS-only shops, Xcode Cloud is now the default Apple-recommended CI path.

The App Store submission-floor pattern

Apple periodically announces a submission-floor change: “Starting <date>, all new app submissions to the App Store must be built with Xcode <N> or later, using the <platform> <N> SDK or later.” The pattern took shape around 2015 and has held since: a floor change is typically announced 2–6 months in advance via developer.apple.com/news and reaches enforcement on the announced date. Submissions below the floor are rejected at upload time with a generic “invalid bundle” error and an opaque support-page link.

The pattern matters operationally because the failure mode is silent. There’s no in-IDE warning when you build with an Xcode that’s about to fall below floor. There’s no email reminder. The only way to discover that your CI pipeline produces unsubmittable builds is to attempt a submission and have it rejected. Teams whose CI is pinned to a specific Xcode version (and most are, for reproducibility) tend to discover this only when a release blocks at upload time.

The current floor is surfaced in the strip near the top of this page. When Apple announces a new floor, this page’s recurring refresh task updates the strip and re-tags the affected rows in the matrix. The floor cell is the most volatile element on the page and is checked on a tighter sub-cadence than the rest. The page’s refresh task (`work/tasks/refresh-xcode-versions.md`) calls out the floor check explicitly.

The Android-side counterpart

The cascade pattern this page documents — an IDE that pins a minimum OS to install, a bundled language version, a bundled platform SDK, and a downstream submission floor — isn’t Apple-specific. The same shape exists on the Android side, where Android Studio pins a minimum AGP, AGP pins a minimum Gradle and a minimum Kotlin Gradle Plugin, all of them pin a minimum JDK, and Google Play Store has its own target-SDK submission floor that escalates roughly annually. The two stacks differ in their specifics — Android’s split toolchain (Studio is JetBrains-derived, Gradle is independent, Kotlin is JetBrains’ language, JDK is OpenJDK) creates more vendor flexibility but more compatibility surface; Apple’s monolithic toolchain reduces the matrix but makes the macOS upgrade itself the binding constraint — but the mental model is the same: floor not target, do the least you can get away with. (Cross-link: Android Studio Versions.)

Sources: developer.apple.com/news/releases; Xcode release notes; developer.apple.com/news (App Store submission-floor announcements); swift.org/install; Apple support: macOS compatibility. Cross-references: Swift Versions, Mac Versions, iOS Versions, Android Studio Versions. Last updated April 2026.

Mungomash LLC · More data pages