All Versions
147
Latest Version
Avg Release Cycle
26 days
Latest Release
-

Changelog History
Page 1

  • v22.7.0 Changes

    ๐Ÿ†• New Features

    
    * scrooge-generator: Introduce a `AnnotatedFieldType` to abstract type annotations from
      `FieldType` definitions. Currently used to propagate thrift annotations inside of
      collection types. ``PHAB_ID=D911997`` ``PHAB_ID=D937932``
    
    * scrooge-core: `c.t.scrooge.ThriftUnion.fieldInfoForUnionClass` API for retrieving
      `ThriftStructFieldInfo` for a `ThriftUnion` member class without having to instantiate
      it. ``PHAB_ID=D871986``
    
    * scrooge-generator: Add @.generated annotation to Swift generated code ``PHAB_ID=D879262``
    
    * scrooge-generator: Provide a `$STRUCT#unsetFields` method to allow bulk unsets ``PHAB_ID=D911135``
    
    * ๐Ÿ‘ scrooge-generator: support thrift validations on nested fields that are struct, union, and
      exception ``PHAB_ID=D911262``
    
  • v22.4.0 Changes

    No Changes

  • v22.3.0 Changes

    ๐Ÿ†• New Features

    
    * scrooge-core: `c.t.scrooge.ThriftEnumObject.forEnumClass` API for retrieving
      `ThriftEnumObject` for a `ThriftEnum` class. ``PHAB_ID=D859929``
    
    * 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.`, in Java template, 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=D840524``
    
    ๐Ÿ’ฅ Breaking API Changes
    
    • scrooge-core: ThriftUnion is now defined to extend ThriftStruct. In practice, this is not a significant change as all Scrooge-generated classes that implement ThriftUnion also implement ThriftStruct. We just made the invariant that unions are always structs explicit in the type system. PHAB_IB=D854592

    • scrooge-core: ThriftEnumObject now has an additional method, annotations. In practice, all Scrooge-generated ThriftEnumObject implementations already had this member, it is now just made accessible as a strongly typed member on the trait. PHAB_IB=D859929

    • ๐Ÿ—„ scrooge-generator: --import-path option is now deleted due to deprecation. An alternative is to use the --include-path option. PHAB_ID=D916638

    โš™ Runtime Behavior Changes

    
    * scrooge: Bump version of Jackson to 2.13.2. ``PHAB_ID=D848592``
    
  • v22.2.0 Changes

    ๐Ÿ†• 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. See c.t.scrooge.frontend.ThriftKeywords for the full list of disallowed keywords. PHAB_ID=D814995
  • v22.1.0 Changes

    No Changes

  • v21.12.0 Changes

    No Changes

  • v21.11.0 Changes

    โš™ Runtime Behavior Changes

    
    * scrooge-serializer: concrete implementations of the `ThriftStructSerializer`
      trait in the `c.t.scrooge.` package now cache the value of its `maxReusableBufferSize`
      flag for the duration of the application. This improves performance but also makes them
      not observe changes to the flag. The value of this flag typically does not change during
      run time of an application, so this is deemed an acceptable tradeoff. ``PHAB_ID=D783669``
    
    * ๐Ÿ‘ scrooge-generator: support language-flag "immutable-sequences" to generate Scala 2.13 compatible
      `scala.Seq` alias as `scala.collection.immutable.Seq`. and allows toggling the new behavior via
      language-flag during code generation. ``PHAB_ID=D793036``
    
  • v21.10.0 Changes

    No Changes

  • v21.9.0 Changes

    ๐Ÿ’ฅ Breaking API Changes

    
    * scrooge-generator: Dropped the generic (higher-kinded-types) service interface in scala-gen,
      users are recommended to use YourService.MethodPerEndpoint, YourService.ServicePerEndpoint
      and YourService.ReqRepServicePerEndpoint to represent Thrift service endpoints. Note,
      `-finagle` option is required to generated finagle binding code. ``PHAB_ID=D747744``
    
    * ๐Ÿšš scrooge-generator: Removed YourService.FutureIface and YourService[Future] in scala-gen,
      use $YourService.MethodPerEndpoint instead. Correspondingly, YourService$FinagleService and
      related constructors taking MethodPerEndpoint as parameters. ``PHAB_ID=D747744``
    
    * ๐Ÿ— Scrooge-generator: Dropped ThriftServiceBuilder.build and MethodIfaceBuilder.newMethodIface.
      ``PHAB_ID=D747744``
    
    * ๐Ÿ“œ scrooge-generator: Add reserved keywords to ThriftParser. If your field names match
      these keywords, you may need to modify them. This change should not affect backwards
      and forwards compatiblility if using binary protocol for serde. ``PHAB_ID=D707116``
    
  • v21.8.0 Changes

    โš™ Runtime Behavior Changes

    
    * โšก๏ธ scrooge: Update ScalaCheck to version 1.15.4. scrooge-sbt-plugin and
      scrooge-generator still use the older version 1.14.3 because they compile
      with Scala 2.10.  ``PHAB_ID=D691691``