diff --git a/CHANGELOG.md b/CHANGELOG.md index 26b0ef936..1addf853e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,29 @@ +3.0.0 (released 7 August 2021) +------------------ +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) + + +3.0.0-RC-2 (released 2 August 2021) +------------------ +- Fix broken Maven publication + 3.0.0-RC01 (released 21 June 2021) ------------------ - BREAK: All support for `@Generated` annotations has been removed (#402) diff --git a/README.md b/README.md index af011ecbc..6cb3219e7 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ repositories { } dependencies { - implementation 'com.microsoft.thrifty:thrifty-runtime:3.0.0-RC01' + implementation 'com.microsoft.thrifty:thrifty-runtime-jvm:3.0.0' } ``` @@ -53,7 +53,7 @@ Or, with the Gradle plugin: buildscript { dependencies { - classpath 'com.microsoft.thrifty:thrifty-gradle-plugin:3.0.0-RC01' + classpath 'com.microsoft.thrifty:thrifty-gradle-plugin:3.0.0' } } @@ -254,7 +254,7 @@ val results = async { client.search(query) }.await() Every project has its own requirements, and no one style of boilerplate can fill them all. Thrifty offers a small but powerful plugin model that you can implement, using the standard Java SPI mechanism, which will allow one to customize -each generated Java class before it is written out to disk. Read more about it in the [thrifty-compiler-plugins README](thrifty-compiler-plugins/README.md). You can see a worked example in [thrifty-example-postprocessor](thrifty-example-postprocessor). +each generated class before it is written out to disk. Read more about it in the [thrifty-compiler-plugins README](thrifty-compiler-plugins/README.md). You can see a worked example in [thrifty-example-postprocessor](thrifty-example-postprocessor). ### Hiding PII with Redaction and Obfuscation @@ -309,7 +309,7 @@ more method references than Kotlin. Instead of data classes, Java structs are f and are constructable only with dedicated `Builder` types. To generate Java classes, pass `--lang=java` to the compiler (if using the command-line compiler), or provide a `java {}` block -within the thrifty Gradle plugin configuration. +within the thrifty Gradle plugin configuration block. ## Language-specific command-line options ### Kotlin-specific command-line options diff --git a/gradle.properties b/gradle.properties index 3481b4b41..b0b2243b3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ GROUP=com.microsoft.thrifty -VERSION_NAME=3.0.0-SNAPSHOT +VERSION_NAME=3.0.0 POM_INCEPTION_YEAR=2015 POM_PACKAGING=jar