From 09a454329751e19adb18e39dee043c9a4eeada61 Mon Sep 17 00:00:00 2001 From: Jesse Wilson Date: Wed, 8 Dec 2021 21:56:39 -0500 Subject: [PATCH] Prepare for release 1.13.0. --- CHANGELOG.md | 42 ++++++++++++++++++++++++++++++++++++++++++ README.md | 6 +++--- gradle.properties | 2 +- 3 files changed, 46 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 59a013a..f60800e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,45 @@ Change Log ========== +## Version 1.13.0 + +_2021-12-08_ + + * New: Support for [Kotlin Symbol Processing (KSP)][ksp]. KSP is an alternative to annotation + processing code gen. It's builds faster and better supports Kotlin language features. + + To use KSP in your application you must enable the KSP Gradle plugin and add a KSP dependency + on Moshi codegen. + + ``` + plugins { + id("com.google.devtools.ksp").version("1.6.0-1.0.1") + } + + dependencies { + ksp("com.squareup.moshi:moshi-kotlin-codegen:1.13.0") + } + ``` + + If you're switching from annotation processing (kapt) to KSP, you should remove the kapt plugin + and the kapt Moshi dependency. + + * New: `@Json(ignore = true)` is a Moshi-specific way to exclude properties from JSON encoding + and decoding. + * New: Support Java 16 records. (Moshi still requires Java 8 only; we're shipping a [multi-release + jar][mrjar] to better support modern JVMs.) + * New: Option to disable generating R8/ProGuard files. These files prevent code shrinkers from + removing files that support JSON processing. If you're not using ProGuard or R8, you can skip + this step. + + ``` + ksp { + arg("moshi.generateProguardRules", "false") + } + ``` + + * Upgrade: [Kotlin 1.6.0][kotlin_1_6_0]. + ## Version 1.12.0 _2021-04-01_ @@ -495,8 +534,11 @@ _2015-06-16_ [jackson]: http://wiki.fasterxml.com/JacksonHome [kotlin_1_4_10]: https://github.com/JetBrains/kotlin/releases/tag/v1.4.10 [kotlin_1_4_31]: https://github.com/JetBrains/kotlin/releases/tag/v1.4.31 + [kotlin_1_6_0]: https://github.com/JetBrains/kotlin/releases/tag/v1.6.0 + [ksp]: https://github.com/google/ksp [maven_provided]: https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html [moshi_kotlin_docs]: https://github.com/square/moshi/blob/master/README.md#kotlin + [mrjar]: https://openjdk.java.net/jeps/238 [okio_1_7_5]: https://square.github.io/okio/changelog/#version-1175 [okio_2_10_0]: https://square.github.io/okio/changelog/#version-2100 [rfc_7159]: https://tools.ietf.org/html/rfc7159 diff --git a/README.md b/README.md index 1731bfd..50d38e2 100644 --- a/README.md +++ b/README.md @@ -1061,7 +1061,7 @@ The reflection adapter requires the following additional dependency: ``` ```kotlin -implementation("com.squareup.moshi:moshi-kotlin:1.12.0") +implementation("com.squareup.moshi:moshi-kotlin:1.13.0") ``` Note that the reflection adapter transitively depends on the `kotlin-reflect` library which is a @@ -1097,7 +1097,7 @@ add the following to your build to enable the annotation processor: ``` ```kotlin -kapt("com.squareup.moshi:moshi-kotlin-codegen:1.12.0") +kapt("com.squareup.moshi:moshi-kotlin-codegen:1.13.0") ``` You must also have the `kotlin-stdlib` dependency on the classpath during compilation in order for @@ -1128,7 +1128,7 @@ Download [the latest JAR][dl] or depend via Maven: ``` or Gradle: ```kotlin -implementation("com.squareup.moshi:moshi:1.12.0") +implementation("com.squareup.moshi:moshi:1.13.0") ``` Snapshots of the development version are available in [Sonatype's `snapshots` repository][snap]. diff --git a/gradle.properties b/gradle.properties index 3f1277d..a023b7c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -26,7 +26,7 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 \ kapt.include.compile.classpath=false GROUP=com.squareup.moshi -VERSION_NAME=1.13.0-SNAPSHOT +VERSION_NAME=1.13.0 POM_DESCRIPTION=A modern JSON API for Android and Java POM_URL=https://github.com/square/moshi/ POM_SCM_URL=https://github.com/square/moshi/