WWDC21 is just a couple of days away! Everyone is super excited, and there will be many community events throughout the week and later this month. Don’t worry if you can’t follow everything. We have plenty of time afterwards! The most important thing is to enjoy this moment and follow along at your own pace!

This month we celebrate Pride Month, and with it the new Pride in Swift community group, which is now open.

I want to end this introduction by congratulating Apple’s WWDC21 Swift Student Challenge winners. This year the intake includes three women, Damilola Awofisayo, Gianna Yan, and Abinaya Dinesh, whose code will definitely change our world!

Now let’s get to the news and enjoy WWDC21. Thanks!

Starter tasks

SR-14667 (Compiler) Deprecation warning about the use of dynamicType when it’s a real property.

News and community

Holly Borla posted about the new Pride in Swift community group, which is now open on the Swift forums. She also updated us about the Swift Mentorship Program.

Paul Hudson wrote an article about what’s new in Swift 5.5.

Vincent Pradeilles posted a video explaining CaseIterable.

Swift 5.4.1 for Linux and Windows has been released. Downloads are available here.

Swift Trunk (main) nightly development Ubuntu 20.04 arch64 Snapshots are available!

Proposals in review

SE-0317: Async Let is under review.

Note that this feature builds upon the structured concurrency proposal, the third review of which is happening concurrently to better discuss common aspects such as naming.

This review is part of the large concurrency feature, which we are reviewing in several parts. While we’ve tried to make it independent of other concurrency proposals that have not yet been reviewed, it may have some dependencies that we’ve failed to eliminate. Please do your best to review it on its merits, while still understanding its relationship to the larger feature. You may also want to raise interactions with previous already-accepted proposals – that might lead to opening up a separate thread of further discussion to keep the review focused.

SE-0304: Structured Concurrency is under the third review.

Following on from the second review, the proposal authors have made several changes. The changes made after the second review can be found at the end of the proposal, and the full diff can be found here.

Note that this feature is closely tied to the async let proposal, the first review of which is happening concurrently to better discuss common aspects such as naming.

This review is part of the large concurrency feature, which we are reviewing in several parts. While we’ve tried to make it independent of other concurrency proposals that have not yet been reviewed, it may have some dependencies that we’ve failed to eliminate. Please do your best to review it on its merits, while still understanding its relationship to the larger feature. You may also want to raise interactions with previous already-accepted proposals – that might lead to opening up a separate thread of further discussion to keep the review focused.

SE-0316: Global Actors is under review.

This review is part of the large concurrency feature, which we are reviewing in several parts. While we’ve tried to make it independent of other concurrency proposals that have not yet been reviewed, it may have some dependencies that we’ve failed to eliminate. Please do your best to review it on its merits, while still understanding its relationship to the larger feature. You may also want to raise interactions with previous already-accepted proposals – that might lead to opening up a separate thread of further discussion to keep the review focused.

SE-0292: Package Registry Service is under third review.

The proposal has been amended to address the feedback from the second review, and is ready for another review.

SE-0311: Task-local values is under third review.

The second review of SE-0311 was run to consider a significantly different language approach for binding and accessing task-local values, one based around property wrappers rather than an explicit key type. Shortly after the second review started, the community provided strong feedback that the proposal’s new use of property wrappers didn’t match their expectations because of the indirection through a wrapper value. The author agreed to re-revise the proposal, and the review was extended.

Swift Forums

Swift on the Server Workgroup posted their Annual Update for 2020.

Alejandro Martinez shared his video series about Swift Concurrency.

Jonathan Grynspan pitched an idea to add temporary uninitialised buffers.

I’d like to propose a new inlinable function in the standard library that allocates a buffer of a specified type and capacity, provides that buffer to a closure, and then deallocates the buffer. The buffer would be passed to the closure in an uninitialised state and treated as uninitialised on closure return—that is, the closure would be responsible for initialising and deinitialising the elements in the buffer.

Alexis Schultz explained an idea about using switch without a subject.

Finally

Happy Pride Month! 🏳️‍🌈🏳️‍⚧️