Product

macOS Tahoe 26.6.2 RC with Xcode 27.0 Now Available

By GetMac Team••
5 min read
macOS Tahoe 26.6.2 RC with Xcode 27.0 Now Available

The getmac-tahoe-rc label is back. It now runs a new Release Candidate image: macOS Tahoe 26.6.2 (25G83) with Xcode 27.0. This is the final Xcode 27.0 release, not a pre-release build. It is also the first GetMac image with the Xcode 27 toolchain and the 27.0 simulator runtimes, so you can validate your builds against the shipping Xcode 27 before it becomes the stable image.

What's New

  • Xcode 27.0 — The full release, build 27A266a. The current stable image ships Xcode 26.6 (17F113).
  • 27.0 simulator runtimes — iOS 27.0 (24A434), tvOS 27.0 (24J360), watchOS 27.0 (24R362), and visionOS 27.0 (24M362), alongside the 26.1–26.5 and legacy 18.x runtimes carried over from the stable image.
  • Rust 1.98.1 — Up from 1.96.1 on the stable image. rustc and cargo are on the PATH via ~/.cargo/bin.
  • Updated CLIs — AWS CLI 2.36.45, Google Cloud SDK 585.0.0, and GitHub CLI 2.100.0.
  • Language toolchains — Go 1.27.1 and Java 26.0.2.1.
  • Mobile build tools — Fastlane 2.240.1 (from 2.237.0) and CocoaPods 1.17.0 (from 1.16.2).
  • Node.js packages — TypeScript 7.0.2, pnpm 12.4.2, npm 11.19.1, and eslint 10.10.0.
  • Python — [email protected] is now installed via Homebrew, with pip 26.2.1, cryptography 50.0.1, and certifi 2026.7.22.
  • Android SDK — Android Emulator 37.1.11, Platform-Tools 37.0.1, Build-Tools 34 & 35, and NDK 27.
  • Google Chrome and a matching chromedriver — Google Chrome 153.0.8010.37 is now pre-installed, along with ChromeDriver 153.0.8010.36 from Chrome for Testing, matched to the installed Chrome build. It's on the PATH at /usr/local/bin/chromedriver, and CHROMEWEBDRIVER points at its directory.

Check Before You Switch

A few differences from the stable getmac-tahoe image may need attention in your workflows:

  • chromedriver no longer comes from Homebrew — Homebrew disabled its chromedriver cask on 2026-09-01 because it fails the macOS Gatekeeper check. chromedriver is still available at /usr/local/bin/chromedriver, now installed from Chrome for Testing. Scripts that hard-code /opt/homebrew/bin/chromedriver or run brew install --cask chromedriver need updating.
  • Major version bumps — TypeScript 7 and pnpm 12 are new major releases, and Xcode 27.0 brings a new SDK generation. Run your full build and test suite on the RC image before relying on it.
  • Expect longer cold builds — Xcode 27.0 does measurably more work per build than Xcode 26.6. See the section below for measurements.

Xcode 27 Cold Build Times

We measured this on our own hardware rather than guessing. Same runner specification, same open-source Swift project at the same commit, built twice — once on macOS 26.5.2 with Xcode 26.6, once on macOS 26.6.2 with Xcode 27.0:

Xcode 26.6Xcode 27.0
Build tasks emitted634980
Cold build21s28s
Dependency resolution8s10s
Incremental build (one file)3s4s
Simulator first boot27s28s

For byte-identical source, Xcode 27 emitted about 55% more build tasks. That is not measurement noise — it is the toolchain doing more work, and it applies on any CI provider, not just ours.

Simulator boot and SDK availability are unchanged, so this is compile cost, not image provisioning.

Why CI notices this more than your laptop. Locally you almost never do a cold build: DerivedData, the module cache, resolved packages and a booted simulator all persist between runs, so a new toolchain costs you very little. CI runners are a fresh virtual machine for every job by design, so every run pays the cold cost in full.

That makes anything which reduces cold work worth more on Xcode 27 than it was on Xcode 26:

  • Include the Xcode version in your cache keys. A cache written under Xcode 26 will still restore under 27, report a hit, and then be largely rebuilt anyway. Keying on the toolchain avoids paying the download for nothing.
  • Warm the cache on your default branch so short-lived branches inherit it via restore-keys instead of each starting cold.
  • Pin your build destination to the OS version and device you actually ship against, so the new SDKs and simulator runtimes don't widen the job by themselves.

What Hasn't Changed

Our stable labels — getmac, getmac-latest, and getmac-tahoe — still resolve to macOS Tahoe 26.5.2 with Xcode 26.6, and getmac-tahoe-legacy still resolves to macOS Tahoe 26.3.2 with Xcode 26.4. We'll announce the stable promotion here once 26.6.2 completes validation.

Docker and Colima remain unavailable on this image, and the getmac-tahoe-beta label remains temporarily retired.

GitHub Actions Integration

Use the following labels in your runs-on field:

  • getmac, getmac-latest, or getmac-tahoe — macOS Tahoe 26.5.2 with Xcode 26.6 (current stable)
  • getmac-tahoe-rc — macOS Tahoe 26.6.2 with Xcode 27.0 (Release Candidate)
  • getmac-tahoe-legacy — macOS Tahoe 26.3.2 with Xcode 26.4
- runs-on: getmac-tahoe
+ runs-on: getmac-tahoe-rc

To validate against Xcode 27.0 without giving up your stable builds, run both images side by side with a matrix:

jobs:
  build:
    strategy:
      matrix:
        runner: [getmac-tahoe, getmac-tahoe-rc]
    runs-on: ${{ matrix.runner }}

For the full list of available labels, see our Workflow Labels documentation. For a complete breakdown of pre-installed tools, simulators, and SDKs, check out the Installed Tools & Libraries page.

Get Started

The RC image is live now. Point your workflow at getmac-tahoe-rc to build and test against Xcode 27.0 and the iOS 27.0 simulators.

As always, we'd love to hear your feedback — join our Discord community to share thoughts or request new tools.

— The GetMac Team

#product#update#macos#tahoe#rc#xcode#ci-cd
macOS Tahoe 26.6.2 RC with Xcode 27.0 Now Available | GetMac