Skip to content

v6.22.0

Compare
Choose a tag to compare
@caniszczyk caniszczyk released this 30 Oct 18:50
· 4785 commits to develop since this release

Breaking API Changes

  • finagle-core: Removed unused com.twitter.finagle.service.ProxyService. It wasn't
    sufficiently general to be used outside of finagle, and was no longer used
    in finagle.

New Features

  • finagle-core: BroadcastStatsReceiver, introduce specialized implementation
  • finagle-core: Introduce gauges in SummarizingStatsReceiver
  • finagle-core: Introduce Transport#copyToWriter
  • finagle-core: Make base Dtab used in BindingFactory a Stack.Param
  • finagle-core: Proper decay in experimental ewma load metric
  • finagle-core: Simplify Stack{Client, Server} and unify around them

Runtime Behavior Changes

  • finagle-core: Add support for non-URLClassloaders to LoadService
  • finagle-core: clear locals before entering server dispatch loop
  • finagle-core: Defer DNS Resolution in InetResolver to FuturePool
  • finagle-core: for paths starting with /#/, skip rewrites where prefix is /
  • finagle-core: include name resolution in tracing request span
  • finagle-core: Properly wrap some IOException into ConnectionFailedException
  • finagle-core: Scope InetResolver's stats properly
  • finagle-http: Send "Connection: close" header while dispatcher is closing
  • finagle-http: Set content length header when appropriate
  • finagle-memcached: Use interruptible future for the client request readiness
  • finagle-stats: Add content-type response header to JsonExporter
  • finagle-thrift: Add back connection_preparation_latency stat in Thrift
  • finagle-thriftmux: Record protocol as a gauge rather than a counter

Documentation

  • finagle-core: Add Scaladocs for ChannelBufferBuf and BufChannelBuffer
  • finagle-core: link to the FAQ in FailedFastException
  • finagle-serversets: Defer DNS resolution for endpoints to InetResolver
  • finagle-thrift{,mux}: Clarified with* deprecation warning
  • Fix minor issues and missing code blocks in Finagle documentation

Optimization

  • finagle-core: GlobalFlag isn't caching the property value
  • finagle-core: recursive-descent Path / NameTree / Dentry / Dtab parsers to reduce heap allocation

Bug Fixes

  • finagle-core: Fix a deadlock in Contexts

  • finagle-core: Fix breaking ABI change in SummarizingStatsReceiver

  • finagle-core: Fix bug in computing array index in SummarizingStatsReceiver

  • finagle-core: Fix build.properties location for maven builds

  • finagle-core: Fix synchronization in LeasedFactory

  • finagle-core: Fix tracing with Stack{Client, Server}

  • finagle-core: Make FailedFastException an instance variable.

  • finagle-core: Synchronized access to the Stackable mutable.params map

  • finagle-http: Fix CookieMap.rewriteCookieHeaders()

  • finagle-http: Fix the memory leak in HttpClientDispatcher

  • finagle-mysql: Fix timestamp fractional seconds encoding

  • finagle-mysql: Properly heed timezone when extracting TimestampValue

  • mux: clear contexts after receive, not in 'finally' clause

    Removed TLSEngine, and replaced it with two, TLSClientEngine, and
    TLSServerEngine, where TLSServerEngine is the same as TLSEngine, and
    TLSClientEngine takes a SocketAddress instead of (). The other changed
    API is the Netty3TransporterTLSConfig now takes a function
    SocketAddress => Engine, instead of () => Engine.