Finagle v7.1.0 Release Notes
-
๐ New Features
* ๐ง finagle-core: If a `c.t.u.tunable.Tunable` request or total timeout has been configured on a client which uses a `c.t.f.client.DynamicTimeout` filter, the current value of tunable will be used in the case of no dynamic timeout set for a request. ``PHAB_ID=D81886`` * finagle-core: `FailFastException` now captures the throwable that caused it. ``PHAB_ID=D86396`` * finagle-redis: finagle interface for redis DBSIZE command. ``PHAB_ID=D85305`` ๐ Bug Fixes ~~~~~~~~~ * finagle-core: Unregister `ServerRegistry` entry on `StackServer#close`. A StackServer entry is registered in the `ServerRegistry` on serve of the server but never unregistered. It is now unregistered on close of the StackServer. ``PHAB_ID=D83200`` * finagle-mux: Fix two issues with mux leases. In one bug, a new lease wouldn't be sent to the client if it was issued within 1 second of when the existing lease was set to expire. In a second bug, the server would only nack if the issued lease was 0, but didn't consider whether the lease had expired. ``PHAB_ID=D91645`` * finagle-netty4: `Netty4ClientEngineFactory` and `Netty4ServerEngineFactory` now properly load all chain certificates when the `SslClientConfiguration` or `SslServerConfiguration` uses `KeyCredentials.CertKeyAndChain` instead of just the first one in the file. ``PHAB_ID=D82414`` * ๐ง finagle-thrift/thriftmux: Thrift/ThriftMux servers and clients now can be configured with `withMaxReusableBufferSize` to specify the max size of the reusable buffer for Thrift responses. ``PHAB_ID=D83190`` โ Runtime Behavior Changes
finagle-stats: Verbosity levels are now respected: debug-metrics aren't exported by default.
PHAB_ID=D85278
finagle-netty4:
ChannelTransport
no longer considers theChannel.isWritable
result when determining status.PHAB_ID=D82670
๐ Deprecations
* finagle-base-http: Encoding/decoding methods on `c.t.f.http.Request` and `c.t.f.http.Response` to/from Strings and arrays of bytes have been deprecated. Use the methods on `c.t.f.http.codec.HttpCodec` instead: - For `c.t.f.http.Request.encodeString`, use `c.t.f.Http.codec.HttpCodec.encodeRequestToString` - For `c.t.f.http.Request.encodeBytes`, use `c.t.f.Http.codec.HttpCodec.encodeRequestToBytes` - For `c.t.f.http.Request.decodeString`, use `c.t.f.Http.codec.HttpCodec.decodeStringToRequest` - For c.t.f.http.Request.decodeBytes`, use `c.t.f.Http.codec.HttpCodec.decodeBytesToRequest` - For `c.t.f.http.Response.encodeString`, use `c.t.f.Http.codec.HttpCodec.encodeResponseToString` - For `c.t.f.http.Response.decodeString`, use `c.t.f.Http.codec.HttpCodec.decodeStringToResponse` - For `c.t.f.http.Response.decodeBytes`, use `c.t.f.Http.codec.HttpCodec.decodeBytesToResponse` ``PHAB_ID=D81341`` ๐ฅ Breaking API Changes
๐ finagle-core: Remove deprecated method
httpProxyTo(String, Option[Transporter.Credentials])
. UsehttpProxyTo(String, Transporter.Credentials]
instead.PHAB_ID=D84077
๐ finagle-*-http: Netty 3 specific HTTP transport related code has been moved into its own project, finagle-netty3-http, in preparation for removing it from Finagle.
PHAB_ID=D84101
๐ finagle-memcached: Remove deprecated method
BaseClient.release()
. UseBaseClient.close()
instead.PHAB_ID=D83168
๐ Deprecations
* ๐ finagle-memcached: Move `c.t.f.memcached.java.Client` to `c.t.f.memcached.JavaClient`, `c.t.f.memcached.java.ClientBase` to `c.t.f.memcached.JavaClientBase`, and `c.t.f.memcached.java.ResultWithCAS` to `c.t.f.memcached.ResultWithCAS`. ``PHAB_ID=D83719`` * finagle-core: Added a new type member `Context` to `Transport`, and a method that returns a context, which has most of the methods currently directly on `Transport`. Also deprecates most of those methods--please start using the context instead of the `Transport` directly. Also added type parameters to `Transporter`, `Listener`, and type members to `StackClient` and `StackServer`. ``PHAB_ID=D83972`` * finagle-core: `com.twitter.finagle.loadbalancer.DeterministicOrdering` was renamed to `com.twitter.finagle.loadbalancer.ProcessCoordinate` and the internal `Coord` ADT was changed as well. ``PHAB_ID=D84452`` * ๐ finagle-thrift: Move `Thrift.Server.param.MaxReusableBufferSize` to `Thrift.param.MaxReusableBufferSize` for both server and client use. ``PHAB_ID=D83190``