Swift Evolution Monthly: June '23
WWDC 23 Aftermath, 0 Proposals Accepted in June, Milestone: #400, 2 new Proposals & 10 Pitches linked, OpenAPI Generator.
WWDC23 was full of hardware announcements and even brought us a new platform: visionOS. Xcode 15 and Swift 5.9 are also in beta phase now with a great set of new features. Of course, for readers of this newsletter, there were no big surprises in the "What's New in Swift" session (except for the large focus on C++ interoperability). But if you didn't have the time to check out the other sessions, including those about Swift Macros which were a focus in the last 3 issues, you might want to visit the WWDC Notes project website which has a dedicated section with notes about this year's sessions. At the time of this writing, 75 sessions from 2023 were already covered by 25+ amazing community members, and still counting. 🎉🙏
If you don't know where to start, I've prepared a thread with a ~250-character-long summary twoot for each of my personal Top 25 sessions. It can both help you learn some tidbits of these sessions with minimal time & explore the ones you might want to dive into further by reading the full notes or watching the session:
🐦 Twitter Thread | 🐘 Mastodon Thread
Accepted Proposals
No new proposals were accepted in June. 😱 I guess that's a consequence of 7 proposals being accepted in May to make it into the language before WWDC.
I'm also skipping the old proposal, no one seems to be using the repo anyway. 🤷♂️
But there are two new proposals in Review, so after the packed May issue and a light June issue this time, we might get a decent July issue next month. 🤞
Worth noting that a milestone of 400 proposals has been reached! 💯💯💯💯 🥳
Proposals in Progress
SE-0385: Custom Reflection Metadata
📝 Proposal | 💬 Review | 🔄 ReturnedSE-0387: Swift SDKs for Cross-Compilation
📝 Proposal | 💬 Reviews: 1st, 2ndSE-0401: Remove Actor Isolat. Inference caused by Prop. Wrappers
📝 Proposal | 💬 Review
📡 You want to know how your apps are getting used while respecting the privacy of your users? Try TelemetryDeck, an EU-based analytics service that kindly sponsors this issue after I asked them to – since I love & use the service myself everywhere: In my apps and my website!
Recently Active Pitches/Discussions
Other Developments Worth Mentioning
A really cool open-source surprise at WWDC was the Swift OpenAPI Generator announcement. Apple dedicated a full session to it and I recommend watching it if you happen to have an app with its own server, or if you plan to add a server to your app in the future. The most amazing thing about this new set of libraries is how flexibly you can make use of them:
You were using a networking library in your app or you wrote your own networking client using URLSession
? No more: Just generate the client code.
You were using Vapor as a server and had to map your routes and parameters to your business logic manually? No more: Just generate the server code.
You were using complex workflows to ensure your non-Swift server and your Swift client are always in sync? No more: Just write a YAML file like any other code.
OpenAPI (not to mix up with OpenAI) is an industry standard for HTTP API specs and there's a ton of tooling around the API spec that can help streamline API creation, documentation, testing, and usage – Apple's tools are just the latest to join a big family. At the core of OpenAPI is the spec file – I recommend writing one with a GUI like APIGit so you don't have to remember the syntax – this was the only one I found to support typed params and has a useful Free tier.
There's also a process to influence the future direction of the project in a very similar (but more lightweight) manner to Swift Evolution itself, learn more here.
And that's it for June! It's been a busy month but it was fun. 🍏🥽
💁🏻♂️ Enjoyed this article? Check out my app RemafoX!
A native Mac app that integrates with Xcode to help translate your app.
Get it now to machine-translate your app to 150+ languages!