Vapor is a web framework for Swift. It provides a beautifully expressive and easy to use foundation for your next website, API, or cloud project.
Take a look at some of the awesome stuff created with Vapor.
Join the welcoming community of fellow Vapor developers on Discord.
If you find a bug, please create an issue.
If you find a security vulnerability, please contact email@example.com as soon as possible.
💙 Code of Conduct
Our goal is to create a safe and empowering environment for anyone who decides to use or contribute to Vapor. Please help us make the community a better place by abiding to this Code of Conduct during your interactions surrounding this project.
The awesome Vapor community is always adding new tutorials and articles out there, Vapor University is a great place to get started!
Support us with a monthly donation and help us continue our activities. [Become a backer]
- 🥇 Become a Gold sponsor
- 🥈 Become a Silver sponsor
- 🥉 Become a Bronze sponsor
- 👥 Contribute on Open Collective
Help us keep the lights on
3.1.1 - Jan 11, 2019
- Fixed an issue where
NIOWebSocketClientwould not properly forward request headers. (#1866)
2.4.5 - Sep 19, 2018
Fixes Swift 4 warnings in Vapor project.
3.1.0 - Sep 19, 2018
makeResponsehas been renamed to
response. (#1671, #1672)
let res = req.response()
ParametersContainerhas a new
rawValues(_:)method for accessing all string parameters for a given type. (#1705)
let ids: [String] = request.parameters.rawValues(User.self)
- WebSocket upgrader now supports max frame size. (#1777)
[Middleware].makeResponder(…)method had a typo fixed. (#1755)
- Arrays now serialize to JSON by default.
- Multiple issues with premature connection closure while streaming large files have been resolved. (HTTP 3.1.4, HTTP 3.1.3)
- Starting Vapor no longer calls
- HTTP 204 responses now close connection properly. (#1787)
- Improved error messages for missing content-type headers. (#1786, #1813)
- Logger output is now more concise. (#1796)
- Threads are now properly cleaned up on application shutdown. (#1794)
3.0.8 - Jul 27, 2018
NotFounderror now conforms to
AbortErrorand returns a 404 status code (#1771 #1770)
3.0.7 - Jul 25, 2018
DatabaseConnectableconformance now correctly uses the private container to avoid sharing connections between threads (#1766).