Fogust is upon us and brings the August releases.
Finagle 18.8.0, Finatra 18.8.0, Scrooge 18.8.0, TwitterServer 18.8.0, and Util 18.8.0.
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
).
547cd864
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. 50c00d88
finagle-thriftmux: Promote the push-based ThriftMux implementation out of experimental status. eedd1fd8
finagle-base-http: c.t.f.http.cookie.exp.supportSameSiteCodec
has been moved out of the
exp package to c.t.f.http.cookie.supportSameSiteCodec
. 5e5ea390
finagle-core: c.t.f.tracing.Trace.record(Record)
now accepts the record argument by
value (previously by name). 33841d21
finagle-mysql: c.t.f.mysql.CanBeParameter
‘s implicit conversions timestampCanBeParameter
,
sqlDateCanBeParameter
, and javaDateCanBeParameter
have been consolidated into a single
implicit, dateCanBeParameter
. b486772d
c.t.f.http.transport.StreamTransports
being
closed, but that status not being reflected right away, causing a second request to fail.
68f1035ffinagle-core: c.t.f.tracing.Trace
API is no longer guarding Trace.record
calls behind
Trace.isActivelyTracing
. Add Trace.isActivelyTracing
guards on the call sites if
materializing tracing annotations is a performance concern. 33841d21
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
.
e3221597
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. 735a6bae
c.t.f.Mux
, has been deprecated in favor of
the push-based mux implementation, c.t.f.pushsession.MuxPush
. 735a6baefinatra-http: (BREAKING API CHANGE) Typical TLS Configuration for an HTTPS server has been moved
into a trait, c.t.finatra.http.Tls
which also defines the relevant flags (and overridable
defaults) for specifying the SSL cert and key paths. Users can choose to mix this trait into their
c.t.finatra.http.HttpServer
classes in order to specify an HTTPS server. Users who wish to maintain
the current HTTPS functionality SHOULD mix in the Tls trait to their HttpServer: e.g.,
class FooService extends HttpServer with Tls {
...
}
Additionally, TLS transport configuration for the underlying Finagle c.t.finagle.Http.Server
is
no longer done by default when creating and running an HTTPS server. This is to allow for more
flexible configuration on the underlying c.t.finagle.Http.Server
when setting up TLS. Thus it is
recommended that users ensure to either mix in the provided Tls trait or provide the correct
c.t.finagle.Http.Server
transport configuration via the configureHttpsServer
method.
3c19b2df
finatra-http: Rename defaultFinatraHttpPort
to defaultHttpPort
. 6fe4a3bf
finatra-utils: Remove deprecated c.t.f.utils.Handler
. 1088ca4b
Future.joinWith
where it waits for
completion of both futures even if one has failed. This also affects
the join
method, which is implemented in terms of joinWith
. 9b598f3fonExit
lifecycle callback to c.t.server.Hook
(which is now an abstract class) to allow
implemented hooks to execute functions in the App#onExit
lifecycle phase. Note:
c.t.server.Hook#premain
now has a default implementation and requires the override
modifier.
06836d39scrooge-core: Add an interface for Scala generated Enum objects. c27d13ef
scrooge-core: Trait c.t.scrooge.ThriftService
is now c.t.finagle.thrift.ThriftServiceMarker
.
Scrooge generated service objects now all inherit from c.t.finagle.thrift.ThriftService
. Also,
the AsClosableMethodName
string was formerly part of c.t.finagle.thrift.ThriftService
, but
now is defined in the c.t.scrooge package object.
125e955e
scrooge-generator: Thrift service objects now contain unsafeBuildFromMethods
, which constructs
a ReqRepServicePerEndpoint
from a map of
ThriftMethod -> ThriftMethod.ReqRepServicePerEndpointServiceType
. It is unsafe because the
types are not checked upon service construction, only when a request is attempted.
125e955e