New:
- Simplified access to the database from route closures.
router.get("foo") { req -> Future<[User]> in
return User.query(on: req).all()
}
- Automatic
Parameter
conformance on models.
router.get("users", User.self, "posts", Post.self) { req -> Future<String> in
let user = try req.parameters.next(User.self)
let post = try req.parameters.next(Post.self)
return then(user, post) { user, post in
return "User \(user) post \(post)"
}
}
DirectoryConfig
struct, allowing leaf paths to be relative to working dir.KeyFieldMap
has been renamed toKeyStringMap
and moved from Fluent to the Core package- Big improvement to the
Async.Stream
protocol. Tag
andRenderer
in leaf have been renamed toLeafTag
andLeafRenderer
form-urlencoded
Data, Parser, and Serializer are finished. No public encoders/decoders available yet.
Fixed:
- Improved Leaf encoder.
- Fixed threading issues caused by creating services in route closures.
Removed:
- Request is no longer conforming to
ConnectionRepresentable
- Add the following to your project:
extension Request: ConnectionRepresentable {}
- Add the following to your project:
- Models are no longer conforming to
Parameter
- Add the following to your project for Parameter models:
extension MyModel: Parameter {}
- Add the following to your project for Parameter models: