All Versions
Latest Version
Avg Release Cycle
26 days
Latest Release

Changelog History
Page 13

  • v3.1.6 Changes

    • โœ… Depend on the latest patch version of util/finagle
  • v3.1.5 Changes

    • โž• add back the --import-path flag as a deprecation step
    • โž• add sbt-plugin
    • ๐Ÿ‘ท use maven as the build system for the maven plugin
  • v3.1.2 Changes

    • ๐Ÿ’ฅ BREAKING CHANGE: In the maven plugin: change the dependentConfigs param to dependentIncludes

    • โšก๏ธ optimize empty collections on deserialization

    • โฌ†๏ธ upgrade to finagle 6.4.0 and util 6.3.4

  • v3.1.1 Changes

    • ๐Ÿ’ฅ BREAKING CHANGE: We finally made scrooge-runtime to be backward with Scrooge 2. This requires a name change for the ThriftStructCodec. From now on, all objects generated by Scrooge 3 will use ThriftStructCodec3. This will affect you only if your code is using ThriftStructCodec directly, which is not common.
    • ๐Ÿš€ scrooge now releases jar-with-dependencies
    • โž• add language option tag to scrooge-maven-plugin, thanks to @eirslett
    • some directory reorganization of the demos
  • v3.1.0 Changes

    • Dependency changes: now on util/finagle 6.3.0
    • demo project now shows how to construct finagle server and client using generated code
    • --ostrich flag implies --finagle flag
  • v3.0.9 Changes

    • โœ‚ Remove "provided" scope of finagle in scrooge-runtime. So it brings Finagle 6.1.0 as transit dependency to your project
    • ๐Ÿ‘‰ Make the generated Scala code backward compatible with Finagle 5. The impact to users on Finagle 6 is that you will see a lot of warnings saying that tracerFactory is deprecated.
  • v3.0.8 Changes

    • ๐Ÿ”Œ When scrooge-maven-plugin extracts Thrift files from a dependency artifact, it now puts them in a sub folder named after the artifact id. This way, the user project can use same-named Thrift files from different artifacts.
    • Title case and camel case more consistent with previous version before 3.0.7 We still preserve consecutive upper cases but not in an all-up-case string, eg:


    TBird (original) -> tBird (camel case) -> TBird (title case) HTML (original) -> html (camel case) -> Html (title case)

    • ๐Ÿ‘ป Thanks to @erikvanoosten - Finagle client can throw exception on void function.
    • ๐Ÿ“š Thanks to @brancek - Support documentation on enum values.
    • โœ… Thanks to @erikvanoosten - Reorganizing test folder, and add Apache standard test
  • v3.0.7 Changes

    • All on-wire names in the Thrift messages are now consistent with Apache generated code. This allows Scrooge generated services to exchange Thrift messages with Apache generated services.
    • Title case ids now preserve consecutive upper case letters. Eg:


    TBird (original) -> Tbird (old) -> TBird (now)

    See test case in scrooge-generator/src/test/scala/com/twitter/scrooge/ASTSpec.scala

    • ๐Ÿ”Œ scrooge-maven-plugin now enforces an explicit white list in . The old behavior is that if a dependency artifact has a "idl" classifier, we will extract thrift files from it to compile. The new behavior is that the artifact must be explicitly included in . The dependencies here include both direct dependencies(specified in project pom file) and indirect dependencies (everything in the dependency tree).
    • ๐Ÿ‘ Now supports "scala" as a namespace scope. It is treated same as "java".
    • 0๏ธโƒฃ Now supports "*" as a default namespace scope
  • v3.0.6 Changes

    • ๐Ÿš€ Released a scrooge-maven-plugin, for maven projects to integrate Scrooge in their pom files. Also released a demo of how to use scrooge-maven-plugin
    • scrooge-runtime is now backward compatible with scrooge-runtime 2.X.X. The following classes and methods are deprecated:
    • FinagleThriftClient
    • FinagleThriftService
    • ThriftStructCodec.decoder
    • ThriftStructCodec.encoder
    • ๐Ÿ‘€ scrooge-runtime now can introspect generated ThriftStruct. See the new ThriftStructMetaData class.
    • ๐Ÿ’ฅ BREAKING: in scrooge-runtime, com.twitter.ScroogeOption is now renamed to just Option. This is mainly for Java code. But if you need to use it in Scala code, make sure to address ambiguity with scala.Option.
    • โšก๏ธ Updated APIs of scrooge-generator. See com.twitter.scrooge.Compiler class
    • ๐Ÿ›  Fix the stats reporting for the java scrooge thrift code generation
  • v3.0.5 Changes

    ๐Ÿ› Bug fixes

    • Constant definitions now can be of "set" type.
    • ๐Ÿ›  Fix letter cases of enum fields(Java uses upper case; Scala uses title case)


    • โœ‚ Remove dependency on org.scalatest, com.twitter.scalatest (not in Maven Central)
    • โšก๏ธ Update dependency of util/finagle/ostrich to 6.1.0
    • Project dependencies are all in Maven Central now. You don't need to have access to Twitter internal repository anymore.