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