---
title: Announcing the macOS Golden Gate Build Stack
description: The macos-golden-gate build stack with macOS 27 and Xcode 27 is the default as of October 1. See what changed and how to prepare your app.
date:
  created: 2026-09-24
  updated: 2026-10-01
authors:
  - robingenz
categories:
  - Cloud
---

# Announcing the macOS Golden Gate Build Stack

As some of you have already noticed, Capawesome Cloud has supported Xcode 27 for a while. The `macos-tahoe` build stack ships it next to Xcode 26.5, and you can select it via `XCODE_VERSION`. Today we're releasing the matching build stack, `macos-golden-gate`, which runs macOS 27 with Xcode 27. On October 1, 2026, it becomes the default for all iOS and Android builds, whether your app is built with Capacitor, Cordova, or as a native project. Every build stack also supports Android 37 now.

<!-- more -->

<div class="capawesome-z29o10a">
  <a href="https://capawesome.io/" target="_blank">
    <img alt="Thousands of teams ship faster with Capawesome Cloud Native Builds and Live Updates" src="https://capawesome.io/assets/banners/cloud-teams-ship-faster-with-capacitor.png" />
  </a>
</div>

???+ info "Update"

    As of October 1, 2026, `macos-golden-gate` is the default build stack. If your app isn't ready for Xcode 27 yet, set `macos-tahoe` as its [default build stack](../../cloud/native-builds/build-stacks.md#set-a-default-build-stack) in the app settings. Builds and automations without an explicit build stack then keep using `macos-tahoe`.

## What changed

The new stack ships Xcode 27.0 as its only Xcode version and drops Node.js 20 in favor of Node.js 22, 24 (default), and 26. Most other tools were updated as well, including CocoaPods 1.17.0, Fastlane 2.240.1, and the Capacitor CLI 8.5.2. The [build stacks documentation](../../cloud/native-builds/build-stacks.md) lists the full configuration.

If you pin `NODE_VERSION=20` or an Xcode 26 release via `XCODE_VERSION`, either select `macos-tahoe` for those builds or update the [reserved variables](../../cloud/native-builds/environment-variables.md#reserved-variables).

## Android 37

Android Platforms 37 and Build Tools 37.0.0 are now available on all build stacks, including `macos-sequoia` and `macos-tahoe`. This lets you target Android 17 (API level 37), which the upcoming Capacitor 9 requires with `compileSdkVersion` and `targetSdkVersion` set to `37`. See the [Capacitor 9 update guide](https://capacitorjs.com/docs/next/updating/9-0){:target="_blank"} for details.

## UIScene is now required

Xcode 27 ships the iOS 27 SDK, and Apple's [TN3187](https://developer.apple.com/documentation/technotes/tn3187-migrating-to-the-uikit-scene-based-life-cycle){:target="_blank"} states that apps built with it must adopt the UIScene lifecycle, "otherwise, your app won't launch." The build still succeeds, so test an iOS build from the new stack on a device or simulator. What you need to do depends on your framework:

- **Capacitor**: Update to Capacitor 8.5, which added UIScene support in [ionic-team/capacitor#8536](https://github.com/ionic-team/capacitor/pull/8536){:target="_blank"}, and migrate your iOS project with `npx cap migrate`. The [Updating to 8.5](https://capacitorjs.com/docs/updating/8-5){:target="_blank"} guide covers the manual steps for customized projects.
- **Cordova**: cordova-ios has used the UIScene lifecycle since 8.0.0. Apps on older versions need to upgrade, and outdated plugins can still cause a crash at launch, as seen in [apache/cordova-ios#1725](https://github.com/apache/cordova-ios/issues/1725){:target="_blank"}.
- **Native iOS**: SwiftUI apps are already scene-based. UIKit apps that set up their window in the `AppDelegate` need a scene delegate, as described in TN3187.

## Switching stacks

On October 1, 2026, `macos-golden-gate` replaced `macos-tahoe` as the default build stack. To keep the previous build environment, set `macos-tahoe` as the app's default build stack, or select it for individual builds and automations as shown below. Apple still accepts Xcode 26 builds, so App Store submissions from `macos-tahoe` work as before. With this release, `macos-sequoia` is deprecated and will be removed when the next build stack ships.

=== "CLI"

    Pass the `--stack` flag when you create a build, update an automation, or set the default build stack of an app:

    ```bash
    npx @capawesome/cli apps:builds:create --platform ios --stack macos-golden-gate
    npx @capawesome/cli apps:automations:update --automation-id <AUTOMATION_ID> --stack macos-golden-gate
    npx @capawesome/cli apps:update --app-id <APP_ID> --stack macos-tahoe
    ```

=== "Console"

    Select the build stack from the build stack options when you start a build on the [Builds](https://console.cloud.capawesome.io/apps/_/builds){:target="_blank"} page, or in the [build settings](../../cloud/automations/attach-build-settings.md) of an automation. To set a default for all builds and automations of an app, enable the **Default build stack** toggle under **Settings** > **Builds** and select the build stack.

=== "API"

    Set the `stack` property when you create a build through the [Capawesome Cloud API](../../cloud/api.md):

    ```bash
    curl -X POST https://api.cloud.capawesome.io/v1/apps/$APP_ID/builds \
      -H "Authorization: Bearer $CAPAWESOME_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{ "platform": "ios", "type": "app-store", "gitRef": "main", "stack": "macos-golden-gate" }'
    ```

If a build fails on `macos-golden-gate` and still fails after switching back to `macos-tahoe`, email [support@capawesome.io](mailto:support@capawesome.io) with the build ID or see the [support page](../../support/index.md) for other options.

## Try Capawesome Cloud

Capawesome Cloud builds Capacitor, Cordova, and native iOS and Android apps on managed macOS machines, so a new Xcode release means selecting a build stack instead of upgrading your own Macs.

[Try Capawesome Cloud Free](https://capawesome.io){ .md-button .md-button--primary }

## Final Thoughts

Migrate your iOS project to UIScene on a branch and run a build on `macos-golden-gate`. If you need more time, set `macos-tahoe` as the app's default build stack, so your builds keep the previous toolchain until the migration is done.

For the previous toolchain update, see [the new CLIs and Xcode 26 in the Capawesome build stacks](./new-clis-and-xcode-26-in-capawesome-build-stacks.md). Questions? Join us on the [Capawesome Discord server](https://discord.gg/VCXxSVjefW){:target="_blank"} or subscribe to the [Capawesome newsletter](https://capawesome.io/newsletter/){:target="_blank"} to stay up to date.
