Skip to content

Vapor 3.0 Alpha 11

Pre-release
Pre-release
Compare
Choose a tag to compare
@tanner0101 tanner0101 released this 05 Dec 16:14
· 1502 commits to main since this release
1ca3837

Compare 3.0.0-alpha.x to 3.0.0-alpha.11

82 changed files with 1,676 additions and 816 deletions.

New:

  • FileMiddleware has been implemented.
  • Fluent now supports omitting types in filter methods
User.query(on: req).filter(\.name == "Vapor")
  • EngineClient and Client protocol have been added.
let res = req.make(Client.self).send(.get, to: "http://vapor.codes")
  • LeafData is now wrapped in a reference based LeafContext allowing nested #set
  • Add convenience subscript getters to req.query and req.content for decoding single values
// query
let test: String? = req.query["hello"]

// content
XCTAssertEqual(req.content["batters", "batter", 1, "type"], "Chocolate")
  • New req.streamFile(at: String) function for creating a streaming file response
  • Convenience accessors for URI, headers, body, etc on Vapor.Request
  • Core.File now supports streaming.
  • HTTPServer now supports a generic stream type instead of concrete TCP socket.
  • DataCoder is now BodyCoder

Fixed:

  • String and Int now encode to plaintext instead of html by default.
  • Authentication issues with MySQL on Linux.
  • FormURLEncoded target.
  • Fixes the regression for WebSocket routes not passing the Vapor.Request