Finatra v21.3.0 Release Notes

  • ➕ Added

    
    * 🔧 inject-thrift-client: Add per-method retry configuration withMaxRetries in
      `com.twitter.inject.thrift.ThriftMethodBuilder` for customizing `configureServicePerEndpoint`.
      ``PHAB_ID=D619565``
    
    🔄 Changed
    
    • 🗄 finatra (BREAKING API CHANGE): Deprecate c.t.inject.utils.AnnotationUtils, users should instead use c.t.util.reflect.Annotations from com.twitter:util-reflect. Deprecate c.t.finatra.utils.ClassUtils, users should instead use either c.t.util.reflect.Classes#simpleName, c.t.util.reflect.Types#isCaseClass or c.t.util.reflect.Types#notCaseClass from com.twitter:util-reflect. PHAB_ID=D638655

    • 🏗 finatra (BREAKING API CHANGE): Builds are now only supported for Scala 2.12+ PHAB_ID=D631091

    • ⏪ finatra: Revert to scala version 2.12.12 due to https://github.com/scoverage/sbt-scoverage/issues/319 PHAB_ID=D635917

    • finatra: Bump scala version to 2.12.13 PHAB_ID=D632567

    • 🚚 finatra: Move com.twitter.finatra.http.{jsonpatch,request} from the finatra/http-server project to finatra/http-core project. Please update your build artifact references accordingly. PHAB_ID=D623745

    • ⚡️ http-server|http-core|jackson|thrift|validation: Update to use c.t.util.reflect.Types in places for TypeTag reflection. PHAB_ID=D631819

    • 🚚 finatra: Move c.t.finatra.http.{context,exceptions,response} from the finatra/http-server project to finatra/http-core project. Please update your build artifact references accordingly. PHAB_ID=D631772

    • 🚚 finatra: Move c.t.finatra.http.streaming from the finatra/http-server project to finatra/http-core project. Please update your build artifact references accordingly. PHAB_ID=D631371

    • 🏗 http-core: Introduce c.t.finatra.http.marshalling.MessageBodyManager#builder for creating an immutable c.t.finatra.http.marshalling.MessageBodyManager. The MessageBodyManager's constructor is now private. PHAB_ID=D621755

    • 🚚 http-server: Move c.t.finatra.http.modules.MessageBodyFlagsModule to c.t.finatra.http.marshalling.modules.MessageBodyFlagsModule. PHAB_ID=D626600

    • 🚚 validation: Remove deprecated constraint type aliases under com.twitter.finatra.validation, users should prefer the actual constraint annotations at com.twitter.finatra.validation.constraints. PHAB_ID=D625174

    • 🚚 jackson: Remove deprecated com.twitter.finatra.json.utils.CamelCasePropertyNamingStrategy, users should prefer to use PropertyNamingStrategy#LOWER_CAMEL_CASE or an equivalent directly. Also remove the deprecated com.twitter.finatra.json.annotations.JsonCamelCase, users should use the @JsonProperty or @JsonNaming annotations or an appropriately configured Jackson PropertyNamingStrategy instead. PHAB_ID=D623807

    • inject-core: (BREAKING API CHANGE) Rename c.t.inject.TwitterModule.closeOnExit to onExit so it mirrors the API from c.t.inject.App. PHAB_ID=D621095

    • 🚚 http-client: Remove deprecated c.t.finatra.httpclient.modules.HttpClientModule. Use c.t.finatra.httpclient.modules.HttpClientModuleTrait instead. PHAB_ID=D619591

    • 🚚 http-client: Remove deprecated c.t.finatra.httpclient.RichHttpClient. Use c.t.finagle.Http.Client or c.t.finatra.httpclient.modules.HttpClientModuleTrait instead. Additionally, c.t.finatra.httpclient.modules.HttpClientModule.provideHttpService has been removed. Use c.t.finatra.httpclient.modules.HttpClientModuleTrait.newService(injector, statsReceiver) instead. PHAB_ID=D619547

    • 🚚 finatra: Move c.t.finatra.http.fileupload from the finatra/http-server project to finatra/http-core project. Please update your build artifact references accordingly. PHAB_ID=D620478

    • 🚚 http-client: Remove deprecated method get from c.t.finatra.httpclient.HttpClient. Use HttpClient's execute instead. PHAB_ID=D618904

    • finatra: Create the finatra/http-core project, which is meant to contain common artifacts for the finatra/http-server and finatra/http-client project. As part of this change, the com.twitter.finatra.httpclient.RequestBuilder has been deprecated and should be updated to reference com.twitter.finatra.http.request.RequestBuilder.

    • ⚡️ finatra: Rename the finatra/httpclient project to finatra/http-client. Please update your build artifact references (i.e. SBT, Maven) to use "finatra-http-client". PHAB_ID=D617614

    • 0️⃣ kafkaStreams: Switch the default Kafka client and Kafka Stream client to version 2.4.1. PHAB_ID=D606782

    • ⚡️ finatra: Rename the finatra/http project to finatra/http-server. Please update your build artifact references (i.e. SBT, Maven) to use "finatra-http-server". See the Finatra User's Guide <https://twitter.github.io/finatra/user-guide/index.html>__ PHAB_ID=D616257