Vapor's Next Steps with async/await
A while ago, we updated Vapor's supported Swift versions. The time has come to update it again and take a look at the next steps for Vapor and it's support for Swift's Concurrency model.
→ blog.vapor.codes/posts/async-next-steps/
Vapor is updating its supported Swift versions to a minimum of Swift 5.6 to align with Swift 6 and prepare for Vapor 5, focusing on back-deploying async/await to older OSes, ensuring safety in a concurrent environment, and adopting Sendable for compile-time data race checks.
This enables async/await support for macOS and iOS apps on older systems by leveraging Swift 5.6’s guaranteed concurrency runtime, avoiding maintenance-heavy API duplication. To address potential data race issues in concurrent contexts like TaskGroups, Vapor will deprecate unsafe types like Storage
in favour of actor-based async versions, strongly encouraging users to adopt async APIs.
Adopting Sendable simplifies ensuring thread safety, made practical by setting Swift 5.6 as the baseline, with changes tracked in a GitHub PR and planned for release with Swift 5.7.
Category:
Tags:
Year: