Issue #80: WWDC26 Lands, Agentic Xcode, New SwiftUI Toys, and the Design Award Winners
Hey everyone! 👋
Welcome back, and welcome to the other side of the keynote! WWDC26 happened, and it delivered: SwiftUI picked up a genuinely useful batch of new modifiers, Xcode 27 went all-in on agentic coding (and ships its own bundled Agent Skills), Foundation Models can now hand off to Claude or Gemini, Swift Testing got two small-but-handy additions, and the Apple Design Award winners are finally official. Let's get into it. 🚀
Apple Design Award Winners Are In
Back in #79 we covered the 36 finalists, now the winners are official, and the lineup is a fun mix of indie charm and AAA muscle. grug (an app that delivers daily affirmations as "Neolithic grunts") took Delight and Fun for apps, while Is This Seat Taken? won the game side of that category. On the bigger end, Cyberpunk 2077: Ultimate Edition picked up Visuals and Graphics for games, with Tide Guide: Charts & Tables winning the app side of that same category.
Worth a browse even if you don't care about awards, there's a lot of practical inspiration in how these teams are using this year's APIs, especially the document-based and Liquid Glass stuff we'll get into below.
Apple reveals winners of the 2026 Apple Design Awards
Twelve apps and games honored across six categories — Delight and Fun, Inclusivity, Innovation, Interaction, Social Impact, and Visuals and Graphics.

SwiftUI After WWDC26: The Highlights
Majid's annual "what's new" roundup is out, and this year's theme is "remove the small annoyances." Two changes stand out for daily use.
First, swipeActions finally works outside of List. Wrap any container, ScrollView, LazyVStack, custom layouts, in the new swipeActionsContainer() modifier and your swipe actions just work:
ScrollView {
LazyVStack {
ForEach(items) { item in
ItemRow(item)
.swipeActions {
Button("Delete", role: .destructive) {
delete(item)
}
}
}
}
}
.swipeActionsContainer()Second, drag-to-reorder gets the same treatment via reorderContainer, paired with a new .reorderable() modifier:
struct ContentView: View {
@State private var landmarks: [Landmark] = []
var body: some View {
VStack {
ForEach(landmarks) { landmark in
LandmarkView(landmark)
}
.reorderable()
}
.reorderContainer(for: Landmark.self) { difference in
difference.apply(to: &landmarks)
}
}
}Beyond those two, there's a grab bag worth knowing about: a new prominent tab role for TabView (think the trailing "Create" tab pattern), a crossFade navigation transition to go alongside zoom, AsyncImage now supports proper caching via a custom URLSession, and a set of new toolbar modifiers (visibilityPriority, topBarPinnedTrailing, and an overflow menu for deprioritized actions). Document-based apps also got a visual and performance refresh — and Xcode itself appears to be eating its own dog food here.
What is new in SwiftUI after WWDC26
A rundown of this year's SwiftUI updates: swipe actions and reordering for any container, a new prominent tab role, toolbar visibility controls, AsyncImage caching, and more.

Swift Testing Gets Two New Tricks
Small additions, but ones you'll reach for constantly once you know they exist. First, Issue.record now takes a severity, so you can log a soft failure without tanking the whole test:
Issue.record(
"\(rocket.name) remaining fuel is below 10% reserve target",
severity: .warning
)Second, Test.cancel lets a test bail out early with an explanation — cleaner than an early return, and more expressive than a skip when the reason only becomes clear mid-test:
@Test func verifyThrottleResponse(rocket: Rocket) async throws {
if rocket.engineType == .solid {
try Test.cancel("\(rocket.name) has solid boosters — throttle test doesn't apply")
}
// ...
}Both pair nicely with the parameterized tests and traits we've covered in past issues, now you've got a softer failure mode and a graceful early exit to go with them.
WWDC 2026 - What's New in Swift
A rundown of Swift 6.3 and 6.4's language, library, cross-platform, and Swift Testing updates from this year's session.

Xcode 27 Goes Agentic — and Ships Its Own Skills
The biggest workflow change this year: Xcode 27's agent UI got a redesign (transcript on one side, files/diffs/previews on the other), picked up a /plan mode so you can sign off on an approach before any code gets touched, and added a unified Device Hub for simulators and devices.
The part SwiftLee's piece zeroes in on is more interesting for anyone using AI tools outside Xcode too: Apple bundled its own Agent Skills directly into the toolchain — seven of them, covering things like SwiftUI best practices, security hardening, and modernizing old test suites. You can export them with one command:
bash
xcrun agent skills export --output-dir ~/Downloads/xcode-skillsThe knowledge-driven ones (swiftui-specialist, swiftui-whats-new-27, test-modernizer) are just instructions, so they work in Claude, Codex, Cursor, or anything else that reads the ~/.agents/ folder — not just Xcode.
Using Xcode 27's Agent Skills in Claude, Codex, and Cursor
How to export Apple's own bundled Agent Skills from Xcode 27 and use them in any AI coding assistant.
Quick Hits from WWDC26
Foundation Models can now swap providers. The new LanguageModel protocol gives third-party model providers — currently Anthropic and Google — a way to plug into the same Swift API surface as Apple's on-device models. Same code, different brain. Apple also introduced an Evaluations framework that integrates with Swift Testing for scoring AI feature output quality, including a ModelJudgeEvaluator that uses a second model to grade results.

Swift goes cross-platform, for real this time. Swift 6.3 ships the first official Swift SDK for Android, plus new module selectors (the :: syntax) for disambiguating name conflicts between modules. Swift 6.4 adds an anyAppleOS availability shorthand, one annotation instead of separately listing iOS, macOS, watchOS, tvOS, and visionOS versions.

That's Issue #80! The keynote dust has settled, and there's a lot here worth actually trying before the next one rolls around. See you next time. 🚀




Member discussion