Finagle v19.4.0 Release Notes
Release Date: 2019-04-18 // about 5 years ago-
19.4.0
๐ New Features
- ๐ง finagle-core: Make maxDepth in Namer configurable. 03cc3197
- namerMaxDepth in Namer now configurable through a global flag (namerMaxDepth)
- finagle-core: The newly renamed SslSessionInfo is now public. It is
intended for providing information about a connection's SSL/TLS session.
811fe004 - finagle-core: Added the c.t.finagle.DtabFlags trait which defines a Flag and function for
appending to the "base" c.t.finagle.Dtab delegation table. 675630df - ๐ finagle-http: Finagle HTTP implementation now supports trailing headers (trailers). Use
c.t.f.http.Message.trailers to access trailing headers on a fully-buffered message
๐ฐ (isChunked == false) or c.t.f.http.Message.chunkReader on a message with chunked payload
(isChunked == true). 351c43c1 - finagle-http,thriftmux: Added tracing annotations to backup requests. 48f54e82
- Binary annotation "srv/backup_request_processing", when servers are processing backup requests.
- finagle-http: Added new server metrics to keep track of inbound requests that are rejected due to
their headers containing invalid characters (as seen by RFC-7230): rejected_invalid_header_names
and rejected_invalid_header_values. 41bd061a - finagle-http: Added stats of the duration in milliseconds of request/response streams:
request_stream_duration_ms and response_stream_duration_ms. They are enabled by using
.withHttpStats on Http.Client and Http.Server 916f4a26 - finagle-mysql: A new toggle, "com.twitter.finagle.mysql.IncludeHandshakeInServiceAcquisition", has
๐ been added. Turning on this toggle will move MySQL session establishment (connection phase) to be
part of service acqusition. fe4d8919
โ Runtime Behavior Changes
- ๐ finagle-core: Client-side nacking admission control now defaults on. See the documentation
on c.t.f.filter.NackAdmissionFilter for details. This can be disabled by setting the
global flag, com.twitter.finagle.client.useNackAdmissionFilter, to false.
aa36f56b - ๐ค finagle-core: LatencyCompensation now applies to service acquisition. 1ec020a5
- finagle-http: HTTP headers validation on the outbound path is now in compliance with RFC7230.
5b2e9f95 - 0๏ธโฃ finagle-netty4: Netty's reference leak tracking now defaults to disabled.
Set the flag com.twitter.finagle.netty4.trackReferenceLeaks to true to enable.
f63d7f7a
๐ฅ Breaking API Changes
finagle: Dropped a dependency on Netty 3:
๐ finagle-netty3 sub-project has been removed
๐ finagle-http-cookie sub-project has been removed
0๏ธโฃ c.t.f.http.Cookie no longer takes Netty's DefaultCookie in the constructor
03c773a5finagle-core: The peerCertificate methods of c.t.f.t.TransportContext and
c.t.f.p.PushChannelHandle have been replaced with the more robust
sslSessionInfo. Users looking for just the functional equivalence of
peerCertificate can use sslSessionInfo.peerCertificates.headOption.
dc4bfbcffinagle-core: The com.twitter.finagle.core.UseClientNackAdmissionFilter toggle
has been replaced by a global flag, com.twitter.finagle.client.useNackAdmissionFilter.
aa36f56bfinagle-thrift: Allow users to specify stringLengthLimit and containerLengthLimit 233150a9
- method parameter readLength in com.twitter.finagle.thrift.Protocols#binaryFactory renamed to stringLengthLimit to reflect usage
- method parameter containerLengthLimit added to com.twitter.finagle.thrift.Protocols#binaryFactory
- ๐ง finagle-core: Make maxDepth in Namer configurable. 03cc3197