← All release notes
XcodeXcode 26Aug 19, 2026 · 5 min read

What's New in Xcode 26

Xcode 26's build system default flip, AI coding panel, rebuilt Instruments, and UI test recording — what shipped and what to adopt.

Xcode 26 barely touches the language. The work went into the IDE and the build system: an AI coding panel wired into Settings, a rebuilt Instruments, and a build-system default flip that has been years coming.

#Coding tools: ChatGPT built in, bring your own model

Settings → Intelligence has a new "Coding Tools" pane with ChatGPT wired in by default. You get a capped number of free requests, more if you sign in with a ChatGPT Plus account. Prefer Claude? Add an Anthropic API key and endpoint in the same pane. Any provider that speaks the OpenAI-compatible Chat Completions API works too, including a model running locally on Apple silicon.

This is an account and settings integration, not a new framework. Nothing to import.

Use it for inline suggestions and chat-based editing inside the IDE. It's an alternative to running an external tool alongside Xcode, not a replacement for CI-grade automation.

#Explicit modules are now the default build mode

Swift explicit modules are the default for every Swift target in Xcode 26, not an opt-in. The compiler resolves and builds module dependencies as a separate, cacheable step instead of discovering them lazily mid-compile. You get more predictable incremental builds, and clearer diagnostics when a module fails to build, since the dependency graph is resolved up front.

Adopt it by doing nothing. If your project builds clean under Xcode 26, you're already on the new mode.

Custom module maps and some CocoaPods configurations leaned on the old lazy discovery. Those unusual setups are the exception, and the ones worth a clean CI build early rather than finding out later.

#Predictive code completion gets faster and more granular

The on-device completion engine introduced in Xcode 15 is faster here, and better at multi-line predictions. New this release: hold Control while accepting a suggestion and it lands in smaller segments instead of all at once. Take part of a predicted block without committing to the whole thing.

#Icon Composer for Liquid Glass app icons

Icon Composer is a new standalone app bundled with Xcode 26. It builds layered app icons for the Liquid Glass rendering style that landed across iOS, macOS, and watchOS this cycle. Design the layers once, check light/dark and specular previews in the tool, then export the variants each platform needs instead of hand-producing per-platform icon assets.

It's a design tool. You never touch it from Swift. The payoff is one source file instead of a differently shaped icon catalog per platform.

#Instruments overhaul: Power Profiler, SwiftUI Instrument, CPU Counters

Instruments picked up three tools worth knowing about. Power Profiler breaks down energy and thermal impact by CPU, GPU, display, and network, so you can see what's actually draining the battery instead of guessing. The new SwiftUI Instrument draws cause and effect for state changes. You see which mutation triggered which view update instead of inferring it from print statements. CPU Counters, paired with processor trace, surfaces hardware-level stalls that a wall-clock time profile won't show.

Power Profiler is for a battery complaint with no obvious cause. The SwiftUI Instrument is for a view that re-renders more than expected when reading the body isn't telling you why.

#UI test recording and hitch metrics

XCUITest gets a "Start Recording" button in the editor gutter next to a test method. Record interactions in the simulator or on a device and Xcode writes the corresponding Swift test code, so you stop typing app.buttons["..."].tap() calls by hand.

Separately, a new hitch metric lets UI tests measure dropped-frame rate during scrolling and animations directly. A regression in scroll smoothness shows up as a numeric test failure instead of something QA has to eyeball.

#What to adopt first

  • Explicit modules cost nothing. You get them by upgrading. Run a clean CI build early to catch any module setup that depended on the old lazy-discovery behavior.
  • Wire up ChatGPT or your own Claude key in the Intelligence settings if your team hasn't already. It's a settings change, not a code change, so there's no reason to wait.
  • Carrying battery or scroll-performance complaints? Give Power Profiler and the hitch metric a session before reaching for manual instrumentation.
  • Icon Composer is worth adopting the next time your design team is already touching the app icon. Don't redo icons you're not otherwise revisiting just to use the new tool.