things I personally find important and cool to know There is wayyyy too much content to cover in-depth in a single presentation, so check out the sessions! %
from Apple since iOS 7’s Flat Design All system components have been migrated to glass, and you can migrate your custom components SwiftUI glassEffect() UIKit UIGlassEffect()
Apple have provided an opt-out feature Simply set UIDesignRequiresCompatibility to YES in your Info.plist, and all Glass Effect is gone. Note: Apple claims this will only work for Xcode 26, which gives us about a year to migrate UIDesignRequiresCompatibility = NO UIDesignRequiresCompatibility = YES
crash with random warnings, but get an actual actionable error You can also directly add the missing description, without having to fiddle with plist files!
all builds by default. Before, code and modules were built on the fly as the build system discovered them. Now, the build system creates a full graph and is aware of each module - able to better plan and coordinate the build process Build Modules Build Source Scan
open sourced its build system, and will move to a unified build system for Xcode, SPM & More This is an awesome step for using IDE(s) as well with great build speed (Hello cursor )) https://github.com/swiftlang/swift-build !
the expensive build time, which could add minutes to an app’s build process Starting with Swift 6.2, swift-syntax is available as a prebuilt dependency, which eliminates this build step and speeds things up substantially!
the expensive build time, which could add minutes to an app’s build process Starting with Swift 6.2, swift-syntax is available as a prebuilt dependency, which eliminates this build step and speeds things up substantially!
want as long as they’re wrapped in backticks (`) This is kinda icky (IMO), but useful for tests and other narrow use cases. From the bottom of my heart, please don’t abuse this &
arrays limited to a specific amount of items Since the array has a fixed type, you can’t use append, remove, etc on them, but you can mutate them in-place (specific index) Unlike a regular Array - it doesn’t conform to Sequence/Collection, so you must iterate over it by its indices
shiny updates this year, but a long-requested one is the ability to assert if a piece of code could cause a process exist * Unfortunately only available on macOS, Linux and Windows
a world where adoption becomes a more gradual process 1. Start with sequential, single-threaded code 2. Write asynchronous code without any data-race issues 3. Introduce parallelism to improve performance This is aimed to make Swift more approachable for engineers, and lets you introduce complexity just as you need it as a developer / team https://github.com/swiftlang/swift-evolution/blob/main/visions/approachable-concurrency.md Vision document:
Concurrency model which follows this approach, and starts off with all code running on a single thread, letting you introduce parallelism and concurrency when you need it
continue running from the actor they were called from, instead of offloading to a different actor doImportantWork runs on same actor as doViewModelyStuff
Isolation to a specific actor, most notably - @MainActor. This is extremely helpful for most UI apps/ modules, as most code runs on that actor This is the default on new projects created with Xcode 26
noting here, check out these two recommended sessions: https://developer.apple.com/videos/play/wwdc2025/266/ https://developer.apple.com/videos/play/wwdc2025/268/
which is supposed to provide significant Speed-ups to Lists, especially large one (up to 6x for loading and 16x for updates) Overall, you should expect a smoother scrolling experience and less dropped frames.
providing you with a very capable built-in rich text editor @State private var text = try! AttributedString( markdown: """ Let's talk about some of the **changes** in rich text editing, which might be _helpful_ or ~nice~ in your day to day """ ) var body: some View { TextEditor(text: $text) }
from your own app and leverage the on-device models for your benefit Offline, local, free Erez will have a full session on this right after me, so not going to dive into it +