Swiftpack.co - Package - vapor/vapor


Documentation Team Chat MIT License Continuous Integration Swift 4.1 Twitter

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.

💧 Community

Join the welcoming community of fellow Vapor developers on Discord.

🚀 Contributing

To contribute a feature or idea to Vapor, create an issue explaining your idea or bring it up on Discord.

If you find a bug, please create an issue.

If you find a security vulnerability, please contact security@vapor.codes 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.

🏫 Tutorials

The awesome Vapor community is always adding new tutorials and articles out there, Vapor University is a great place to get started!

👥 Backers

Support us with a monthly donation and help us continue our activities. [Become a backer]

🥇 Sponsors

Proudly sponsored by Nodes (🏅), Skelpo (🥉), and our Open Collective sponsors.


Michael Dominick



Stars: 15618
Help us keep the lights on


3.1.1 - Jan 11, 2019


  • Fixed an issue where NIOWebSocketClient would 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


  • makeResponse has been renamed to response. (#1671, #1672)
let res = req.response()
  • ParametersContainer has 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)
HTTPServer.webSocketUpgrader(maxFrameSize: 42_000)
  • [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 .wait(). (#1788)
  • 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


  • NotFound error now conforms to AbortError and returns a 404 status code (#1771 #1770)

3.0.7 - Jul 25, 2018


  • DatabaseConnectable conformance now correctly uses the private container to avoid sharing connections between threads (#1766).