Thrifty v3.0.0 Release Notes

Release Date: 2021-08-07 // 3 months ago
  • ๐Ÿš€ The major update in this release is the transition of Thrifty from a Java project to a Kotlin Multiplatform project. Among other changes, one thing to note is that the runtime artifact thrifty-runtime now refers to an MPP artifact. The correct artifact to reference in your existing Android or Java projects is thrifty-runtime-jvm.

    • ๐Ÿšš BREAK: All support for @Generated annotations has been removed (#402)
    • BREAK: thrifty-runtime ported to Kotlin Multiplatform (#401)
    • ๐Ÿ”€ BREAK: thrifty-runtime-ktx is gone, and has been merged into thrifty-runtime (#397)
    • BREAK: thrifty-runtime ported to Kotlin (#391)
    • ๐Ÿ‘ BREAK: Minimum supported JDK is now version 8 (#391)
    • BREAK: Fields whose names are "soft" or "modifier" Kotlin keywords now have an underscore suffix (thanks @luqasn) (#446)
    • โž• Add Okio-based convenience APIs to thrifty-runtime (#408)
    • โž• Add big-enum mode to enable enums with large numbers of members (Thanks @shashachu) (#421)
    • ๐Ÿ”„ Change: Kotlin structs are builderless by default (#414)
    • ๐Ÿ”„ Change: Gradle plugin defaults to Kotlin (#442)
    • ๐Ÿ”„ Change: thrifty-compiler defaults to generating Kotlin (#451)
    • ๐Ÿ›  Fix: Empty structs use literal class name for hashCode (#415)
    • ๐Ÿ›  Fix: Location in thrifty-schema should always be an include root (#416)
    • ๐Ÿ›  Fix: Make @JvmStatic annotations opt-in (#417)
    • ๐Ÿ›  Fix: Including sibling .thrift files now works (#434)
    • ๐Ÿ›  Fix: Unions with fields named error (thanks @luqasn) (#444)

Previous changes from v3.0.0-RC01

    • ๐Ÿšš BREAK: All support for @Generated annotations has been removed (#402)
    • ๐Ÿ”€ BREAK: thrifty-runtime-ktx is gone, and has been merged into thrifty-runtime (#397)
    • BREAK: thrifty-runtime ported to Kotlin (#391)
    • ๐Ÿ‘ BREAK: Minimum supported JDK is now version 8 (#391)
    • BREAK: Fields whose names are "soft" or "modifier" Kotlin keywords now have an underscore suffix (thanks @luqasn) (#446)
    • โž• Add Okio-based convenience APIs to thrifty-runtime (#408)
    • โž• Add big-enum mode to enable enums with large numbers of members (Thanks @shashachu) (#421)
    • ๐Ÿ”„ Change: Kotlin structs are builderless by default (#414)
    • ๐Ÿ”„ Change: Gradle plugin defaults to Kotlin (#442)
    • ๐Ÿ”„ Change: thrifty-compiler defaults to generating Kotlin (#451)
    • ๐Ÿ›  Fix: Empty structs use literal class name for hashCode (#415)
    • ๐Ÿ›  Fix: Location in thrifty-schema should always be an include root (#416)
    • ๐Ÿ›  Fix: Make @JvmStatic annotations opt-in (#417)
    • ๐Ÿ›  Fix: Including sibling .thrift files now works (#434)
    • ๐Ÿ›  Fix: Unions with fields named error (thanks @luqasn) (#444)