Finagle v18.8.0 Release Notes
-
๐ New Features
* finagle-core: Introducing the new `c.t.f.tracing.Tracing` API for more efficient tracing (dramatically reduces the number of context lookups; see scaladoc for `c.t.f.tracing.Trace`). ``PHAB_ID=D190670`` * finagle-core: `c.t.f.tracing.Trace` facade API now provides forwarding `record` methods for all kinds of annotations and is a preffered way of recording traces. ``PHAB_ID=D192598`` * finagle-thriftmux: Promote the push-based ThriftMux implementation out of experimental status.``PHAB_ID=D189187`` ๐ฅ Breaking API Changes
๐ finagle-base-http:
c.t.f.http.cookie.exp.supportSameSiteCodec
has been moved out of the exp package toc.t.f.http.cookie.supportSameSiteCodec
.PHAB_ID=D196517
finagle-core: Parameter-less annotation classes (
c.t.f.tracing.Annotation
) have been promoted to objects for efficiency reasons.PHAB_ID=D192598
finagle-core:
c.t.f.tracing.Trace.record(Record)
now accepts the record argument by value (previously by name).PHAB_ID=D193300
finagle-core:
c.t.f.Failure.{Restartable, Interrupted, Ignorable, DeadlineExceeded, Wrapped, Rejected, NonRetryable}
are deprecated in favor of thec.t.f.FailureFlags
analogs.PHAB_ID=D195647
finagle-core:
c.t.f.Leaf
andc.t.f.Node
are now private; useStack.leaf
andStack.node
instead.PHAB_ID=D195924
finagle-core: Marked
transform
incom.twitter.finagle.Stack
as protected. It is too powerful and unnecessary for users, and should be for implementor use only.PHAB_ID=D195938
finagle-mysql:
c.t.f.mysql.CanBeParameter
's implicit conversionstimestampCanBeParameter
,sqlDateCanBeParameter
, andjavaDateCanBeParameter
have been consolidated into a single implicit,dateCanBeParameter
.PHAB_ID=D195351
๐ Bug Fixes
* ๐ finagle-http2: Fixed a race condition caused by c.t.f.http.transport.StreamTransports being closed, but that status not being reflected right away, causing a second request to fail. ``PHAB_ID=D198198`` โ Runtime Behavior Changes
finagle-core:
c.t.f.tracing.Trace
API is no longer guardingTrace.record
calls behindTrace.isActivelyTracing
. AddTrace.isActivelyTracing
guards on the call sites if materializing tracing annotations is a performance concern.PHAB_ID=D193300
โช finagle-mysql: Clients will now issue a ROLLBACK each time a service is checked back into the connection pool. This can be disabled via
Mysql.Client.withNoRollback
.PHAB_ID=D196673
โ finagle-thriftmux: The push-based server muxer is now the default. In both synthetic tests and production it has shown signifcant performance benefits and is simpler to maintain.
PHAB_ID=D193630
๐ finagle-mysql: Remove deprecated
TimestampValue.apply(Timestamp)
andTimestampValue.unapply(value)
methods. UseTimestampValue.apply(TimeZone, TimeZone)
instead.PHAB_ID=D182920
๐ Deprecations
* ๐ finagle-mux: The pull based mux implementation, c.t.f.Mux, has been deprecated in favor of the push-based mux implementation, c.t.f.pushsession.MuxPush. ``PHAB_ID=D193630``