Product Updates

Xcode 15.x stacks are being retired: here's what you need to do

If your builds on Bitrise target the Xcode 15.x stacks, you must switch to a supported stack before September 16, 2026.

What's changing

On September 16, 2026, Bitrise will permanently remove the following stacks:

  • osx-xcode-15.0.x
  • osx-xcode-15.1.x
  • osx-xcode-15.2.x
  • osx-xcode-15.3.x
  • osx-xcode-15.4.x

Nothing else changes. The Xcode 16.x, 26.x, and 27.x edge stacks are unaffected and remain fully supported.

Why are we removing these stacks?

These stacks were frozen on October 2, 2025 – no updates since, and removal is the published end of that lifecycle. This follows our stack update policy, which governs how long a stack remains available after it's frozen.

What you need to do

Check if you're affected. In your bitrise.yml, look for any stack ID containing xcode-15. You can also check in the Bitrise UI under your workflow settings – look for the Stack selector. Please check every workflow, not just the default.

# If you see something like this you are affected:
meta:
  bitrise.io:
    stack: osx-xcode-15.4.x

Update the stack: Bitrise continues to support Xcode 16 and 26 versions, as well as the Xcode 27 beta versions. For a minimal change from Xcode 15, you can begin targeting the Xcode 16 stack. But keep in mind that since April, the App Store has required your app be built with Xcode 26 in order to pass review.

Run a test build. Once you've switched to a new stack, trigger a build to confirm it still completes successfully. If your bitrise.yml lives in your repo, test on a topic branch before merging: long-lived topic branches can carry outdated stack values and need to be rebased.

Changing the stack ID is the easy part. Moving to more a recent Xcode version brings a newer SDK and toolchain, which can mean deprecated APIs or build setting changes. We recommend budget a bit of time for this rather than leaving it to the final week.

What happens if I don't migrate?

If your bitrise.yml is stored on bitrise.io, Bitrise will avoid disruption by automatically running your builds on the Xcode 16 stable stack (osx-xcode-15.x.xosx-xcode-16.0.x). Even though Xcode 16 is soon to be a frozen stack and apps built on Xcode 16 cannot be published to the App Store, we migrate Xcode 15 users to this in order to minimize toolchain differences. If you publish to the App Store, you will need to update your config to target an Xcode 26 stack.

If your bitrise.yml is committed to your git repository, we won't be able to automatically migrate the stack target. Make sure you've updated the stack: value on all branches (including any long-lived topic branches, which may have an outdated value and need to be rebased) or your builds will fail starting September 16, 2026.

FAQ

Which stack should I use instead?

The Xcode 16 stacks more closely resemble the Xcode 15 stacks (meaning a simpler migration). The Xcode 26 stacks are required for publishing to the stores. Choose the one that best fits your needs.

Do I need to check all my workflows?

Yes. It's common to update the default workflow's stack and miss one used only by a release or nightly workflow.

My bitrise.yml is in git. Will Bitrise auto-migrate it?

No. Auto-migration only applies to configuration stored on bitrise.io. If your config lives in your repo, you need to update the stack value yourself, on every branch that builds.

How do I know the migration worked?

Trigger a build after switching and confirm it completes successfully. Common errors include a test step targeting an older simulator version that is not on a newer stack (easily fixed by targeting a more recent version). Confirm one the build log page that the expected stack was used.

Why can't you keep this stack available longer?

Xcode 15.x has been frozen, receiving no updates, since October 2025. Its toolset is out of date, and we must make space for the incoming Xcode 27 versions.

What tool versions do I get on other stacks?

See the public stacks page for the full manifest for every stack.

How long will osx-xcode-16.0.x be supported?

Following the same policy, Xcode 16.0 will soon be frozen (no updates) and then have one additional year.

More questions?

Check out the stack update policy, the guide on setting the stack for your builds, or the public stacks page. You can also ask in the community forum or Slack, reach out to support, or track future removals on the upcoming deprecations page.

Last updated:
August 10, 2026
contents

Get started for free

Get a 30-day free trial and join the 400,000+ mobile developers who already love Bitrise.

Start free trial

More from the blog