Finatra v22.3.0 Release Notes
-
โ Runtime Behavior Changes
* ๐ inject-app: Remove the SLF4J-API logging bridges as dependencies. These were originally added as the framework was expressly opionated that users should use Logback as an SLF4J-API implementation, however specifying the bridges on the Finatra inject/inject-app library causes many issues with code that must use a different SLF4J-API logging implementation but still uses the Finatra framework. Users should note that if they do not include these bridges in some other manner that they may lose logging if they have any libraries which log with one of the formerly bridged implementations. Also note that servers using a `TwitterServer` logging implementation to support `dynamically changing log levels <https://twitter.github.io/twitter-server/Features.html#dynamically-change-log-levels>`__ will get the proper bridges as dependencies. ``PHAB_ID=D854393`` โ Runtime Behavior Changes
- ๐ inject-server: Throw an
UnsupportedOperationException
when access to thec.t.inject.server.DeprecatedLogging#log
instance is attempted. This is a JUL Logger instance which was provided only as a backward-compatible shim for Finatra services when thec.t.server.TwitterServer
framework was moved to theSLF4J-API
. The instance was marked@deprecated
in hopes of alerting users to not use it. We have now updated it to throw an exception when accessed. Please refer to the Finatra documentation for more information on using the SLF4J-API for logging with the Finatra framework: https://twitter.github.io/finatra/user-guide/logging/index.html.PHAB_ID=D854365
โ Added
* โ inject-app: Introduce test-friendly `c.t.inject.app.console.ConsoleWriter` and `c.t.inject.app.TestConsoleWriter`, which can be used to inspect the output of a command-line style `c.t.inject.app.App`. ``PHAB_ID=D856159`` ๐ Changed
๐ inject-modules: Remove deprecated
c.t.inject.modules.LoggerModule
.PHAB_ID=D853325
finatra: Bump version of Jackson to 2.13.2
PHAB_ID=D848592
๐ inject-thrift-client: Deprecate
c.t.inject.thrift.AndThenService
,c.t.inject.thrift.modules.AndThenServiceModule
, andc.t.inject.thrift.internal.DefaultAndThenServiceImpl
. These were plumbing for unreleased experimental record/replay functionality and currently do nothing with no plan for implementation.PHAB_ID=D845841
- ๐ inject-server: Throw an