Scrooge v22.2.0 Release Notes
-
๐ New Features
* scrooge-core: `c.t.scrooge.ThriftStructCodec.forStructClassTag` API for retrieving the codec for a struct or union class given a class tag or manifest and `c.t.scrooge.ThriftStructMetadata.forStructClassTag` for retrieving its metadata. ``PHAB_ID=D834052`` * scrooge-core: `c.t.scrooge.ThriftStructCodec.forStructClass` API for retrieving codec for a struct or union class and `c.t.scrooge.ThriftStructMetadata.forStructClass` for similarly retrieving its metadata. ``PHAB_ID=D825675`` * scrooge-generator: for each method defined in a service in the Thrift IDL, if any request arg of a method has annotations started with `validation.`, generate a new trait `ServerValidationMixin` with a new API `violationReturning<method_name>` which validates incoming request (of Struct, Union, Exception types) and return any violations (as method parameters `<request_variable>Violations`) back to the users in the method API. ``PHAB_ID=D799294`` ๐ฅ Breaking API Changes
- ๐ scrooge-generator: the
c.t.scrooge.frontend.ThriftParser
now always throws exceptions rather than warnings when a fieldname matches a reserved keyword. Seec.t.scrooge.frontend.ThriftKeywords
for the full list of disallowed keywords.PHAB_ID=D814995
- ๐ scrooge-generator: the