All Versions
145
Latest Version
Avg Release Cycle
30 days
Latest Release
22 days ago

Changelog History
Page 2

  • v19.6.0

    June 19, 2019

    🆕 New Features

    • finagle-core: SSL/TLS session information has been added to c.t.f.ClientConnection.
      69a28c10
    • finagle-core: Add a Stack Module with 7 parameters for convenience sake. 6f9d7f0d
    • finagle-core: For both, servers and clients, introduce a way to shift application-level future
      callbacks off of IO threads, into a given FuturePool or ExecutorService.
      🔧 Use withExecutionOffloaded configuration method (on a client or a server) to access
      🆕 new functionality. 40431bb4
    • finagle-http: Added counters for request/response stream as: stream/request/closed,
      stream/request/failures, stream/request/failures/<exception_name>, stream/request/opened,
      stream/request/pending and stream/response/closed, stream/response/failures,
      stream/response/failures/<exception_name>, stream/response/opened, stream/response/pending.
      The counters will be populated when isChunked is set to true, the failures counters will be
      populated when isChunked is set to true and the stream fails before it has been fully read in the
      request and response respectively. d9b69bdc
    • 🚚 finagle-http: Add two new API variants in CookieMap: addAll and removeAll that allow for
      ➕ adding and removing cookies in bulk, without triggering a header rewrite on each item.
      4127cf6d
    • 👍 finagle-mysql: finagle-mysql now supports using SSL/TLS with MySQL. SSL/TLS can be turned on by
      calling withTransport.tls(sslClientConfiguration) with a specified
      c.t.f.ssl.client.SslClientConfiguration. 0b6c20ac

    ⚙ Runtime Behavior Changes

    • ⬆️ finagle: Upgrade to Netty 4.1.35.Final and netty-tcnative 2.0.25.Final.
      9ffbf7a7
    • 0️⃣ finagle-core: The default failure accrual policy has been changed from one
      which uses only consecutive failures to a hybrid model which uses both
      success rate over a window and consecutive failures. Previously this was
      🔄 changeable via toggle. The toggle has been removed, and the hybrid version
      0️⃣ has been made the default. 6f85c56e
    • finagle-http: Rename request_stream_duration_ms to stream/request/duration_ms and
      response_stream_duration_ms to stream/response/duration_ms. The stats will be
      populated when isChunked is set to true in the request and response respectively.
      d9b69bdc
    • 👀 finagle-http2: Disable ping-based failure detector in HTTP/2 client as it seems to do
      more harm than good. ea5b0c77
    • 0️⃣ finagle-http2: Frame logging is now disabled by default for clients. To enable,
      👉 use the c.t.f.http2.param.FrameLogging.Enabled Stack Param. For example:
      🔧 Http.client.configured(FrameLogging.Enabled). 0b2ec201
    • finagle-netty4: When using a Netty LocalChannel, the value of the BackPressure
      stack param is effectively changed to backPressureDisabled so that other functionality
      (e.g. SSL/TLS) works as expected. 3a8e5c19
    • finagle-netty4: finagle/netty/pooling/used now includes the size of the buffers in the
      thread-local caches. 824596f0
    • finagle-core: Stats and retry modules use a ResponseClassifier to give hints
      for how to handle failure (e.g., Is this a success or is it a failure? If
      it's a failure, may I retry the request?). The stats module increments a
      success counter for successes, and increments a failure counter for failures.
      But there isn't a way to tell the stats module to just do nothing. And, this
      is exactly what the stats module should do (nothing) in the case of ignorable
      failures (e.g. backup request cancellations). To represent these cases, we
      introduce a new ResponseClass: Ignorable. 256b79b8

    🐛 Bug Fixes

    • finagle-core: UsingSslSessionInfo would fail to be constructed properly when
      SSLSession.getLocalCertificates returns 'null'. 8d984963
    • finagle-http: Finagle now properly sets the Transport.peerCertificate local context
      when using HTTP/2. a661fef4
    • finagle-http: c.t.f.http.collection.RecordSchema.Record is now thread-safe.
      4e343f0e
    • finagle-zipkin-core: Fix a race condition which could cause a span to get logged
      missing some annotations. 53901a28
    • 🌲 finagle-mysql: Don't log c.t.f.ChannelClosedException when rolling back a transaction
      fails. 29cfffe6

    💥 Breaking API Changes

    • finagle-core: The exceptions c.t.f.SslHandshakeException and
      c.t.f.SslHostVerificationException were no longer used and have
      🚚 been removed. 2a53531d
    • finagle-mysql: The structure of c.t.f.mysql.Request has changed. It is now based on
      a higher level c.t.f.mysql.ProtocolMessage and the cmd field must contain a value.
      Additionally, the synthetic Command.COM_NO_OP has been removed, as due to the
      restructuring it was no longer necessary. d6e4042f
    • finagle-mysql: Uses of the abbreivation 'cap' have been renamed to the full
      word: 'capabilities', including for the baseCapabilities of Capability.
      4c57afda

    🗄 Deprecations

    • 🚚 finagle-http: Removed deprecated response_size in Finagle Http stats. This is a duplicate stat
      🛰 of response_payload_bytes. 1286c438
  • v19.5.1

    May 21, 2019

    No Changes

  • v19.5.0

    May 17, 2019

    🆕 New Features

    • finagle-http: Add two new methods to com.twitter.finagle.http.MediaType,
      MediaType#typeEquals for checking if two media types have the same type and
      subtype, ignoring their charset, and MediaType#addUtf8Charset for easily
      setting a utf-8 charset. ec0953f1

    🐛 Bug Fixes

    • finagle-http: Ensure server returns 400 Bad Request when
      non-ASCII characters are present in the HTTP request URI path. a7dae7ea

    ⚙ Runtime Behavior Changes

    • finagle-core: Deterministic aperture (d-aperture) load balancers no longer export
      "loadband" scoped metrics: "widen", "narrow", "offered_load_ema". These were not
      necessary as d-aperture does not change the aperture size at runtime. 20029ac5
    • 🔧 finagle-core: Request logging now defaults to disabled. Enable it by configuring the
      RequestLogger Stack parameter on your Client or Server. ee9cb4ec
    • finagle-core: Subtree binding failures in NameTree.Union's are ignored in the
      final binding result. 2fde4d2d

    💥 Breaking API Changes

    • finagle-core: The c.t.f.client.EndpointerModule and c.t.f.pushsession.PushStackClient public
      and protected APIs have been changed to use the abstract java.net.SocketAddress instead of the
      concrete java.net.InetSocketAddress as relying on the concrete implementation was not
      necessary. 77a3cdfd
    • finagle-http: For Finagle HTTP clients, the withMaxRequestSize(size) API
      🚚 method has been removed. For Finagle HTTP servers, the
      🚚 withMaxResponseSize(size) method has been removed. The underlying Stack
      params which are set by these methods are respectively HTTP server and HTTP
      🚚 client side params only. Using these removed methods had no effect on the
      setup of Finagle HTTP clients and servers. 5eb3ae24
    • 🚚 finagle-mysql: HandshakeResponse has been removed from finagle-mysql's public
      API. It is expected that users of the library are relying entirely on
      finagle-mysql for handshaking. f0ab09a6
  • v19.4.0

    April 18, 2019

    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
    03c773a5

    finagle-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.
    dc4bfbcf

    finagle-core: The com.twitter.finagle.core.UseClientNackAdmissionFilter toggle
    has been replaced by a global flag, com.twitter.finagle.client.useNackAdmissionFilter.
    aa36f56b

    finagle-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
  • v19.3.0

    March 13, 2019

    🆕 New Features

    • finagle-core: Added tracing annotations to backup requests. 5201f623
      • Timestamped annotation "Client Backup Request Issued"
      • Timestamped annotation "Client Backup Request Won" or "Client Backup Request Lost"
      • Binary annotation "clnt/backup_request_threshold_ms", with the current value of the
        🚤 latency threshold, in milliseconds
      • Binary annotation "clnt/backup_request_span_id", with the span id of the backup request

    💥 Breaking API Changes

    • 🚚 finagle-core: Deprecated multi-param legacy tls methods have been removed in
      🏗 c.t.f.param.ServerTransportParams and c.t.f.builder.ServerBuilder. Users should migrate to
      using the tls(SslServerConfiguration) method instead. ca646bd8

    ⚙ Runtime Behavior Changes

    • finagle-core: The tracing annotations from MkJvmFilter have been enhanced. 0586f657
      • Timestamped annotations "GC Start" and "GC End" for each garbage collection event
        that occurred during the request.
      • Binary annotation "jvm/gc_count", with the total number of garbage collection events
        that occurred during the request.
      • Binary annotation "jvm/gc_ms", with the total milliseconds of garbage collection events
        that occurred during the request.
  • v19.2.0

    February 21, 2019

    🆕 New Features

    • finagle-core: Added gauge is_marked_dead as an indicator of whether the host is marked
      as dead(1) or not(0) in FailFastFactory. 068a15e6
    • finagle-core: KeyCredentials.CertsAndKey has been added as an option for
      c.t.f.ssl.KeyCredentials for when the certificate and certificate chain are
      contained within the same file. b4a9e8cd
    • finagle-thriftmux: Additional information is now annotated in traces for clients
      using Scrooge generated Thrift bindings. c69a22f8, 32d9b56b,
      6283c6ce.
      This includes:
      • RPC method name
      • Request serialization time, in nanoseconds
      • Request deserialization time, in nanoseconds
      • Response serialization time, in nanoseconds
      • Response deserialization time, in nanoseconds

    💥 Breaking API Changes

    🚚 finagle-http: Removed Http.Client.withCompressionLevel because it wasn't doing anything.
    🔧 To migrate your client, simply remove the configuration--it had absolutely no effect.
    87944371

    🚚 finagle-http: c.t.f.dispatch.ExpiringServerDispatcher was dead code. We removed it.
    ae0571c9

    🚚 finagle-thrift: Removed newIface and newServiceIface methods from
    🗄 c.t.f.thrift.ThriftRichClient.MultiplexedThriftClient, which are deprecated in November 2017.
    773b6e57

    🚚 finagle-thrift: Removed deprecated APIs located in Thrift.scala:

    1. c.t.f.Thrift.Client.stats => use c.t.f.Thrift.Client.clientParam.clientStats
    2. c.t.f.Thrift.withProtocolFactory => use c.t.f.Thrift.client.withProtocolFactory
    3. c.t.f.Thrift.withClientId => usec.t.f.Thrift.client.withClientId
    4. c.t.f.Thrift.Server.serverLabel => use c.t.f.Thrift.Server.serverParam.serviceName
    5. c.t.f.Thrift.Server.serverStats => use c.t.f.Thrift.Server.serverParam.serverStats
    6. c.t.f.Thrift.Server.maxThriftBufferSize => use c.t.f.Thrift.Server.serverParam.maxThriftBufferSize
      c6eb2020

    🚚 finagle-thrift: c.t.f.thrift.ThriftServiceIface.Filterable is removed, use
    c.t.f.thrift.service.Filterable instead. 23affacc

    🚚 finagle-thrift: c.t.f.thrift.ThriftServiceIface is removed, use
    c.t.f.thrift.service.ThriftServicePerEndpoint instead. 23affacc

    🚚 finagle-thriftmux: Removed deprecated APIs located in ThriftMux.scala:

    1. c.t.f.ThriftMux.Client.stats => use c.t.f.ThriftMux.Clien.clientParam.clientStats
    2. c.t.f.ThriftMux.Server.serverLabel => use c.t.f.ThriftMux.Server.serverParam.serviceName
    3. c.t.f.ThriftMux.Server.serverStats => use c.t.f.ThriftMux.Server.serverParam.serverStats
    4. c.t.f.ThriftMux.Server.maxThriftBufferSize => use c.t.f.ThriftMux.Server.serverParam.maxThriftBufferSize
      c6eb2020

    🚚 finagle-thriftmux: ThriftMux.Client.pushMuxer is removed. Use ThriftMux.Client.standardMuxer
    instead. 90333b1a

    🚚 finagle-thriftmux: ThriftMux.serverMuxer is removed. Use ThriftMux.Server.defaultMuxer
    instead. 90333b1a

    🚚 finagle-base-http: Removed the c.t.f.http.Statuses java helper, which was deprecated two years
    ago in favor of using c.t.f.http.Status directly. 75a4a209

    🚚 finagle-base-http: Removed the c.t.f.http.Versions java helper, which was deprecated two years
    ago in favor of using c.t.f.http.Version directly. f191f1db

    🚚 finagle-base-http: Removed the c.t.f.http.Methods java helper, which was deprecated two years
    ago in favor of using c.t.f.http.Method directly. ccf10dbc

    🚚 finagle-http: c.t.f.http.Response.Ok was removed. Use just Response() or Response.Proxy
    🤡 if you need to mock it. d93bb1c9

    finagle-core: Drv.Aliased and Drv.newVose are now private, please
    construct a Drv instance using Drv.apply or Drv.fromWeights.
    9c810dd3

    🚚 finagle-core: c.t.f.BackupRequestLost is now removed. Please use c.t.f.Failure.ignorable
    instead. 02d3d524

    🐛 Bug Fixes

    • finagle-http: Fix for a bug where HTTP/2 clients could retry requests that had a chunked
      body even if the request body was consumed. b031e757
    • finagle-http: Fix for a bug where HTTP clients could assume connections are reusable, despite
      having streaming requests in flight. 88a2d0ba

    ⚙ Runtime Behavior Changes

    • 🚚 finagle-core: Faster Filters. Removes unnecessary Service.rescue proxies from
      👀 the intermediate andThen-ed Filters. Previously in rare cases you might have seen
      👻 a raw Exception not wrapped in a Future if the Filter threw. These will now
      👻 consistently be lifted into a Future.exception. a2ddc727
    • ⚡️ finagle-core: MethodBuilder metrics filtering updated to now report rolled-up
      logical failures. 6e3bf33f
    • finagle-http: Disabling Netty3 cookies in favor of Netty4 cookies. fccd92c6
    • 🚚 finagle-http: Removed the debug metrics http/cookie/dropped_samesites and
      http/cookie/flagless_samesites. 2de928ce

    🗄 Deprecations

    • 🗄 finagle-core: Multi-param legacy tls methods have been deprecated in
      🏗 c.t.f.param.ServerTransportParams and c.t.f.builder.ServerBuilder. Users should migrate
      to using the tls(SslServerConfiguration) method instead. fbfc6d1a
    • 🗄 finagle-core: $client.withSession.maxIdleTime is now deprecated; use
      $client.withSessionPool.ttl instead to set the maximum allowed duration a connection may be
      cached for. 0f060e37
    • 🗄 finagle-serversets: c.t.f.zookeeper.ZkResolver has been deprecated in favor
      of c.t.f.serverset2.Zk2Resolver. 9878a9ec
  • v19.1.0

    January 10, 2019

    🆕 New Features

    • finagle-core: c.t.f.s.StackBasedServer has been changed to extend the
      c.t.f.Stack.Transformable trait. This brings StackBasedServer into parity
      with c.t.f.c.StackBasedClient, which already extends the
      Stack.Transformable trait. 9f637b5e
    • 🚦 finagle-http: HttpMuxer propagates the close signal to the underlying handlers.
      6475680d

    💥 Breaking API Changes

    • 🗄 finagle-core: The deprecated c.t.f.b.ServerBuilder.stack method which takes a function
      🚚 has been removed. Uses of this method should be changed to use the c.t.f.b.ServerBuilder.stack
      method which takes a c.t.f.s.StackBasedServer instead. a05e5e7b
    • finagle-core: The type of c.t.f.b.ServerConfig.nilServer has been changed from
      Server[Req, Rep] to StackBasedServer[Req, Rep]. 4be953d4
    • finagle-core: The access level of the c.t.f.b.ServerBuilder.copy method has changed
      from protected to private. 4be953d4
    • 🚚 finagle-core: The bridge type c.t.f.b.Server has been removed. Users should
      🔄 change to use c.t.f.ListeningServer instead. Uses of the previously
      🗄 deprecated Server.localAddress should use ListeningServer.boundAddress
      instead. eb66ee71
    • 🗄 finagle-core: The deprecated c.t.f.t.Transport.localAddress and
      c.t.f.t.Transport.remoteAddress methods are now final and can no longer
      be extended. Users should migrate to the respective c.t.f.t.TransportContext
      methods. b85f43a0
    • finagle-thrift: The c.t.f.t.ThriftRichClient.protocolFactory and
      🚚 c.t.f.t.ThriftRichServer.protocolFactory methods have been removed. Users should
      switch to using ThriftRichClient.clientParam.protocolFactory and
      ThriftRichServer.serverParam.protocolFactory instead. In addition, implementations
      🚚 of the protocolFactory method have been removed from the concrete c.t.f.Thrift
      and c.t.f.ThriftMux client and server. e33baf82

    🐛 Bug Fixes

    • 🐧 finagle-core: Failed writes on Linux due to a remote peer disconnecting should now
      👀 be properly seen as a c.t.f.ChannelClosedException instead of a
      c.t.f.UnknownChannelException. 8f5774cb
    • finagle-http: Compression level of 0 was failing on the server-side when speaking h2c.
      ⚡️ Updated so that it can handle a request properly. 5f96fcb2
    • finagle-thriftmux: A Java compatibility issue for users trying to call withOpportunisticTls
      🛠 on ThriftMux clients and servers has been fixed. e57d2a91

    ⚙ Runtime Behavior Changes

    • finagle-core: ServiceFactory.const propagates the close from the ServiceFactory
      to the underlying service, instead of ignoring it. 6475680d
  • v18.12.0

    December 12, 2018

    18.12.0

    🆕 New Features

    • 🚀 finagle-redis: Add support for the new stream API released in Redis 5.0. ba578c14
    • finagle-core: Add Java compatibility for c.t.f.Filter.TypeAgnostic.Identity
      via c.t.f.Filter.typeAgnosticIdentity(). cff9aedd
    • finagle-core: Add Java compatibility for c.t.f.Name through Names.
      30a8000c
    • finagle-core: Introduce a StackServer.withStack overload that
      👉 makes modifying the existing Stack easier when using method chaining.
      f1a980cf
    • 📇 finagle-thrift: Add c.t.finagle.thrift.MethodMetadata which provides a LocalContext Key
      for setting information about the current Thrift method and an accessor for retrieving
      the currently set value. 7b22e4ef
    • 📇 finagle-thrift: Update c.t.finagle.thrift.MethodMetadata to provide an
      📇 asCurrent method to set the current c.t.finagle.thrift.MethodMetadata in the
      LocalContext. f46e1f77

    💥 Breaking API Changes

    • 🚚 finagle-core: The c.t.u.Closable trait has been removed from
      c.t.f.t.TransportContext, as well as the close and onclose methods. Uses of
      these methods within TransportContext should be changed to use the corresponding
      methods on c.t.f.t.Transport instead. b8b850bb
    • 🗄 finagle-core: The deprecated c.t.f.t.Transport.peerCertificate method on the Transport class
      🚚 (not the Transport.peerCertificate Finagle context) has been removed. Uses of this
      method should be changed to use c.t.f.t.TransportContext.peerCertificate instead.
      ab0432b4
    • 🚚 finagle-core: The deprecated c.t.f.t.TransportContext.status method has been removed
      from TransportContext. Uses of this method should be changed to use
      c.t.f.t.Transport.status instead. fd97536f
    • finagle-mysql: c.t.f.m.Charset has been renamed to c.t.f.m.MysqlCharset to resolve
      any ambiguity between it and the Charset Stack parameter. 05354cd5
    • finagle-mysql: All Stack params (Charset, Credentials, Database, FoundRows,
      🚚 MaxConcurrentPrepareStatements, UnsignedColumns) have been moved to the
      com.twitter.finagle.mysql.param namespace. d30c5549
    • 🗄 finagle-mysql: The deprecated c.t.f.m.Client.apply(factory, statsReceiver) method
      🚚 has been removed. 17747e1a
    • finagle-mysql: The c.t.f.m.Handshake class and companion object have been made
      private. 20c8d50f
    • finagle-http: Rename the toggle 'c.t.f.h.UseH2CClients' to 'c.t.f.h.UseH2CClients2'.
      43c0b69c

    ⚙ Runtime Behavior Changes

    • ⬆️ finagle: Upgrade to Netty 4.1.31.Final and netty-tcnative 2.0.19.Final. 8e0f4b86
    • 0️⃣ finagle-base-http: The DefaultHeaderMap will replace obs-fold ( CRLF 1*(SP/HTAB) ) in
      inserted header values. 51c4f789
  • v18.11.0

    November 12, 2018

    🆕 New Features

    • finagle-base-http: Add Message.httpDateFormat(millis) to format the epoch millis into
      an RFC 7231 formatted String representation. eb9bec0e
    • finagle-core: Introduce an StackClient.withStack overload that
      👉 makes modifying the existing Stack easier when using method chaining.
      8f69e833
    • finagle-mysql: Introduce session to be able to perform multiple operations that require
      session state on a guaranteed single connection. a06f7d67
    • finagle-netty4: When using the native epoll transport, finagle now publishes the TCP window size
      and number of retransmits based on the tcpInfo provided by from the channel. These stats are
      published with a debug verbosity level. 16071088
    • 🛠 finagle-http: HTTP clients and servers now accept fixedLengthStreamedAfter param in their
      🔧 withStreaming configuration (default: 5 MB when streaming is enabled). This new parameter
      controls the limit after which Finagle will stop aggregating messages with known Content-Length
      🛰 (payload will be available at .content) and switch into a streaming mode (payload will be
      available at .reader). Note messages with Transfer-Encoding: chunked never aggregated.
      842e5e1a

    💥 Breaking API Changes

    • 🚚 finagle-http: c.t.f.http.param.MaxChunkSize has been removed. There is no good reason to
      🔧 configure it with anything but Int.MaxValue (unlimited). 990c8650
    • ⚡️ finagle-exp: Update DarkTrafficFilter#handleFailedInvocation to accept the request type
      for more fidelity in handling the failure. b247f941

    ⚙ Runtime Behavior Changes

    • finagle-http: Unset maxChunkSize limit in Netty HTTP codecs. Now both clients and servers
      emit all available data as a single chunk so we can put it into use quicker.
      990c8650
    • finagle-http: Streaming clients (withStreaming(true)) now aggregate inbound messages with known
      🛰 Content-Length if their payloads are less than 5mb (8k before). Use withStreaming(true, 32.kb)
      to override it with a different value. 24271b29
    • finagle-http2: HTTP/2 servers perform a more graceful shutdown where an initial
      GOAWAY is sent with the maximum possible stream id and waits for either the client
      to hang up or for the close deadline, at which time a second GOAWAY is sent with
      the true last processed stream and the connection is then closed.
      93fee499

    🗄 Deprecations

    • 🗄 finagle-core: Deprecate
      EndpointerStackClient.transformed(Stack[ServiceFactory[Req, Rep]] => Stack[ServiceFactory[Req, Rep]])
      in favor of the withStack variant. 8f69e833
  • v18.10.0

    🗄 Deprecations

    
    * 🚚 finagle-core: Deprecation warnings have been removed from the 'status', 'onClose',
      and 'close' methods on `c.t.f.t.Transport`, and added to the corresponding methods
      on `c.t.f.t.TransportContext`. ``PHAB_ID=D221528``
    
    ⚙ Runtime Behavior Changes
    
    • finagle-netty3: Implementations for 'status', 'onClose', and 'close' methods have been moved from c.t.f.n.t.ChannelTransportContext to c.t.f.n.t.ChannelTransport. PHAB_ID=D221528