The Future of Vapor

After nearly 4 and a half years, and nearly 400 releases of the main Vapor project alone, Vapor 4 is starting to show its age. A couple of years ago we discussed a vague plan for Vapor 5, what we wanted to add and how we thought the future of the ecosystem would look. A lot has changed in those years and we made a bit of a gamble with the timescales for Swift 6 that didn't pan out. But such is life!

blog.vapor.codes/posts/the-future-of-vapor/

After over four years and nearly 400 releases, Vapor 4 is transitioning to maintenance mode, with Vapor 5 now in development to leverage Swift 6’s capabilities and modernise the framework.

Vapor 5 aims to maintain its intuitive developer experience while adopting full structured concurrency, eliminating EventLoopFuture APIs, and integrating new ecosystem packages like Swift Service Lifecycle, HTTP Types, Swift Argument Parser, and FoundationEssentials for better performance and cross-platform consistency.

Key goals include supporting demanding backends with observability (logging, metrics, tracing), first-class gRPC and OpenAPI support, and rewritten WebSocket and MultipartKit APIs for streaming. The development plan includes removing old APIs, adopting a new service architecture, fixing technical debt, and exploring new routing and validation APIs, with an alpha release planned alongside Swift 6.

Vapor 4 will receive bug and security fixes for at least six months post-Vapor 5 release, with Vapor 5 guaranteed support for three years to encourage ecosystem adoption.


Category:

Year: