What's new in Swift: July 2026 Edition

Welcome to “What’s new in Swift,” a curated digest of releases, videos, and discussions in the Swift project and community.

Swift is built by contributors working on far more than the language and compiler. Alexander Sandberg reflects on what that kind of contribution looks like, and why there’s a place for you too:

Hi, I’m Alex. Four years ago I joined the Swift Website Workgroup to help care for the website you’re reading this on. I was still fairly new to the Swift community then, but I wanted to get involved somehow and make a difference.

Contributing to Swift sounds like it should involve working on the compiler or writing and reviewing language evolution proposals, but there’s a lot going on around the language itself too. What I actually spent my time doing was helping improve the site’s content and navigation, taking part in the big redesign, writing release blog posts, reviewing pull requests, and answering issues and forum posts. All of it is work anyone can learn to do, and all of it ends up in front of everyone who comes to Swift.org—which made even the smallest fixes feel worth doing.

The Website Workgroup happened to be my way in, but there are groups like it across the project—server, testing, Windows, Android, and more—each a handful of people looking after their part of the ecosystem. Whatever you’re good at or curious about, there’s probably a corner of Swift that could use your help. The community page is a good place to start looking, and the people you’ll meet are some of the friendliest I’ve come across in open source.

After four years, I’ve stepped away to focus on other things in life. Thank you to everyone I got to work with over these years! I’m leaving the workgroup, but not the community, and I’ll still be around helping push Swift forward where I can.

For more information about workgroups, the How we work page lists all workgroups. And on the Swift forums you’ll often see workgroups sharing open meetings if you’re looking to get involved!

Now on to other news about Swift:

Videos to watch

Recent project changes

  • Google Summer of Code contributions are underway: Ege Kaya is building a Task Registry for the Swift Concurrency runtime (PR #90547), Filip Sakellariou is contributing to swift-syntax (PR #3378, PR #3390), and Padmashree S S is working in sourcekit-lsp (PR #2698, PR #2729).
  • Task Stealers, a new primitive in Swift Concurrency’s runtime, recently merged after generating the liveliest discussion of any PR in July. They change how work gets distributed across the cooperative thread pool, an under-the-hood change worth watching if you write concurrency-heavy code.
  • SwiftPM landed a reference implementation of the package registry service, along with basic auth support, a solid starting point if you’re exploring self-hosting a registry.
  • Small but welcome fixes landed across tooling: the VS Code extension now fails loudly when a Swift installation is broken, and gained a clean build folder command, while Swift Testing’s event stream gained an ABI.Context API that produces human-readable output for CI tooling and dashboards.

New package releases

  • Need to tokenize text fast? swift-gigatoken is a zero-copy tokenizer hitting up to 670 MB/s, inspired by Marcel Roed’s gigatoken, with NEON/CRC32 support and compatibility across WebAssembly and Embedded Swift.
  • any-error-swift takes a different approach to error handling, offering a concrete, value-semantic, Hashable type that erases any Swift error, no Foundation required, and works on every platform Swift runs on.

Swift Evolution

The Swift project adds new features through the Swift Evolution process. These are some of the proposals recently accepted for a future Swift release.

Recently accepted:

  • ST-0025 Tag-based Test Execution Filtering - Swift Testing lets you annotate tests with named tags, and separately lets you include or exclude tests by regex using the --filter and --skip options, but there’s no way to combine the two and filter by tag. This proposal adds a tag: prefix to those options, so you can run commands like swift test --skip tag:uiTest to selectively run or skip tests based on their tags rather than relying on a consistent naming scheme.
  • SE-0513 API to get the path to the current executable - There’s currently no portable, reliable way to get the path to the currently running executable in Swift. This proposal adds CommandLine.executablePath, a new property in the standard library that provides a consistent way to get this value across all platforms Swift supports.

Recently accepted with modifications:

  • SE-0526 withDeadline - Asynchronous operations in Swift can run indefinitely, and implementing time limits manually using task groups and clock sleep operations is verbose and error-prone. This proposal adds withDeadline, a function that executes an async operation with a composable absolute time limit specified as a clock instant, canceling the operation if it hasn’t completed in time. It also allows multiple nested operations to share the same deadline, avoiding the drift that accumulates when relative durations are passed through call layers.

Authors

Alexander Sandberg is a Senior Mobile Engineer at SoFi and an indie app developer who served four years in the Swift Website Workgroup.
Dave Lester is a Senior Product Manager at Apple and member of the Swift website workgroup.

Continue Reading