Skip to content

Finch 0.3.0

Compare
Choose a tag to compare
@vkostyukov vkostyukov released this 16 Dec 18:26
· 2007 commits to master since this release

This is another big step for Finch. An enormous work has been done by core contributors: @benjumanji, @rodrigopr and @rpless. Thank you guys!

The following changes are made:

  • Finch is on Scala 2.11.4!
  • Finch is now on finagle-httpx (Netty-free implementation of HTTP), which means that new client/server construction API may be used instead of deprecated ServerBuilder:
Await.ready(Httpx.serve(new InetSocketAddress(8080), endpoint.toService))
  • An Endpoint companion object has an apply method that builds new endpoints on the fly:
val e = Endpoint[String, String] {
  case Method.Get -> Root / "a" => ???
  case Method.Get -> Root / "b" => ???
}
  • Futures may be used instead of services in the Endpoint route's destination:
val e = Endpoint[String, String] {
  case Method.Get -> Root / "a" -> "a".toFuture
  case Method.Get -> Root / "b" -> stringService
}
  • Finch supports the Argonaut library that provides purely functional JSON API.
  • The code coverage has been dramatically improved.

Grab it on Maven Central:

libraryDependencies ++= Seq(
  "com.github.finagle" %% "finch-module" % "0.3.0"
)