Releases: twitter/finagle
Releases · twitter/finagle
finagle-24.5.0
Full Changelog: finagle-23.11.0...finagle-24.5.0
Finagle 23.11.0
23.11.0
New Features
- finagle-stats: A new implementation of BucketedHistogram that works better under high contention, but requires
more memory. 8de8488 - finagle-http2: Add a per session request limit option to http2. 610a21ca
Runtime Behavior Changes
- finagle: Bump netty to 4.1.100 and netty-tcnative to 2.0.61.Final. cfe39841
- finagle: Bump version of Jackson to 2.14.2. 60a324e
- finagle: Update JSqlParser to version 4.6 366a047
- finagle: Bump version of Jackson to 2.14.3. 4c923f6
Bug Fixes
- finagle-core: Failed recvAddress on Linux due to the remote peer resetting connection should now
be properly seen as a c.t.f.ChannelClosedException instead of a
c.t.f.UnknownChannelException. 83e31f8
Breaking API Changes
- finagle-core: The c.t.f.context.Retries context has been renamed to c.t.f.context.Requeues to reflect what it
actually contains -- the number of requeues a request has had (on the client immediately upstream). Requeues are
retries on write exceptions (i.e. the original request was never sent to the server). 3c27308 - finagle: Deposit budget once in MethodBuilder 82e2b839
- finagle: Pass through configured deadline params rather than use default aa73d413
Finagle 22.12.0
22.12.0
New Features
- finagle-core: Enable tracing for individual fanout requests via the FanoutTracer.
8b92a584 - finagle-core: Added helpers for local and peer ServiceIdentity to SslSessionInfo.
b9f0f177 - finagle-core: Expose StackClient.DefaultInjectors. 15c25153
- finagle-http: RequestBuilder's c.t.f.http.FileElement now has isText (default: false)
attribute. When set to true, no Content-Transfer-Encoding header is populated on the request.
dcfb5923 - finagle-http: When Finagle Http servers are secured with S2S, write c.t.finagle.SslSessionInfo#peerIdentity
as remote user in access log. b903165a
Runtime Behavior Changes
- util: Bump version of Jackson to 2.14.1. cd3a239f
- finagle-http: Remove DeadlineFilter from Server stack. 8f96a534
- finagle-core: Ensure BackupRequestFilter respects maxExtraLoad. For low QPS finagle clients
this may mean fewer backup requests, so such clients can increase their maxExtraLoad setting
if they actually want higher backup request rates. c0876691 - finagle-serversets: Remove Endpoints with a weight of -1.0 from resolved zookeeper serversets
Negative weights aren't normally valid so we use "-1.0" as a specific signal to not include
the node in the resolved serverset returned to the client. This is useful for various types
of testing. 3bc1f6ea
Breaking API Changes
- finagle-core: DeadlineFilter.module has been replaced with DeadlineFilter.clientModule
and DeadlineFilter.serverModule.PHAB_ID=D943426
- finagle-http: c.t.f.Http.Http2 and c.t.f.Http.Netty4Impl values were removed because they
were confusing. Use .withHttp2 and .withNoHttp2 to toggle HTTP/2 support ON and OFF
respectively.PHAB_ID=D935292
- finagle-core: Allow users of MethodBuilder.idempotent to specify non-retryable responses for
idempotent methods. Previously these were overridden to be retryable. b8133350 - finagle-core: The com.twitter.finagle.offload.queueSize has been removed. eb98b64f
Finagle 22.7.0
22.7.0
- finagle-thrift: Changing visibility of InputBuffer and OutputBuffer from [finagle] to [twitter]. d56bb847
New Features
- finagle-core: Introduce panic mode in load balancers. Configure the threshold for
panic mode to start using withLoadBalancer.panicMode. c6060de8 - finagle-core: Provide ServerParamsInjector, a class that will be service-loaded at run-time
by Finagle servers, and will allow generic configuration of all sets of parameters.
f00434c1 - finagle-memcached: Add new function, newLoadBalancedTwemcacheClient, to create a TwemcacheClient
that doesn't use a partitioning service.
`PHAB_ID=D911789
Bug Fixes
- finagle-core: fix issue where Trace.traceLocal and Trace.traceLocalFuture nested traces mistakenly
annotate to the parent span. 77a7e774
Breaking API Changes
- finagle-core: Remove unused DeterministicAperture along with pathways to use weight-unaware
aperture loadbalancers. a5004ecc - finagle-base-http: Methods for getting/setting Accept, Authorization, Host, Referer,
User-Agent, X-Forwarded-For headers were moved from c.t.f.http.Message class to
c.t.f.http.Request as these headers are only valid on requests and not on responses.
Methods for getting/setting Location, Retry-After, Server, and WWW-Authenticate headers
were moved from c.t.f.http.Message class to c.t.f.http.Response as they are only valid
on responses and not on requests. - finagle-core: Update OffloadFilter.Param API to encourage recommended construction.
b684552f - finagle-core: Trace.recordLocalSpan is private[this] and no longer protected. 77a7e774
- finagle-core: "ServiceFactory#status" is abstract and requires implementation in the inherited
classes. b2a7f4ea - finagle-core: StackTransformer has been renamed to ServerStackTransformer and the symmetric
client equivalent (ClientStackTransformer) has been added. For those using the older StackTransformer
API you will both need to change the code (fix the extends) __and__ rename the META-INF file from
resources/META-INF/services/com.twitter.finagle.StackTransformer to
resources/META-INF/services/com.twitter.finagle.ServerStackTransformer in order to have your
transformer continue to service-load correctly. f5de196d
Runtime Behavior Changes
-
finagle-core: Changed the default implementation for random and deterministic aperture
load balancers to weighted aperture. f67c839c -
finagle-partitioning: ThriftCustomPartitioningServices now allow fanning out the same
request to multiple partitions. 59381065
- finagle-core: Rename the counter metric loadbalancer/max_effort_exhausted to
loadbalancer/panicked. a055f74b - finagle: Upgrade to Netty 4.1.76.Final and netty-tcnative 2.0.51.Final. c07a9b0b
- finagle: Update Jackson library to version 2.13.3 92d39db2
- finagle: Bump version of lz4-java to 1.8.0. 305c467c
- finagle: Upgrade to Netty 4.1.78.Final and netty-tcnative 2.0.53.Final to support
tls tracing for finagle in [Pixie](https://pixie.dev/). The Pixie changes aren't
complete yet, but upgrading netty is a prerequisite for that. d251883b`
Finagle 22.4.0
22.4.0
Bug Fixes
- finagle-integration: we discovered that we had a dead code in MuxClientSession.
Let's remove Timer as a parameter in MuxClientSession since it's a dead code.
77396f84
Finagle 22.3.0
22.3.0
Breaking API Changes
- finagle-core: Removed the stack param
WhenNoNodesOpenParam
from LoadBalancerFactory.
Removed NoNodesOpenServiceFactory and NoNodesOpenException. When the majority of nodes
are busy or closed (approx 60%), the load balancer will probabilistically fail open and
pick a node at random. 1ec9ffa4
Runtime Behavior Changes
- finagle: Bump version of Jackson to 2.13.2. 0f83179d
Finagle 22.2.0
22.2.0
New Features
- finagle-logging: Introduced finagle-logging, a new module for SLF4J-integrated
filters. 0e6a3b68 - finagle-logging: Introduced SlowTracesFilter, which observes your requests and
logs the slowest ones that are also sampled for tracing. 0e6a3b68 - finagle-core: Introduced MinSendBackupAfterMs to the stack param Configured in
BackupRequestFilter and propagated changes to MethodBuilder by adding new versions of idempotent
function. When traffic load is low, this is useful to increase the delay when backup requests are
sent and prevent the client from sending unnecessary backup requests. b0b8a6bb - finagle-core: Added a new annotation clnt/has_dark_request in tracing and Finagle
Local context. The new annotation can be used to indicate whether or not the request
has a span that is sent to dark service. dab1e48d
Bug Fixes
- finagle-netty4-http: On a Request, adding multiple cookies with the same name
to a CookieMap preserves all of them. Only cookies on Responses are
deduplicated. Previously, adding a Request cookie with the same name would
overwrite the old value with the new value. 6a49bfda - finagle-postgres: Fixed a bug where a single framer instance was shared across all
connections to a host when using TLS. 185e2115
Breaking API Changes
- finagle-core: Changed the shouldInvoke parameter in method serviceConcurrently
and sendDarkRequest in AbstractDarkRequestFilter to be a Boolean instead of a
function of (Req => Boolean). dab1e48d - finagle-core: Renamed the existing clnt/dark_request to clnt/is_dark_request in
c.t.finagle.filter.DarkTrafficFilterdab1e48d
Runtime Behavior Changes
- finagle: Bump version of Caffeine to 2.9.3. c42cea2c
- finagle: Upgrade to Netty 4.1.73.Final and netty-tcnative 2.0.46.Final.cccbae40
- finagle-core: in TimeoutFilter, only transform a timeout exception caused by TimeoutFilter. This also
changes the type of exception raised by the TimeoutFilter from a java.util.concurrent.TimeoutException
to a com.twitter.finagle.RequestTimeoutException. 6a95f37d - finagle-mux: Exceptions raised when Mux negotiation has failed have been
moved to a Debug log level as the stack trace is generally long and not
necessarily helpful. The logged message now includes the remote address and
that is logged at both the Debug level (with the exception and stack trace)
and Warning level (without). 712878ef - finagle-core: c.t.f.ssl.SslConfigurations.initializeSslContext now creates an engine which includes TLSv1.3 as a supported protocol. cc6c9db8
- finagle-netty4: c.t.f.n.ssl.client.Netty4ClientSslConfigurations.createClientContext and c.t.f.n.ssl.server.Netty4ServerSslConfigurations.createServerContext now create contexts using the provided cipher suites. 9c6898ef
Finagle 22.1.0
Finagle 21.12.0
21.12.0
Deprecations
- finagle-zipkin-core: c.t.f.zipkin.core.Sampler.DefaultSampleRate is deprecated in
favor of c.t.f.zipkin.core.DefaultSampler.sampleRate. bd04e1c9
Bug Fixes
- finagle-zipkin-core: c.t.f.zipkin.core.Sampler would sample at 1/10,000
rate when configured with a lower (but non-zero) rate. It can now sample
at rates as low as 1/16,777,216. 17cfb580
Runtime Behavior Changes
- finagle-zipkin-scribe: c.t.f.zipkin.thrift.ZipkinTracer uses
c.t.f.zipkin.core.DefaultSampler.sampleRate as the default sample rate instead of
deprecated c.t.f.zipkin.core.Sampler.DefaultSampleRate. This allows it to correctly
observe user-configured overrides to the default sample rate. When a ZipkinTracer is
constructed with default parameters and there are no user-configured overrides, the
behavior is unchanged. bd04e1c9
Finagle 21.11.0
21.11.0
Changed
- finagle-base-http: Promote several classes out of exp experimental package:
c.t.f.http.{GenStreamingSerialServerDispatcher, IdentityStreamTransport, StreamTransport} along
with internal support classes. 81169d53
Breaking API Changes
- finagle-core: Remove c.t.f.loadbalancer.Balancer.maxEffort. Remove the maxEffort
argument from Balancers.{p2c, p2cPeakEwma, aperture, aperturePeakEwmaUse, roundRobin}.
25f01f77 - finagle-core: c.t.f.tracing.ClientRequestTracingFilter has been removed.
Record relevant tracing information in your service or client directly. bcd89491 - finagle: Remove com.twitter.finagle.Group, and other rarely used and deprecated pieces that depend on it
com.twitter.finagle.memcached.TwitterCacheResolver, com.twitter.finagle.memcached.CacheNodeGroup,
com.twitter.finagle.memcached.RubyMemCacheClient, and com.twitter.finagle.memcached.PHPMemCacheClient.
Instead of Group, please use Var[Set[T]] or Activity[Set[T]] directly instead. f6021319
Runtime Behavior Changes
- finagle: Update Caffeine cache library to version 2.9.2 7c91f966