Finatra v20.5.0 Release Notes
Release Date: 2020-05-19 // almost 4 years ago-
โ Added
* ๐ inject-mdc: Move MDC integration from `inject/inject-slf4j` to `inject/inject-mdc`. ``PHAB_ID=D485870`` * โก๏ธ finatra-http|finatra-thrift: Update TraceIdMDCFilter to log traceSampled and traceSpanId ``PHAB_ID=472013`` * finatra-examples: Ensure there are Java and Scala examples for the different types of applications and servers which can be built with Finatra. Update `/examples` directory layout for discoverability and consistency. ``PHAB_ID=D469677`` ๐ Changed
๐ inject-slf4j: Move MDC integration from
inject/inject-slf4j
toinject/inject-mdc
.PHAB_ID=D485870
finatra-http: Allow extensions of the
c.t.finatra.http.filters.HttpResponseFilter
to specify how to set the Location Header value into a Response. Additionally, don't allow exceptions resulting from the inability to set a non-compliant 'Location' response header escape the filter.PHAB_ID=D483793
inject-core: Make flag methods in
c.t.inject.TwitterModule
public an final.PHAB_ID=D484168
๐ inject-core:
c.t.inject.Mockito
has been marked deprecated. Users are encouraged to prefermockito-scala <https://github.com/mockito/mockito-scala>
_ (or ScalaTestMockitoSugar <http://doc.scalatest.org/3.1.1/#org.scalatestplus.mockito.MockitoSugar>
_ which provides some basic syntax sugar for Mockito).PHAB_ID=D482531
โก๏ธ http: (BREAKING API CHANGE) Update the
c.t.finatra.http.HttpResponseFilter
to optionally fully qualify response 'Location' header values. Aprevious change <https://github.com/twitter/finatra/commit/ff9acc9fbf4e89b532df9daf2b9cba6d90b2df96>
_ made the filter always attempt to fully qualify any response 'Location' header value. This updates the logic to be opt-in for the more strict returning of fully qualified 'Location' header values with the default being to allow relative values per theRFC7231 <https://tools.ietf.org/html/rfc7231#section-7.1.2>
_ which replaces the obsoleteRFC2616 <https://tools.ietf.org/html/rfc2616#section-14.30>
_. This is thus a breaking API change as the default is now to allow relative values. To enable the previous strict behavior, users should instantiate the filter with the constructor argfullyQualifyLocationHeader
set to 'true'. This addresses issue #524.PHAB_ID=D467909
๐ jackson: Remove deprecated
FinatraObjectMapper
andFinatraJacksonModule
. Users are encouraged to switch to the equivalentc.t.finatra.jackson.ScalaObjectMapper
andc.t.finatra.jackson.modules.ScalaObjectMapperModule
.PHAB_ID=D473177
โก๏ธ finatra-http: Update
c.t.finatra.http.StreamingJsonTestHelper
to not useThread.sleep
for writing JSON elements on an artificial delay.PHAB_ID=D470793
๐ inject-app: Remove finagle-core dependency. Introduce finatra/inject/inject-dtab.
PHAB_ID=D474298
finatra: Bump version of Jackson to 2.11.0.
PHAB_ID=D457496
finatra-http: Only create
EnrichedResponse
counters when needed. Any "service/failure" response counters will only be generated upon first failure and not eagerly for each response generated. This change impacts users who expect a counter value of 0 when no response failures have been encountered - now the counter will not exist until the first failure has been recorded.PHAB_ID=D474918
finatra: Bump version of Joda-Time to 2.10.6.
PHAB_ID=D473522
๐ Fixed
* inject-thrift-client: Convert non-camel case `ThriftMethod` names, e.g., "get_tweets" to camelCase, e.g., "getTweets" for reflection lookup of generated `ReqRepServicePerEndpoint` interface methods in `c.t.inject.thrift.filters.DarkTrafficFilter`. ``PHAB_ID=D478104``