developer.apple.com
What's new in Swift - WWDC25 - Videos - Apple Developer
Excerpt
Previously, in order to build your projects, Swift PM first had to fetch the sources of swift-syntax, which is a library that powers macros. Then it would build swift-syntax, build the Stringify macro plugin, and finally build your code. While the build of swift-syntax could be cached, it still lengthened the time needed to perform a clean build. … And even when the notification is guaranteed to be posted on the main thread, you’d still get concurrency errors when accessing main actor APIs. Notification names and payloads now support concrete types. Concrete types allow the compiler to check that the object supports the notification kind you’re registering for. They also eliminate boilerplate when working with the notification payload.
Related Pain Points
Extremely long build times on Linux with new Foundation
7Building on Linux with the new Foundation requires compiling both swift-foundation and swift-syntax (due to macro usage), causing painful and lengthy build times that result in slow CI turnaround.
Notification concurrency errors persist despite main-thread guarantees
5Developers receive concurrency-related errors when accessing main actor APIs through notifications, even when those notifications are guaranteed to post on the main thread. This creates confusing false positives that require workarounds.