Swiftpack.co - Package - vapor/vapor

Vapor

Documentation Team Chat MIT License Continuous Integration Swift 5 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.

Nodes
Skelpo

Michael Dominick

analytics

Github

link
Stars: 15784
Help us keep the lights on

Releases

3.2.2 - Feb 15, 2019

New:

  • Vapor Compatibility Suite: All PRs to vapor/vapor:3 will run against our new compatibility suite that verifies projects built on Vapor continue to compile and pass tests.
  • Submit your project here: https://forums.swift.org/t/vapor-compatibility-test-suite/20500

Fixed:

  • Reverted retain cycle fix that could cause Application to not deinit. (#1898).

3.2.1 - Feb 14, 2019

Edit: The changes in this tag have been reverted in 3.2.2.

Fixed:

  • Fixes a crash introduced in 3.2.0 when using req.client(). (#1896, #1895, #1894)

⚠️ This patch removes the Container.client() method.

Use the following instead:

let client = try container.make(Client.self)
let client: Client = try container.make()

Application, Request, and Response still have the client() method.

let res = try req.client().get("https://vapor.codes")

3.2.0 - Feb 12, 2019

New:

  • Adds Request.hasSession() for checking if the request has an active session. (#1888)
  • Adds a new convenience Abort init that accepts AbortError and captures source info. (#1884)
  • Adds missing Debuggable properties to Abort. (#1824)

Fixed:

  • Fixed a retain cycle that could cause Application to not deinit. (#1878)
  • Edit: This fix has been reverted in 3.2.2

3.1.3 - Feb 7, 2019

Fixed:

  • Fixed an issue where WebSocket URLs would not be routed correctly. (#1882)
  • Fixed a non-deterministic test.

3.1.2 - Feb 6, 2019

Fixed:

  • Default not found response is now an Abort(.notFound) error instead of HTTPResponse. (#1881)