Skip to content

Scrooge 22.12.0

Latest
Compare
Choose a tag to compare
@finaglehelper finaglehelper released this 26 Dec 14:40
· 16 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