finaglehelper
released this
26 Dec 14:40
·
20 commits
to develop
since this release
22.12.0
New Features
- scrooge-core: c.t.scrooge.StructBuilder.forStructClass API for retrieving
the StructBuilder for a struct or union class that helps in building ThriftStruct.PHAB_ID=D934277
Breaking API Changes
- scrooge-generator: c.t.scrooge.ast.Field.hasValidationAnnotation field can no longer
be set in the constructor, but it is now a property derived from the value in the
Field.fieldAnnotations field; if any annotations have a name starting with validation.
it is set to true, otherwise it is false.PHAB_ID=D912077
Runtime Behavior Changes
- scrooge-generator: Move ServerValidationMixin trait to be in the companion object of the service, this is to
avoid ambiguities when calling the trait from inherited services.PHAB_ID=D943975
- scrooge-thrift-validation: custom annotations in ThriftValidator must have a
name starting with validation.PHAB_ID=D912077
- scrooge-generator: Checks for reference equality in Scala structs before iterating over the fields, this is to
reduce the cost of equals checks on large structs (many fields or deeply nested fields).PHAB_ID=D950010
- scrooge: Use the util-mock for testing which depends on the 3.12.4 "org.mockito", remove the
"org.jmock" dependencies. 967d7ddf - scrooge: c.t.scrooge.StructBuilder now accepts null values for non-primitive default-required fields. e35e1842