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

Since April 28, 2026: new app submissions to the App Store must be built with Xcode 26 or later, using an SDK for iOS 26, iPadOS 26, tvOS 26, visionOS 26, or watchOS 26. Xcode 26 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. The floor it replaced was Xcode 15 with the iOS 17 / iPadOS 17 / tvOS 17 / watchOS 10 SDK, in force since April 29, 2024; Apple’s Upcoming Requirements list records no intervening Xcode 16 floor.

Announced, not yet enforced — effective April 2027: submissions will have to be built with the iOS 27 / iPadOS 27 / tvOS 27 / visionOS 27 / watchOS 27 SDK or later, which in practice means Xcode 27 or later. Apple posted it on September 9, 2026 in App Store submissions now open for the latest OS releases, under a “Coming soon” heading: “Starting April 2027, apps and games uploaded to App Store Connect need to meet the following minimum requirements.” Apple named a month and not a day, and — as with every previous floor — the post is phrased purely in SDK terms and names no Xcode version. Checked again on October 30, 2026: it is still not listed on the Upcoming Requirements page, which carries only enforced rules and on which the string “2027” does not appear. So the enforced floor above is unchanged and the matrix marker stays on Xcode 26 until an SDK-floor entry for it shows up on that list.

A second upload rule, and it is not about Xcode at all. Since September 9, 2026, Apple’s Upcoming Requirements list also enforces “iOS and iPadOS minimum system requirements”: apps uploaded to App Store Connect “must target iOS 13 or later.” That is a deployment-target floor — the oldest OS your build says it supports — not an SDK or Xcode floor, so it moves no marker in the matrix below and any Xcode on this page can satisfy it. It is listed here because it is the one other way a submission gets rejected at upload with nothing on the version columns to warn you.

Apple announces submission-floor changes via developer.apple.com/news months ahead of the enforcement date — about three months’ notice for the floor in force now, about seven for its announced successor. 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 Min — the 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.

Which release a cell dates. Every row’s date is the day that Xcode reached public Stable release — not the day of its first beta, and not the day of its release candidate. (Xcode 27 makes the gap visible: the RC and the shipping build are both 27A266a, seeded September 9 and released September 14, 2026. This page dates the release.) For every closed line, the Min macOS and Swift cells state what Apple shipped at that major’s initial x.0 release. The current line (Xcode 27) is the exception: its Min macOS and Swift cells track the latest point release, because that is the Xcode you would actually install today — and since neither 27.1 (October 15, 2026) nor 27.2 (October 29, 2026) moved either number, the two conventions still coincide on that row. Both numbers move inside a line more often than you would expect — Apple has raised the minimum macOS at a point release, and has shipped a new Swift minor at a point release, in many majors — so where either moved, the row body names the point release that moved it. The iOS SDK column is a major-version column on every row, current line included: Xcode 26 reads 26 even though its last point release, 26.6, bundles the iOS 26.5 SDK, and Xcode 27 reads 27 though 27.2 bundles the 27.2 SDK on all six platforms; the exact per-point-release SDK set lives in the row body rather than the cell. Treat a cell as the entry point to its row, not as a statement about every build in the line.

Xcode
Xcode 27
Sep 2026
26.6+
27
Current line — at 27.2 since October 29, 2026 — and the first Apple-silicon-only Xcode. Swift 6.4; SDKs for all six platforms at 27 at release, the iOS SDK alone at 27.1 in 27.1, and all six at 27.2 from 27.2 on. Minimum macOS stays inside the previous line, at Tahoe 26.6 through 27.2 — it does not require macOS 27. Above the App Store floor, which is still Xcode 26.
  • Shipped September 14, 2026, build 27A266a. Apple’s releases feed lists Xcode 27 (27A266a) that day, and Apple’s security-releases list puts iOS 27, iPadOS 27, macOS 27, tvOS 27, watchOS 27, and visionOS 27 on the same date — the whole cluster on one day. (The feed itself no longer shows all of them: checked again October 30, 2026, it carries no iOS, iPadOS, macOS, or visionOS 27.0 entry — only their 27.0.1 updates of September 28 — and keeps tvOS 27.0 and watchOS 27.0 beside Xcode.) Note that the release candidate seeded five days earlier, on September 9, carries the same build number; the RC and the shipping build are the same bits, and this row dates the release.
  • Bundled Swift 6.4 and the full 27 SDK set, in Apple’s own words: “Xcode 27 includes Swift 6.4 and SDKs for iOS 27, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27” (Xcode 27 release notes). Apple names the bare minor here, not a patch, so the Swift column reads 6.4 and stops there. The Swift project has published its side of it, and that post names no Xcode. Swift 6.4 Released went up on swift.org on September 15, 2026, the day after Xcode 27 shipped, and no Xcode version appears anywhere in its body. That breaks a habit: the 5.8, 5.9 and 6.1 announcements each state the pairing outright in their downloads section (“Swift 6.1 is included in Xcode 16.3”), and this one does not — still true of the live post on October 30, 2026. The first patch has now followed it, and it is just as silent about Xcode: “Announcing Swift 6.4.1” went up on the Swift forums on October 13, 2026 (UTC), lists compiler, package-manager, Foundation and Swift Testing fixes, and names no Xcode anywhere in it — no “Xcode N contains Swift 6.4.1” sentence of the kind every 26.x patch announcement carried. Apple, for its part, opens the Xcode 27.1 notes (October 15, 2026) with “Xcode 27.1 includes Swift 6.4” — the bare minor again. So for 27.0 and 27.1 there is no second-vendor mapping to pin a patch against: Apple’s bare minor is the whole of what either vendor states. 27.2 is where the 26.x habit comes back. Apple’s Xcode 27.2 notes still open with the bare minor (“Xcode 27.2 includes Swift 6.4”), but the Swift project’s “Announcing Swift 6.4.2” (posted October 30, 2026, UTC) states it outright: “Xcode 27.2 contains Swift 6.4.2”. So the 27.2 patch is vendor-stated, while 27.0 and 27.1 remain pinned only to the minor. The column stays on Apple’s minor either way. The cell links to the sibling Swift 6.4 row.
  • The first Xcode that will not install on an Intel Mac. Apple’s release notes put it in one line — “Xcode 27 will only install and run on Apple silicon Macs” — and the same notes drop x86_64 from ARCHS_STANDARD for anything deploying to macOS 27.0 or DriverKit 27.0. Intel survives as a target and not as a host: “The macOS 27 SDK supports back deploying Universal (Intel and Apple Silicon) apps to macOS 12 and later,” x86_64 can be put back into ARCHS by hand, and “Intel development is still possible with macOS versions that support Rosetta like macOS 27.” See the Apple Silicon transition section for how that lines up with Apple’s Rosetta end-of-life dates.
  • Minimum macOS Tahoe 26.6 — “Xcode 27 requires a Mac running macOS Tahoe 26.6 or later.” Apple’s security-releases list states the same floor against the September 14 entry. Worth noticing what that floor is not: Xcode 27 does not require macOS 27. It requires a late point release of the previous major, so a Mac that can still run Tahoe but cannot take macOS 27 can still install this Xcode. The floor has held through the line’s first point release: Apple’s Xcode 27.1 notes (October 15, 2026) read “Xcode 27.1 requires a Mac running macOS Tahoe 26.6 or later,” and the shipping Xcode 27.2 notes (October 29, 2026) say the same — “Xcode 27.2 requires a Mac running macOS Tahoe 26.6 or later” — as do Apple’s 27.2 security note (“Available for: macOS Tahoe 26.6 and later”) and its requirements table (“macOS Tahoe 26.6 or later”), so as of October 30, 2026 the 27 line has not moved its floor since release. There was never a 27.0.x: the September 28 OS 27.0.1 updates shipped without one, and the line’s first point release is 27.1. What the 27.0 betas asked for is no longer checkable: Apple serves the release note for a major at one URL and revises it forward, so the page that carried the beta requirement is now the GA page.
  • The iOS and tvOS on-device debugging floor moves for the first time in two majors. Xcode 27 “supports on-device debugging in iOS 17 and later, tvOS 17 and later, watchOS 10 and later, and visionOS” — Xcode 26 still reached back to iOS 15, tvOS 15, and watchOS 8, and iOS 15 / tvOS 15 had been the floor since Xcode 16. watchOS is the exception: it has moved every major, from watchOS 7 at Xcode 16 to 8 at Xcode 26 to 10 now, per each major’s own release note. Instruments moves with it: “Instruments now requires target iOS, watchOS and tvOS devices with versions of at least iOS 17, watchOS 10, or tvOS 17.” If you maintain a device lab, that is the cell to read before upgrading.
  • Headline additions — and one that is not new here. Genuinely new in 27, per the release notes: agent planning becomes first-class, with plans surfaced as editable Markdown artifacts you review, annotate, and approve before the agent proceeds; and Device Hub adds pairing over the network for iPhone, iPad, and Apple Watch running 27 or later, so watch and phone pairing no longer needs a cable. Google Gemini in the coding assistant is not one of them. It shipped three months earlier, in Xcode 26.6 (June 25, 2026), and the Xcode 27 note simply re-lists it — under the identical radar number, 171990272, that the 26.6 note carries. An x.0 release note is cumulative over its predecessor line’s point releases, so read its New Features list as “new since Xcode 26.0,” not “new in Xcode 27.”
  • Xcode 27.1 — October 15, 2026, build 27A9275, the line’s first point release. Apple’s releases feed lists Xcode 27.1 (27A9275) that day, and the 27.1 release notes open “Xcode 27.1 includes Swift 6.4 and SDKs for iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27.” Only the iOS SDK moves, and it moves ahead of the OS it is for: iOS 27.1 itself shipped eight days later, on October 23, 2026, and only for one device — Apple’s security-releases list gives it the single compatibility entry “iPhone Duo” — and checked October 30, 2026 the developer releases feed carries no iOS 27.1 entry at all, going from iOS 27.0.1 (September 28) to iOS 27.2 (October 26). So this is an Xcode bundling an SDK before the matching OS ships, for a device launch, which is the opposite of the usual lag. What the point release is for is iPhone Duo. Apple’s October 5, 2026 post says to “Recompile existing apps with Xcode 27.1, which adds development support for iPhone Duo,” with the device reaching customers on October 23, 2026, and the Mac App Store listing describes “a simulator for the all-new poses and orientations of iPhone Duo and a coding intelligence skill to help you prepare and optimize your app.” The note itself is short — a Display group in the Previews canvas overrides picker, plus known issues for Mac Catalyst builds that use iOS 27.1 APIs and for the iPhone Duo Simulator runtime — and none of its radar numbers appear in the 27.0 note, so it is genuinely new rather than re-listed. The release-candidate pattern repeated: 27A9275 is the same build xcodereleases.com records as the RC of October 5, and this row dates the October 15 release. Min macOS, Swift, and the on-device debugging floors are all unchanged from 27.0.
  • Xcode 27.2 — October 29, 2026, the line’s second point release, and the first to move every SDK. Apple’s security-releases list stamps Xcode 27.2 29 Oct 2026 (“macOS Tahoe 26.6 and later”), its security note reads “Released October 29, 2026” and fixes two CVEs (CVE-2026-112605 in CoreDevice, “An app may be able to read arbitrary files”; CVE-2026-112602 in Instruments, “An app may be able to access sensitive user data”; Apple publishes no severity score for either), and Apple’s SDK and system requirements table now carries a plain “Xcode 27.2” row. The Mac App Store is still propagating: checked October 30, 2026, one lookup returned version 27.2 with a release time of 00:02 UTC on October 30 (the evening of October 29 in Cupertino), and later lookups the same day still returned 27.1. The 27.2 release notes open “Xcode 27.2 includes Swift 6.4 and SDKs for iOS 27.2, iPadOS 27.2, tvOS 27.2, watchOS 27.2, macOS 27.2, and visionOS 27.2,” keep the on-device debugging floors at iOS 17 / tvOS 17 / watchOS 10, and keep the macOS Tahoe 26.6 floor. This one breaks the RC-equals-release pattern: the 27.2 RC Apple’s releases feed listed on October 19 was build 27B48, while xcodereleases.com records the shipping build as 27B52 — Apple’s own pages name no build for the release, and checked October 30, 2026 the releases feed (last updated October 26) carries no Xcode 27.2 release entry yet; this row dates the release from Apple’s security list and will take the feed’s entry once it appears. What is new, by radar number absent from every 27.0, 27.1 and 26.6 note: a JSON-based project format (.xcproj) that is “more readable, merge-friendly, and easier for coding agents to edit” and opens in earlier Xcode 27 releases (184661114); Device Hub passing iPad touches through Sidecar or “a MacBook with Touch” as real multi-finger touches (188634387), timed with Apple’s October 28 Say hello to Touch on Mac post; and a batch of Device Hub additions including slow-motion animation, simulated shake, and simulated memory pressure on simulators (189236369).
  • Above the App Store floor, and on track to become it. The enforced floor is still Xcode 26 / the iOS 26 SDK, since April 28, 2026. Apple’s September 9, 2026 post announced that “Starting April 2027” uploads must use the iOS 27 & iPadOS 27, tvOS 27, visionOS 27, or watchOS 27 SDK or later — the Xcode that supplies all of them is this one. Checked again October 30, 2026: that requirement is still absent from Apple’s Upcoming Requirements list — the string “2027” occurs zero times on it — so the floor is announced rather than enforced. The thing to watch for is a new SDK-floor entry dated above “SDK minimum requirements” on that list; when one appears, the amber marker moves from Xcode 26 to this row.
Xcode
Xcode 26
Sep 2025
15.6+
26
App Store MinThe App Store submission floor. The unified-version-26 jump alongside macOS, iOS, iPadOS, watchOS, tvOS, visionOS. Superseded by Xcode 27 on September 14, 2026, so these cells are now the x.0 figures; the line’s last release is 26.6 (June 25, 2026, build 17F113), which needs macOS Tahoe 26.2 and carries Swift 6.3.
  • App Store submission floor as of April 28, 2026. Apps uploaded to App Store Connect must be built with Xcode 26 or later using an SDK for iOS 26, iPadOS 26, tvOS 26, visionOS 26, or watchOS 26. Below-floor submissions are rejected at upload time with no in-IDE warning. The floor this replaced was Xcode 15 with the iOS 17 / iPadOS 17 / tvOS 17 / watchOS 10 SDK, enforced since April 29, 2024 — Apple’s Upcoming Requirements list shows no Xcode 16 floor in between. See the submission-floor strip at the top of the page for the most recent floor announcement.
  • 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 across the 26.x line, in Apple’s own words, note by note: Xcode 26 and 26.0.1 both say “includes Swift 6.2”; 26.1.1 says “includes Swift 6.2.1”; 26.2 and 26.3 both say “includes Swift 6.2.3”; and 26.4, 26.4.1, 26.5, and 26.6 each say “includes Swift 6.3”. That is all nine notes Apple has published in this line. So Apple opened it with a bare minor (6.2, at 26.0 and again at 26.0.1), named an exact patch on every note from 26.1.1 through 26.3, then went back to the bare minor from 26.4 onward. The Swift column above reads 6.2, not 6.3 and not a patch: this line closed when Xcode 27 shipped on September 14, 2026, so the cell now carries the x.0 figure, and 26.0’s own note names the bare minor. The line ended on Swift 6.3, at 26.6. (There is no standalone 26.1 note: Apple’s 26.1 release-note page is titled “Xcode 26.1.1 Release Notes.”) One of those Apple numbers is wrong, and the Swift project says so. The 26.3 note repeats 26.2’s “includes Swift 6.2.3” verbatim, but the Swift release announcement for that patch states “Xcode 26.3 contains Swift 6.2.4” (February 27, 2026, the day after Xcode 26.3 shipped). Where the two vendors disagree on a patch, this page follows the Swift project — it is the vendor that builds the compiler, and it names the Xcode outright.
  • Where Apple stops naming the patch, the Swift project is explicit — and it names the Xcode. Each Swift release announcement states the pairing outright: “Xcode 26.4.1 contains Swift 6.3.1” (April 17, 2026), “Xcode 26.5 contains Swift 6.3.2” (May 13, 2026), and “Xcode 26.6 contains Swift 6.3.3” (June 30, 2026); Xcode 26.4 shipped with 6.3 itself. The same convention runs back into the 6.2 half of the line — “Xcode 26.3 contains Swift 6.2.4” (February 27, 2026). The announcement dates run later than the Xcode that carries the patch, and that is expected — the Darwin toolchain ships inside Xcode first, and the standalone Linux/Windows package plus the announcement follow days afterward. A later date on swift.org is therefore not evidence that an Xcode predates the patch it contains. There was no Swift 6.1 phase anywhere in the 26.x line. Apple Silicon native, and still installable on Intel Macs — the 26.x line is the last one where that is true, now settled rather than forecast: Xcode 27 shipped on September 14, 2026 and will only install on Apple silicon. See the Apple Silicon transition section.
  • Minimum macOS Sequoia 15.6 at 26.0, holding through 26.0.1, 26.1.1, 26.2, and 26.3 — that is the figure the cell above carries, now that this is a closed line; Xcode 26.4 raises the floor to macOS Tahoe 26.2, which 26.4.1, 26.5, and 26.6 (June 25, 2026) all inherit unchanged, so a Sequoia Mac tops out at Xcode 26.3. Bundled SDKs stayed at iOS 26.5, iPadOS 26.5, tvOS 26.5, watchOS 26.5, macOS 26.5 Tahoe, and visionOS 26.5 through 26.6 — the SDK set did not bump with this point release. Apple’s Xcode 26.6 release notes enumerate all six platforms, matching the 26.5 notes exactly. Apple’s own docs contradict each other here, so read the Xcode note and not the OS note: the macOS 26.6, iOS & iPadOS 26.6, tvOS 26.6, watchOS 26.6, and visionOS 26.6 release notes each say “The SDK comes bundled with Xcode 26.6” — which would imply a 26.6 SDK set. The dates settle it: those OS versions shipped July 27, 2026, a month after Xcode 26.6 shipped on June 25 (build 17F113, never re-released) — and the same “comes bundled with Xcode <same minor>” sentence appears verbatim in the 26.5 OS notes, so it is templated boilerplate about version pairing, not a claim about what Xcode 26.6 actually contains.
  • The coding assistant, point release by point release. At 26.0, per Apple’s notes: “Xcode has integrated support for ChatGPT and Claude user accounts,” plus your own API key for any Chat Completions provider or a local model on Apple silicon. 26.3 “introduces support for agentic coding, a new way in Xcode for developers to build apps, powered by coding agents from Anthropic and OpenAI.” 26.5: “Messages can now be queued in the coding assistant,” and “Agents can now ask clarifying questions to provide more accurate results.” 26.6 (June 25, 2026, build 17F113) adds Google Gemini as a coding-assistant model choice, Agent Client Protocol support, and Preview Snapshot MCP tool rendering for light/dark, portrait/landscape, and type-size variants, plus agent-reliability and accessibility fixes — per the Xcode 26.6 release notes.
  • This is the App Store submission floor. As of April 28, 2026, Xcode 26 (with the iOS 26 / iPadOS 26 / tvOS 26 / visionOS 26 / watchOS 26 SDK) is the smallest move that satisfies the floor — the earlier Xcode 15 / iOS 17 SDK floor no longer passes upload. Free to use; later 26.x point releases, and Xcode 27, are fine for submission too. Re-verified current as of October 30, 2026 via developer.apple.com/news/upcoming-requirements, whose “SDK minimum requirements” entry still reads “Since April 28, 2026” and still names Xcode 26. One entry now sits above it on that date-sorted list — “iOS and iPadOS minimum system requirements,” since September 9, 2026 — but that one is a deployment-target rule rather than an SDK floor and does not supersede this row; see the strip at the top of the page. No SDK floor above Xcode 26 has been added: the string “2027” still does not occur anywhere on that page. A successor floor has been announced, though — just not on that page. Apple’s September 9, 2026 news post puts the iOS 27 / iPadOS 27 / tvOS 27 / visionOS 27 / watchOS 27 SDK requirement at “Starting April 2027,” which is the announcement stage rather than the enforcement stage; this row keeps the marker until that date arrives. Note also that Apple’s entry for the current floor is titled “SDK minimum requirements,” not “Xcode 26” the way every superseded entry is titled after its Xcode; searching that list for a version number will miss it.
Xcode
Xcode 16
Sep 2024
14.5+
18
Swift 6, with its data-race-safe language mode as an opt-in. Apple Intelligence framework APIs; on-device predictive code completion. Never an App Store floor of its own — below the current floor since April 28, 2026.
  • Never an App Store submission floor. Apple’s Upcoming Requirements list runs straight from the Xcode 15 / iOS 17 SDK floor (since April 29, 2024) to the Xcode 26 / iOS 26 SDK floor (since April 28, 2026) — no Xcode 16 requirement was ever enforced. Builds from Xcode 16 are below today’s floor and are rejected at upload. See the submission-floor strip at the top of the page for the current floor.
  • Bundled Swift 6.0 at 16.0 — but the Swift minor moved inside the line too. The Swift 6 language mode, which turns potential data races into compile errors, is something you opt into, not a default either vendor states. Apple’s Xcode 16 notes say only that “The SWIFT_VERSION build setting now allows building with the Swift 6 language mode” and that “Projects can incrementally migrate to Swift 6 by opting into features individually”; the Swift project’s Announcing Swift 6 calls it “a new, opt-in language mode.” Neither says new Xcode 16 projects start in it. Xcode 16.3 picks up Swift 6.1 (March 2025) — the Swift project states it outright: “Swift 6.1 is included in Xcode 16.3” (swift.org) — and 16.4 carries it forward. Apple’s own Xcode 16.x release notes never open with an “includes Swift N” sentence at all, so the Swift project is the authority for this pairing. Apple has switched that convention on and off. The Xcode 14 notes do open with it (“Xcode 14 includes Swift 5.7 and SDKs for…”, and 14.3 with Swift 5.8); Apple then dropped the Swift version from the opening sentence for the whole of the 15.x and 16.x lines, and resumed it with 26.x. So “Apple doesn’t name the Swift version” is a per-line fact, never a general one — check the note.
  • Minimum macOS Sonoma 14.5 at 16.0 — but the floor moved inside the line, so Sonoma only carries you to 16.2. Apple’s notes require macOS Sequoia 15.2 or later for 16.3, and Sequoia 15.3 through macOS Tahoe 26.1 for 16.4 — the rare case where Apple states an upper bound as well as a lower one. 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 arrive through the line, not all at 16.0. None of Apple’s Xcode 16.x release notes mention Writing Tools, Genmoji, or Image Playground; the dates come from Apple’s API documentation. The Writing Tools text-view hook (writingToolsBehavior) and Genmoji’s NSAdaptiveImageGlyph are marked available from iOS 18.0, the SDK Xcode 16.0 bundles. The Image Playground framework is marked iOS 18.1 and macOS 15.1, so it first appears with the SDKs in Xcode 16.1.
  • Predictive code completion carries a second floor, a whole macOS major above this row’s. Apple’s Xcode 16 release notes say it is “powered by a machine learning model specifically trained for Swift and Apple SDKs” and that it “requires a Mac with Apple silicon, running macOS 15.” So Sonoma 14.5 installs Xcode 16 but does not get the feature, and an Intel Mac never does. The same notes add that it is “not supported when running Xcode in a Virtual Machine,” and the model downloads separately the first time you enable it. Apple states no RAM figure anywhere in the 16.x notes — compatibility tables that quote one are not quoting Apple.
Xcode
Xcode 15
Sep 2023
13.5+
17
App Store floor from April 2024 to April 2026. Macros. The visionOS SDK ships in 15.2. Simulator runtimes leave the installer.
  • Swift 5.9 with macros, at 15.0. Compile-time code generation via the @freestanding / @attached macro system; SwiftSyntax-driven. The Swift minor then moved inside the line: Xcode 15.3 (March 2024) ships Swift 5.10, the final 5.x — Apple’s 15.3 release notes reference “Swift 5.10 closes all known holes in the static data-race safety model under complete concurrency checking,” and 15.4 carries it forward.
  • Minimum macOS Ventura 13.5 at 15.0 — the first Xcode major whose x.0 requires Ventura, though Apple had already dropped Monterey one major earlier, mid-line, at Xcode 14.3. Ventura then tops out at 15.2 — Apple’s 15.3 notes require macOS Sonoma 14 or later, and 15.4 carries that forward.
  • Bundled SDKs at 15.0, in Apple’s own enumeration: iOS 17, iPadOS 17, tvOS 17, watchOS 10, and macOS Sonoma. The visionOS SDK arrives with Xcode 15.2 (December 2023) — Apple’s 15.2 notes list it without a version number, simply “visionOS”; the first numbered visionOS SDK in an Xcode list is visionOS 1.1, in the 15.3 notes. Tables that write “visionOS 1.0” against 15.2 are supplying a number Apple didn’t.
  • The download shrank because the simulator runtimes came out of it — but Apple never published a number. Xcode 15 installs without the platform simulator runtimes; you fetch the ones you need afterward, which is the machinery behind fixes like “Xcode isn’t offering the latest iOS simulator runtime for downloading when an older one exists” in the 15.1 notes. The percentage figures that circulate for the shrink are not Apple’s: the Xcode 15 release notes state no download size at all. So this row names the change and not a size.
  • Was the App Store submission floor from April 29, 2024 to April 28, 2026. Apple’s requirement read: apps uploaded to App Store Connect must be built with Xcode 15 for iOS 17, iPadOS 17, tvOS 17, or watchOS 10. That floor stood for two years — the longest single-floor stretch of the modern pattern — and was superseded directly by Xcode 26 / iOS 26 SDK. Xcode 15 builds are now rejected at upload.
Xcode
Xcode 14
Sep 2022
12.5+
16
Xcode 14.1 was the App Store floor from April 2023 to April 2024. Lock screen widgets. if let shorthand. Single-target watchOS app template.
  • The App Store floor that Xcode 15 replaced, and it was pinned at 14.1, not 14.0. Since April 25, 2023, iOS and iPadOS apps had to be built with Xcode 14.1 and the iOS 16.1 SDK or later, and watchOS apps with Xcode 14.1 and the watchOS 9.1 SDK or later; tvOS came under the same floor on July 31, 2023 with the tvOS 16.1 SDK. Superseded on April 29, 2024. Both entries are still listed on Apple’s Upcoming Requirements page, which is the full record of every floor Apple has enforced.
  • Bundled Swift 5.7 at 14.0 — and the minor moved inside the line. Headline language addition: if let foo shorthand instead of if let foo = foo; regex literals. Xcode 14.3 (March 30, 2023) picks up Swift 5.8 — Apple states it outright in the 14.3 release notes (“Xcode 14.3 includes Swift 5.8 and SDKs for iOS 16.4…”), and the Swift project agrees (“The Swift 5.8 compiler is also included in Xcode 14.3,” swift.org). Apple even names the patch one release later — the 14.3.1 notes open “Xcode 14.3.1 includes Swift 5.8.1” — so patch-level precision in an Xcode note is an old habit of Apple’s, not a 26.x-era innovation.
  • Minimum macOS Monterey 12.5 at 14.0 — the first Xcode major whose x.0 requires Monterey, though Apple had already dropped Big Sur one major earlier, mid-line, at Xcode 13.3. The floor then moved inside this line too — Apple’s 14.3 notes require macOS Ventura 13.0 or later, so Monterey tops out at Xcode 14.2.
  • Bundled SDKs at 14.0: iOS 16, iPadOS 16, tvOS 16, watchOS 9, and macOS Monterey 12.3 — the macOS 13 Ventura SDK arrives with Xcode 14.1, per Apple’s release notes for both releases.
  • Single-target watchOS apps. Apple’s Xcode 14 release notes: “Xcode 14 includes a default template for watchOS apps that combines the WatchKit App and WatchKit App Extension targets into a single Watch App target, simplifying code, asset, and localization management. You can deploy single-target watchOS apps to watchOS 7 and later.” That is a project-structure change — one target instead of two — and it is the only watchOS structural change any Xcode 14 note credits to this release. Nothing in the Xcode 14, 14.1, 14.2, 14.3, or 14.3.1 notes uses the word “independent” about a watchOS app; a Notable cell that reads “watchOS app independence” against this row is describing a different feature.
  • Lock Screen widgets and Live Activities are iOS 16 features, but they reach the SDK a point release apart: WidgetKit’s Lock Screen families (accessoryCircular and its siblings) are marked iOS 16.0, in Xcode 14.0’s SDK, while ActivityKit, the Live Activities framework, is marked iOS 16.1 — so building one needs Xcode 14.1.
  • 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. That is the 13.0 number; Xcode 13.3 moves the line to Swift 5.6 (the Swift project: “Swift 5.6 is also included in Xcode 13.3”), and Apple’s own 13.3 release notes carry a Swift 5.6 section.
  • Minimum macOS Big Sur 11.3 at 13.0, a half-step up from the plain Big Sur 11 that Xcode 12.5 had required. The floor then moved inside the line — 13.1 and 13.2 still take Big Sur 11.3, and Xcode 13.3 requires macOS Monterey 12 or later, so Big Sur tops out at Xcode 13.2.
  • Bundled SDKs at 13.0: iOS 15, iPadOS 15, tvOS 15, watchOS 8, and macOS Big Sur 11.3 — the macOS 12 Monterey SDK arrives with Xcode 13.1, per Apple’s release notes for both releases.
  • Xcode Cloud opens as a beta — Apple’s hosted CI/CD service tied into the Xcode and App Store Connect workflow. Apple introduced it on June 7, 2021 (“Sign up for the beta today”) and declared it “now available for all Apple Developer Program members” on June 6, 2022 — three months before Xcode 14 shipped, so general availability came during this line, not with the next one. Apple’s Xcode Cloud release notes list Xcode 13 through 13.4.1 among the build environments the service stopped supporting on November 1, 2023.
  • The end of the line for notarizing Mac software. Easy to conflate with the App Store submission floor, and separate from it: since November 1, 2023, Apple’s notary service has refused uploads from the altool command-line utility or from Xcode 13 and earlier — you notarize with notarytool, or from Xcode 14 and later. Software notarized before that date kept working. It is the one Xcode-versioned requirement on Apple’s Upcoming Requirements list that is not an App Store submission floor, which is why it doesn’t appear in the strip at the top of this page.
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 produces Universal 2 binaries that bundle Intel x86_64 and arm64 slices for the Apple Silicon transition. Note the ramp: Apple’s Xcode 12.0 release notes still say it “requires an Intel-based Mac running macOS Catalina 10.15.4 or later” — running Xcode natively on Apple Silicon came with the 12.2 release alongside the first M1 Macs (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 at 12.0, and 12.1 through 12.4 all inherit it unchanged — Xcode 12.5 (April 2021) raises the floor to macOS Big Sur 11, so Catalina tops out at Xcode 12.4. (12.0 and 12.1 word the requirement as an Intel-based Mac; 12.2 drops that qualifier, which is the same release that made Xcode itself native on Apple Silicon.)
  • Bundled SDKs at 12.0: iOS 14, iPadOS 14, tvOS 14, watchOS 7, and macOS Catalina 10.15.6 — the macOS 11 Big Sur SDK arrives with Xcode 12.2 (November 2020), per Apple’s release notes for both releases.
  • 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 at 11.0 — opaque return types (some View) and property wrappers (@State, @Binding) ship together to enable the SwiftUI design. Per the Swift project, “Swift 5.1 ships as part of Xcode 11”; the minor then moves inside the line, with Xcode 11.4 carrying Swift 5.2.
  • 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 at 11.0, and it holds through 11.3 — Xcode 11.4 (March 2020) raises the floor to macOS Catalina 10.15.2, so Mojave tops out at Xcode 11.3. Bundled SDKs at 11.0, in Apple’s own enumeration: iOS 13, macOS Catalina 10.15, watchOS 6, and tvOS 13. Note what is not on that list: iPadOS. iPadOS 13 was announced as its own OS name in June 2019, but Apple’s Xcode 11.0 release notes never name an iPadOS SDK. It arrives inside this same line rather than the next one, in two steps: the 11.3 notes (December 2019) say Xcode “supports developing apps for iOS 13.3, iPadOS 13.3, tvOS 13.3, watchOS 6.1, and macOS Catalina 10.15.2,” and the 11.4 notes put it in the SDK sentence proper — “includes SDKs for iOS 13.4, iPadOS 13.4, tvOS 13.4, watchOS 6.2, and macOS Catalina 10.15.4.” Compatibility tables that add “iPadOS 13” to the 11.0 row are back-filling from the branding, not quoting Apple.
Xcode
Xcode 10
Sep 2018
10.13.6+
12
New build system default. Dark Mode (macOS Mojave). Create ML.
  • Bundled Swift 4.2 at 10.0 (“Swift 4.2 ships as part of Xcode 10,” per the Swift project); new build system becomes default. The line then carries the biggest mid-line Swift jump on this page: Xcode 10.2 ships Swift 5.0 — the ABI-stability release — and raises the minimum macOS to 10.14.3.
  • 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 at 9.0; refactoring engine rewritten on top of SourceKit. The minor moved inside the line: Xcode 9.3 (March 2018) ships Swift 4.1 — the Swift project says so outright, “For development on Apple’s platforms, Swift 4.1 ships as part of Xcode 9.3” (swift.org), and 9.4 / 9.4.1 carry it forward. Apple’s Xcode 9.x notes never open with an “includes Swift N” sentence, so the Swift project is the authority for this pairing.
  • Wireless device debugging over the network (no more Lightning cable for run/debug).
  • ARKit and Core ML APIs ship as iOS 11 features.
  • Minimum macOS Sierra 10.12.6 at 9.0 — and this is the one cell in the column Apple no longer publishes. The floor moved inside the line, and Apple’s archived notes are revised forward rather than versioned: the live copy reads “Xcode 9 requires a Mac running macOS 10.13.2 or later,” with SDKs for iOS 11.4, watchOS 4.3, macOS 10.13, and tvOS 11.4 — all of which are the 9.4.1 numbers, not the 9.0 ones. The “New Features in Xcode 9” article that would carry the 9.0 sentence (the way the surviving Xcode 7, 6, and 5 articles do) returns 404. So 10.12.6 stands here on an archived capture of a page Apple has since overwritten, not on anything you can fetch from Apple today. Same shape one row down at Xcode 8.
Xcode
Xcode 8
Sep 2016
10.11.5+
10
Swift 3 source-incompatible reset. Source Editor Extensions. Plugins deprecated.
  • Bundled Swift 3.0 at 8.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. The minor then moved inside the line: Xcode 8.3 (March 2017) ships Swift 3.1, per the Swift project — “For development on Apple’s platforms, Swift 3.1 ships as part of Xcode 8.3” (swift.org), which also notes that Xcode 8.3 carries the 3.0→3.1 source migrator.
  • 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 at 8.0. Bundled SDKs: iOS 10, macOS 10.12 Sierra, tvOS 10, watchOS 3. The floor moved inside this line as well — Apple’s notes for the last release read “Xcode 8.3.3 requires a Mac running macOS 10.12 or later,” with SDKs for iOS 10.3.1, watchOS 3.2, macOS 10.12.4, and tvOS 10.2 — so El Capitan tops out at Xcode 8.2.1. As with Xcode 9, 10.11.5 is the 8.0 figure and Apple no longer publishes it: 10.12 is all that survives in the live archive, the “New Features in Xcode 8” article is a 404, and third-party compatibility tables are the only place the 8.0 number still appears.
Xcode
Xcode 7
Sep 2015
10.10.4+
9
Free on-device deployment without paid account. tvOS launches.
  • Bundled Swift 2.0 at 7.0 — guard, defer, do/try/catch error handling, protocol extensions. The minor moved inside the line: Apple’s own New Features in Xcode 7 credits Xcode 7.3 with “Swift 2.2 … improved warnings and diagnostics, improved compile times, updated features and improved interoperability with Objective-C.”
  • 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.
  • Bundled SDKs at 7.0, in Apple’s wording: watchOS 2.0, iOS 9, and OS X 10.11. The tvOS SDK is not in that set — it arrives with Xcode 7.1 (October 2015), which in Apple’s wording “adds support for developing on new iOS devices and the new Apple TV” — the 4th-generation Apple TV, shipping that same month. By the end of the line, Apple’s 7.3 / 7.3.1 notes read iOS 9.3, watchOS 2.2, OS X 10.11.4, and tvOS 9.2.
  • Minimum OS X Yosemite 10.10.4, in Apple’s wording: “Xcode 7 requires a Mac running OS X version 10.10.4 or later.” Third-party compatibility tables widely list 10.10.5 for this row instead — that number tracks the later 7.1 point release rather than 7.0, and Apple’s own documentation never states it as an Xcode requirement. The floor then jumped a whole major inside the line: Xcode 7.3 requires OS X 10.11 El Capitan or later, so Yosemite tops out at Xcode 7.2.1.
Xcode
Xcode 6
Sep 2014
10.9.4+
8
Swift 1.0 launches. Playgrounds. WatchKit (6.2).
  • 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.
  • WatchKit — not a “watchOS SDK,” which did not exist yet — ships in Xcode 6.2, ahead of the Apple Watch launch. Apple’s wording, in the archived Xcode release notes: “Xcode 6.2 adds support for iOS 8.2, including developing Apple Watch apps with the new WatchKit framework.” The watchOS name (and a real watchOS 2.0 SDK) arrives a year later with Xcode 7.
  • Minimum macOS Mavericks 10.9.4, and the bundled SDK set at 6.0 is OS X 10.9 and 10.10 plus iOS 8 — Apple: “Xcode 6 requires a Mac running OS X version 10.9.4 or later or 10.10. It includes SDKs for OS X version 10.9 and 10.10, and iOS 8.” That sentence describes the line, not the first build: Apple’s own per-release list is narrower — “Xcode 6.0 includes SDKs for OS X version 10.9, iOS 8” and “Xcode 6.1 adds the SDK for OS X version 10.10” — the same one-point-release macOS SDK lag that Xcode 12, 13, and 14 all repeat later. The Swift minor moved twice inside this line, and Apple states each bump in a different archive. Swift 1.1 arrives with Xcode 6.1: the archived Xcode release notes carry an “Xcode 6.1 → New Features → Swift Language” entry that reads, in full, “Xcode 6.1 includes Swift 1.1.” It is still 1.1 at 6.2 — the same page labels the migrator’s starting point “Swift 1.1 (Xcode 6.2).” Then Xcode 6.3 adds “support for iOS 8.3, Swift 1.2” along with that migrator. Worth knowing which archive answers which question: the “New Features in Xcode 6” article credits 6.1 only with the OS X 10.10 SDK and “Swift language development for OS X,” so reading that article alone makes 6.1’s Swift bump look like something Apple never published.
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.
  • Bots ship as Xcode’s first built-in continuous-integration option — self-hosted, not Apple-hosted. In Apple’s wording from New Features in Xcode 5: “You create a bot in Xcode to build, analyze, test, and archive your project on an OS X Server shared by your development team.” Apple’s own hosted service, Xcode Cloud, arrived with 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 — the Mac App Store floor of the day, which is how Xcode 4.0 was distributed. Apple publishes nothing you can check it against: the archived New Features in Xcode 4 article is still online, but its content starts at Xcode 4.1 and it carries neither the requirement sentence that the surviving Xcode 5, 6, and 7 articles all have, nor any iOS SDK statement for 4.0 — so this row’s iOS SDK cell is unsourced for the same reason. Same shape as Xcode 8 and 9, one era earlier.
Xcode
Xcode 3
Oct 2007
10.5+
—
2–4
First iOS SDK (iPhone OS 2). Refactoring. Snapshots.
  • First iPhone SDK ships inside Xcode 3.1 — as a free public beta on March 6, 2008, then GA that July alongside iPhone OS 2 (cross-link: iPhone OS 2 row). Announced at Apple’s iPhone Software Roadmap event that March, not at WWDC.
  • 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, taken as a step backward in the short term and a foundation in the long one.

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 on March 6, 2008, at the iPhone Software Roadmap event, where Apple previewed iPhone 2.0 and announced the immediate availability of the iPhone SDK beta — and with it the App Store, the Apple Developer Program, and the entire ecosystem that has shaped Xcode releases ever since. (This is often misremembered as a WWDC announcement; WWDC 2008 came three months later, in June.) That beta SDK shipped as Xcode 3.1; Xcode 3.1 GA followed 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 (with its data-race-safe language mode as an opt-in) 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. The end of the Intel side of that window is no longer a forecast. Xcode 26 still installs and runs on Intel Macs; Xcode 27, which shipped on September 14, 2026, does not. Apple’s Xcode 27 release notes say it in one line — “Xcode 27 will only install and run on Apple silicon Macs” — and the same notes drop x86_64 from ARCHS_STANDARD for anything deploying to macOS 27.0 or DriverKit 27.0, so those targets stop building Universal by default. Intel as a target outlives Intel as a host: the macOS 27 SDK still back-deploys Universal binaries to macOS 12 and later, x86_64 can be added back to ARCHS by hand, and the same notes add that “Intel development is still possible with macOS versions that support Rosetta like macOS 27.”

Three separate clocks are in play — two ran out this fall and the third now has a date — and Apple’s own posts compress them into one sentence often enough to be worth untangling. (1) Intel as a development host ended with Xcode 27, above. (2) Intel as a machine that runs macOS ended with macOS 26 Tahoe: macOS 27 installs only on Apple silicon — every Mac on Apple’s compatibility list for the September 14 macOS 27 release is an Apple silicon model, and the September 9, 2026 developer post states it outright: “macOS 26 is the final release supporting Intel Mac computers and Rosetta — macOS 27 will be Apple silicon only.” (3) Rosetta, the translation layer that lets an Intel binary run on an Apple silicon Mac, ends one release later. On September 1, 2026 Apple published Upcoming changes to Rosetta support for Intel-based macOS apps, which is the more specific source and says: “macOS 27: Final release to support Rosetta — Intel-only apps will no longer run on Mac computers with Apple silicon after this update,” with a carve-out for older, unmaintained gaming titles that depend on Intel-based frameworks. On macOS 26.4 and later, in the same post’s words, “Users may receive a system notification when launching apps that rely on Rosetta.” So the September 9 post’s “Intel Mac computers and Rosetta” phrasing folds two different deadlines together; the Xcode 27 notes’ own “macOS versions that support Rosetta like macOS 27” is the tell that Rosetta outlives Intel hardware by a release. (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 opened as a limited beta on June 7, 2021, announced by Apple as “Built into Xcode 13,” and became available to all Apple Developer Program members on June 6, 2022 — while Xcode 13 was still the current release, three months before Xcode 14 shipped. 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 — a date after which an upload has to be built against a newer platform SDK — on developer.apple.com/news, months ahead of the date the floor takes effect. Two worked examples, and they bracket the notice window rather than confirming a fixed one. The floor in force today was posted as Upcoming SDK minimum requirements on February 3, 2026 for enforcement on April 28, 2026 — just under three months. Its successor was announced much earlier in the cycle: on September 9, 2026, the day the App Store opened for the 27 releases, for enforcement “Starting April 2027” — roughly seven months, and with a month rather than a day attached to it. Plan on months of warning, not on a fixed interval. Submissions below the floor are rejected at upload time with a generic “invalid bundle” error and an opaque support-page link.

Note where the Xcode number actually lives. The announcement itself is phrased purely in SDK terms — “iOS and iPadOS apps must be built with the iOS 26 & iPadOS 26 SDK or later,” then the same line for tvOS, visionOS, and watchOS — and never names an Xcode version at all. The entry Apple keeps afterward on its Upcoming Requirements list does: “built with Xcode 26 or later using an SDK for iOS 26, iPadOS 26, tvOS 26, visionOS 26, or watchOS 26.” So a team that reads only the announcement is left to map SDK versions onto an Xcode version itself — which is the mapping the matrix above exists to supply.

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 and re-checked whenever Apple announces a change — the floor cell is the most volatile element on the page, so it is verified on a tighter sub-cadence than the rest of the matrix.

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/upcoming-requirements (App Store submission-floor list, current and superseded); swift.org/install; Apple support: macOS compatibility. Cross-references: Swift Versions, Mac Versions, iOS Versions, Android Studio Versions. Last updated October 30, 2026 (verified by Phobos).

Mungomash LLC · More data pages