diff --git a/CHANGELOG.md b/CHANGELOG.md index c5c95c20..a2518490 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog # +## v0.8.1 *(2021-09-23)* ## + +- Update to Kotlin 1.5.31 and Gradle 7.2 +- Update `multiplatform-settings-coroutines` to use coroutines version 1.5.2 +- Update `multiplatform-settings-serialization` to use serialization version 1.3.0-RC +- Add missing Apple targets to `multiplatform-settings-coroutines`, `multiplatform-settings-serialization`, + and `multiplatform-settings-no-arg` + ## v0.8 *(2021-08-27)* ## - Update to Kotlin 1.5.30 and Gradle 7.1 diff --git a/README.md b/README.md index 1d0c3e06..56ca361e 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ Then, simply add the dependency to your common source-set dependencies commonMain { dependencies { // ... - implementation("com.russhwolf:multiplatform-settings:0.8") + implementation("com.russhwolf:multiplatform-settings:0.8.1") } } ``` @@ -144,7 +144,7 @@ val factory: Settings.Factory = AppleSettings.Factory() To create a `Settings` instance from common without needing to pass platform-specific dependencies, add the `multiplatform-settings-no-arg` gradle dependency. This exports `multiplatform-settings` as an API dependency, so you can use it as a replacement for that default dependency. ```kotlin -implementation("com.russhwolf:multiplatform-settings-no-arg:0.8") +implementation("com.russhwolf:multiplatform-settings-no-arg:0.8.1") ``` Then from common code, you can write @@ -238,7 +238,7 @@ Note that for the `AppleSettings` implementation, some entries are unremovable a A testing dependency is available to aid in testing code that interacts with this library. ```kotlin -implementation("com.russhwolf:multiplatform-settings-test:0.8") +implementation("com.russhwolf:multiplatform-settings-test:0.8.1") ``` This includes a `MockSettings` implementation of the `Settings` interface, which is backed by an in-memory `MutableMap` on all platforms. @@ -309,7 +309,7 @@ On Apple platforms, the `AppleSettings` listeners are designed to work within th A `kotlinx-serialization` integration exists so it's easier to save non-primitive data ```kotlin -implementation("com.russhwolf:multiplatform-settings-serialization:0.8") +implementation("com.russhwolf:multiplatform-settings-serialization:0.8.1") ``` This essentially uses the `Settings` store as a serialization format. Thus for a serializable class @@ -346,10 +346,10 @@ Usage requires accepting both the `@ExperimentalSettingsApi` and `@ExperimentalS A separate `multiplatform-settings-coroutines` dependency includes various coroutine APIs. ```kotlin -implementation("com.russhwolf:multiplatform-settings-coroutines:0.8") +implementation("com.russhwolf:multiplatform-settings-coroutines:0.8.1") // Or, if you use native-mt coroutines release -implementation("com.russhwolf:multiplatform-settings-coroutines-native-mt:0.8") +implementation("com.russhwolf:multiplatform-settings-coroutines-native-mt:0.8.1") ``` This adds flow extensions for all types which use the listener APIs internally. @@ -389,7 +389,7 @@ val blockingSettings: Settings = suspendSettings.toBlockingSettings() An implementation of `FlowSettings` on the Android exists in the `multiplatform-settings-datastore` dependency, based on [Jetpack DataStore](https://developer.android.com/jetpack/androidx/releases/datastore) ```kotlin -implementation("com.russhwolf:multiplatform-settings-datastore:0.8") +implementation("com.russhwolf:multiplatform-settings-datastore:0.8.1") ``` This provides a `DataStoreSettings` class diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index a297b88c..3b5ffd13 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -15,7 +15,7 @@ */ plugins { - kotlin("jvm") version "1.5.30" + kotlin("jvm") version "1.5.31" } repositories { @@ -26,7 +26,7 @@ repositories { dependencies { implementation(kotlin("gradle-plugin")) - implementation("com.android.tools.build:gradle:4.1.2") + implementation("com.android.tools.build:gradle:4.2.2") implementation("org.jetbrains.dokka:dokka-gradle-plugin:0.10.1") implementation(kotlin("compiler-embeddable")) } diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 28f421cd..8dc1c2fd 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -17,10 +17,10 @@ @file:Suppress("KDocMissingDocumentation") object Versions { - const val multiplatformSettings = "0.8" + const val multiplatformSettings = "0.8.1" const val minSdk = 15 - const val compileSdk = 30 + const val compileSdk = 31 const val androidxDatastore = "1.0.0" const val androidxPreference = "1.1.1" @@ -28,11 +28,11 @@ object Versions { const val androidxTest = "1.4.0" const val androidxTestExt = "1.1.3" const val binaryCompatibilityValidator = "0.2.4" - const val coroutines = "1.5.1" - const val coroutinesNativeMt = "1.5.1-native-mt" + const val coroutines = "1.5.2" + const val coroutinesNativeMt = "1.5.2-native-mt" const val junit = "4.13.2" const val robolectric = "4.6.1" - const val serializationPlugin = "1.5.30" - const val serializationRuntime = "1.2.2" - const val turbine = "0.6.0" + const val serializationPlugin = "1.5.31" + const val serializationRuntime = "1.3.0-RC" + const val turbine = "0.6.1" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 10e803bc..21deeefb 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -15,7 +15,7 @@ # #Sun Jun 09 17:45:17 EDT 2019 -distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStorePath=wrapper/dists diff --git a/multiplatform-settings-coroutines-native-mt/build.gradle.kts b/multiplatform-settings-coroutines-native-mt/build.gradle.kts index 553a0a72..2965c2fa 100644 --- a/multiplatform-settings-coroutines-native-mt/build.gradle.kts +++ b/multiplatform-settings-coroutines-native-mt/build.gradle.kts @@ -28,16 +28,21 @@ standardConfiguration( "android", "iosArm32", "iosArm64", + "iosSimulatorArm64", "iosX64", "js", "jvm", "linuxX64", + "macosArm64", "macosX64", "mingwX64", "tvosArm64", + "tvosSimulatorArm64", "tvosX64", "watchosArm32", "watchosArm64", + "watchosSimulatorArm64", + "watchosX64", "watchosX86" ) kotlin { diff --git a/multiplatform-settings-coroutines/build.gradle.kts b/multiplatform-settings-coroutines/build.gradle.kts index 4d84890e..9c0d1d9b 100644 --- a/multiplatform-settings-coroutines/build.gradle.kts +++ b/multiplatform-settings-coroutines/build.gradle.kts @@ -28,16 +28,21 @@ standardConfiguration( "android", "iosArm32", "iosArm64", + "iosSimulatorArm64", "iosX64", "js", "jvm", "linuxX64", + "macosArm64", "macosX64", "mingwX64", "tvosArm64", + "tvosSimulatorArm64", "tvosX64", "watchosArm32", "watchosArm64", + "watchosSimulatorArm64", + "watchosX64", "watchosX86" ) kotlin { diff --git a/multiplatform-settings-no-arg/build.gradle.kts b/multiplatform-settings-no-arg/build.gradle.kts index 1ce01afb..0978849b 100644 --- a/multiplatform-settings-no-arg/build.gradle.kts +++ b/multiplatform-settings-no-arg/build.gradle.kts @@ -26,14 +26,19 @@ standardConfiguration( "android", "iosArm32", "iosArm64", + "iosSimulatorArm64", "iosX64", "js", "jvm", + "macosArm64", "macosX64", "tvosArm64", + "tvosSimulatorArm64", "tvosX64", "watchosArm32", "watchosArm64", + "watchosSimulatorArm64", + "watchosX64", "watchosX86" ) @@ -74,7 +79,7 @@ kotlin { } } val jvmTest by getting { - languageSettings.useExperimentalAnnotation("com.russhwolf.settings.ExperimentalSettingsImplementation") + languageSettings.optIn("com.russhwolf.settings.ExperimentalSettingsImplementation") dependencies { implementation("junit:junit:${Versions.junit}") } diff --git a/multiplatform-settings-serialization/build.gradle.kts b/multiplatform-settings-serialization/build.gradle.kts index fe5ea7d2..bb20f40c 100644 --- a/multiplatform-settings-serialization/build.gradle.kts +++ b/multiplatform-settings-serialization/build.gradle.kts @@ -27,19 +27,24 @@ standardConfiguration( "android", "iosArm32", "iosArm64", + "iosSimulatorArm64", "iosX64", "js", "jvm", "linuxArm32Hfp", "linuxArm64", "linuxX64", + "macosArm64", "macosX64", "mingwX64", "mingwX86", "tvosArm64", + "tvosSimulatorArm64", "tvosX64", "watchosArm32", "watchosArm64", + "watchosSimulatorArm64", + "watchosX64", "watchosX86" ) diff --git a/sample/build.gradle.kts b/sample/build.gradle.kts index ebbb88f2..d248959b 100644 --- a/sample/build.gradle.kts +++ b/sample/build.gradle.kts @@ -15,14 +15,14 @@ */ plugins { - kotlin("multiplatform") version "1.5.30" apply false - kotlin("android") version "1.5.30" apply false - id("com.android.library") version "4.1.2" apply false - id("com.android.application") version "4.1.2" apply false + kotlin("multiplatform") version "1.5.31" apply false + kotlin("android") version "1.5.31" apply false + id("com.android.library") version "4.2.2" apply false + id("com.android.application") version "4.2.2" apply false } allprojects { - ext["library_version"] = "0.8" + ext["library_version"] = "0.8.1" repositories { mavenLocal() diff --git a/sample/gradle/wrapper/gradle-wrapper.properties b/sample/gradle/wrapper/gradle-wrapper.properties index 9ed03e93..02183d94 100644 --- a/sample/gradle/wrapper/gradle-wrapper.properties +++ b/sample/gradle/wrapper/gradle-wrapper.properties @@ -19,4 +19,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip diff --git a/sample/shared/build.gradle.kts b/sample/shared/build.gradle.kts index cdee2465..edea9ff8 100644 --- a/sample/shared/build.gradle.kts +++ b/sample/shared/build.gradle.kts @@ -41,7 +41,7 @@ kotlin { sourceSets { all { languageSettings.apply { - useExperimentalAnnotation("kotlin.RequiresOptIn") + optIn("kotlin.RequiresOptIn") } }