With it being late May, the beginning of summer is right around the corner. Along with that comes a new release of our libraries. Unfortunately, there was an issue with our first attempt (19.5.0) so we created a point release (19.5.1), which fixes the problem. Here are the changes for both 19.5.0 and 19.5.1
com.twitter.finagle.http.MediaType,
MediaType#typeEquals for checking if two media types have the same type and
subtype, ignoring their charset, and MediaType#addUtf8Charset for easily
setting a utf-8 charset. ec0953f1RequestLogger Stack parameter on your Client or Server. ee9cb4ecNameTree.Union‘s are ignored in the
final binding result. 2fde4d2dc.t.f.client.EndpointerModule and c.t.f.pushsession.PushStackClient public
and protected APIs have been changed to use the abstract java.net.SocketAddress instead of the
concrete java.net.InetSocketAddress as relying on the concrete implementation was not
necessary. 77a3cdfdwithMaxRequestSize(size) API
method has been removed. For Finagle HTTP servers, the
withMaxResponseSize(size) method has been removed. The underlying Stack
params which are set by these methods are respectively HTTP server and HTTP
client side params only. Using these removed methods had no effect on the
setup of Finagle HTTP clients and servers. 5eb3ae24StatsReceiver implementation to use in the
underlying EmbeddedTwitterServer instead of always providing an InMemoryStatsReceiver
implementation. 7a486fd2Filter.TypeAgnostic implementation for the FinagleRequestScopeFilter
for better compatibility with Thrift servers. Update the FinagleRequestScope to make more idiomatic
use of Context locals. 451cff77NullValidationFinatraJacksonModule. 401d7285c.t.inject.app.DtabResolution to help users apply supplemental Dtabs added by
setting the dtab.add flag. This will append the supplemental Dtabs to the
Dtab.base in a premain function. 6c4eeda0postInjectorStartup
phase, such that any admin routes are available to be hit during server warmup. Simplify HttpWarmup
utility to make it clear that it can and should only be used for sending requests to endpoints added
to the server’s configured HttpRouter. The forceRouteToAdminHttpMuxers param has been renamed
to admin to signal that the request should be sent to the HttpRouter#adminRoutingService instead
of the HttpRouter#externalRoutingService. Routing to TwitterServer HTTP Admin Interface via this
utility never worked properly and the (broken) support has been dropped. 0cd3ed69com.twitter.finatra.kafka.test.KafkaTopic, and
com.twitter.finatra.kafka.test.utils.PollUtils methods to take
com.twitter.util.Duration instead of org.joda.time.Duration. 94c051b3com.twitter.finatra.http.EmbeddedHttpServer methods which previously used the
routeToAdminServer parameter have been changed to use a RouteHint instead for added
flexibility in controlling where a test request is sent. 4653992cFeatureTestMixin.printStats
and setting it to true. 28eecabecom.twitter.inject.utils.RetryPolicyUtils,
com.twitter.inject.thrift.modules.FilteredThriftClientModule, and
com.twitter.inject.thrift.filters.ThriftClientFilterChain methods to take
com.twitter.util.Duration instead of org.joda.time.Duration. c295efb0org.apache.commons-fileupload from version
1.3.1 to version 1.4. This closes #PR-497. d5d32737com.google.common.net.MediaType with String.
You can migrate by calling MediaType#toString everywhere you passed a MediaType before. 826fabb2http scope to shutdown.time flag, making it http.shutdown.time.
2abb46f8DefaultExceptionMapper. Extend
c.t.finatra.http.exceptions.ExceptionMapper[Throwable] directly instead. cd2d5be3com.twitter.app.App#failfastOnFlagsNotParsed up from
c.t.inject.server.TwitterServer to com.twitter.inject.app.App such that all Finatra-based
applications default to this behavior. feb887e0c.t.app.Flags
instance to match the semantics of directly calling c.t.app.Flags#add. Prefer AtomicBoolean
instances over where we currently use mutable Boolean instances in c.t.inject.app.App, c.t.inject.app.TestInjector,
and c.t.inject.server.EmbeddedTwitterServer. 2dfd33b5c.t.finatra.http.RouteHint was missing from the test-jar sources and has
been added. 7945d128DateTime deserialization. abb17d5aEmbeddedHttpServer’s httpGetJson method now properly passes
all parameters through to the underlying client call. 068cd440(ReqRep)ServicePerEndpoint now provide a proper filtered
method by default. e46b2785DuplicateFlagDefinitions lint rule which is violated when multiple Flags with the same
name are added to the underlying com.twitter.app.App#flag com.twitter.app.Flags instance. fe231c9aFlag names. Currently, we print a warning to
stderr but do not track the duplicated Flag names. Tracking them allows us to inspect and
warn over the entire set. 4875552e