Skip to content

Finatra 21.6.0

Compare
Choose a tag to compare
@finaglehelper finaglehelper released this 22 Jun 20:23
· 196 commits to develop since this release

Changed

  • inject-thrift-client (BREAKING API CHANGE): Removed the deprecated
    c.t.inject.thrift.modules.FilteredThriftClientModule. Please use its successor
    c.t.inject.thrift.modules.ThriftMethodBuilderClientModule for per-method configuration of a
    Thrift client. 008d8ca1

  • thrift: Add service_class to Finatra library thrift registry entry. c5159208

  • finatra (BREAKING API CHANGE): Update to use the new util/util-jackson ScalaObjectMapper for
    case class object mapping. We've removed the custom Finatra c.t.finatra.jackson.ScalaObjectMapper
    and instead now use the c.t.util.jackson.ScalaObjectMapper. Since the c.t.util.jackson.ScalaObjectMapper
    does not support Joda-Time, backwards compatibility is
    maintained through usage of the Finatra ScalaObjectMapperModule for obtaining a configured
    ScalaObjectMapper which will be created with Joda-Time support, though support for Joda-Time in
    Finatra is deprecated and users should expect for Joda-Time support to be removed in an upcoming release.
    Users should prefer to use the JDK 8 java.time classes or java.util.Date.

    The finatra/inject c.t.inject.domain.WrappedValue has been removed and users should update to the
    util/util-core c.t.util.WrappedValue instead.

    The finatra/jackson JsonDiff utility is also removed. Users should switch to the improved version
    in util/util-jackson: c.t.util.jackson.JsonDiff.

    With the move to the util/util-jackson ScalaObjectMapper we're also able to clean up some awkward
    directory structures in Finatra which were necessary because of dependencies. Specifically, the
    finatra/json-annotations library no longer exists, as @InjectableValue is now an annotation in
    util/util-jackson-annotations, and the remaining binding annotations @CamelCaseMapper and @SnakeCaseMapper
    have been moved into finatra/jackson.

    Using the util/util-jackson ScalaObjectMapper also brings Java 8 date/time
    (JSR310) support via inclusion of the Jackson JavaTimeModule
    by default.

    Lastly, we've also added the YamlScalaObjectMapperModule which can be used in place of the
    ScalaObjectMapperModule in order to provide a YAMLFactory configured ScalaObjectMapper.
    9a168a98

  • inject-utils: Remove deprecated c.t.inject.utils.StringUtils. Users should prefer to use
    the corresponding methods in com.twitter.conversions.StringOps from util/util-core, instead.
    3a063a9e

  • inject-utils: Remove deprecated c.t.inject.utils.AnnotationUtils. Users should instead prefer
    c.t.util.reflect.Annotations from util/util-reflect. 35b58d34