Swift concurrency back deployment

In any case, thanks for the heads-up and your obviously continued work on that issue!

1 Like

Thanks for the detailed reply Doug :+1:

Is there any larger thread we can follow to track the progress?

There’s no thread per se. Work continues in the main GitHub repository, with a bunch of stuff having been recently merged. There are still known crashes at runtime, although most of the regression tests are successfully running now.

27 Likes

Any news about this? Since I know about this I can't wait for it (especially because Apple does not allow me to upgrade my fully working MacBook Pro to Monterey)

1 Like

It appears this has shipped with the Xcode 13.2 beta.

  • You can now use Swift Concurrency in applications that deploy to macOS 10.15, iOS 13, tvOS 13, and watchOS 6 or newer. This support includes async/await, actors, global actors, structured concurrency, and the task APIs. (70738378)

One question I have is whether there's a way to properly conditionalize concurrency code so that it can build in Xcode 13.0/.1 and 13.2 at the same time. I can't think of one offhand.

16 Likes

Wow, a massive, massive thank you to the core team for getting this done! This makes a HUGE difference to a lot of us.

8 Likes

Seriously! Thank you to everyone involved in making this happen. This is huge. :clap:

3 Likes

@Douglas_Gregor Incredible news. Sooner than I had hoped. Many many thanks. Are there any pitfalls or things we should look out for when deploying back to those older versions?

1 Like

I think most libraries (like NIO) are using

#if canImport(_concurrency)

I imagine that will still work since the 13.0 and 13.1 don’t know how to import it.

2 Likes

13.0/.1 know how to import concurrency, it's the OS availability I'm worried about. Assuming the concurrency types have had their availability set back to the new deployment target, using the new target on 13.0/.1 would cause errors. Guess I'll check once the download is complete.

1 Like

Incredible news. This makes a huge difference in my development plans going forward, because my organization wouldn't move to Monterey for users for many months now.

2 Likes

Wow, that is great! Thank you so much for that!!! The .zip-file of the Beta is already extracting... :smiley:

Thank you very much indeed for what must've been a long and arduous journey! This will have a huge impact on the Swift ecosystem as a whole.

Thanks! Means a world, will change the way we develop apps right now. I'll be able to adopt concurrency in a month, not in a year. Feel like Christmas!

1 Like

wow, i am speechless.. didn't expect this so soon, and thank you so much! would also like to know about pitfalls if any.

The main tradeoff would be that, in order to deploy to older OSes, your app will need to bundle a copy of the Swift 5.5 concurrency runtime for older OSes, similar to how back-deploying Swift to OSes before the stable ABI requires bundling a copy of the Swift 5.0 runtime.

23 Likes

totally reasonable price, i'm buying.

1 Like

Does this have any impact when running the same binary on macOS 12 or later, or are the bundled libraries ignored there?

1 Like

This is amazing news. Huge thanks to everyone involved! :pray:

A couple of questions:

Same for iOS. Will the App Store strip the concurrency library when downloading our app on iOS 15? or do iOS 15 users have to pay the price too?

  1. Does this mean that old OSs won't have the memory corruption issues since the embeded library will have the fixes already?
1 Like
Terms of Service

Privacy Policy

Cookie Policy