Finch 0.9.0
This release is mostly about reworking the Endpoint
API. Thanks to all the amazing contributors who helped to make this happen: @travisbrown, @imliar, @arnihermann, @rpless, @roanta, @longcao and many more!
As usual, all the docs have been upgraded to the current state!
Upgraded Dependencies
- Finagle 6.30
- Circe 0.2.0
Breaking API Changes
- Finagle HTTPx renamed to Finagle HTTP. Use this guide to migrate.
Deprecations
io.finch.route.Router
(deprecated) is renamed toio.finch.Endpoint
/>
and/>>
combinators are deprecated - useEndpoint.apply
insteadio.finch.response
package is deprecated - useio.Finch.Output
instead- HTTP verb matchers
Get
,Post
, etc are deprecated - use functionsget: Endpoint[A] => Endpoint[A]
instead
New Features
Finch ♥ OAuth2
finagle-oauth2 is now supported in Finch! See docs for more details.
UUIDs
java.util.UUID
s are supported out of the box in all the possible settings:
- as request reader
param("uuid").as[UUID]: RequestReader[UUID]
- as endpoint
uuid: Endpoint[UUID]
Output
The new way of capturing the output context: headers, cookies, content type, etc. See outputs for more details.
Error Handling
Brand new methods Endpoint.handle
and Endpoint.rescue
allows to handle the failed future from the endpoint. See error handling for more details.