github finagle/finch 0.16.0-M5
Finch 0.16-M5

latest releases: v0.34.1, v0.34.0, v0.33.0...
6 years ago

Another milestone release for Finagle 17.11.

Improved Multipart Support

Multipart attributes are now decoupled from param(s) endpoints as they were instigating a multipart decoding on each optional param (see #860 for discussion and #865 for a fix).

scala> val foo = multipartAttribute("foo")
foo: io.finch.Endpoint[String] = foo

scala> val bar = multipartFileUpload("bar")
bar: io.finch.Endpoint[com.twitter.finagle.http.exp.Multipart.FileUpload] = bar

Circe's Printing Size Predictor

Circe's size predictor allows saving a couple of copy-and-grow iterations while printing into a binary output. It uses a very primitive form of a feedback controller to grow/shrink a potentially expected size based on the history of allocations (see circe/circe#739 for more details).

We've seen quite a great improvements in our ToServiceBenchamrk (around ~2x of throughput improvement) yet we were unable to reproduce the numbers with the wrk (i.e., end-to-end test). Based on that, this option should be considered experimental (use with caution and run your own tests).

Size prediction could be enabled with io.finch.circe.predictSize._ import (see #868).

Don't miss a new finch release

NewReleases is sending notifications on new releases.