diff --git a/CHANGELOG.md b/CHANGELOG.md index 60187b8bae4..1c789966331 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 0.20.11 + +* `Versions`: + * `Kotlin`: `1.9.20-RC2` -> `1.9.20` + * `Exposed`: `0.44.0` -> `0.44.1` + * `Compose`: `1.5.10-rc02` -> `1.5.10` +* `Coroutines`: + * `SmartRWLocker` now will wait first unlock of write mutex for acquiring read + ## 0.20.10 * `Versions`: diff --git a/coroutines/src/commonMain/kotlin/dev/inmo/micro_utils/coroutines/SmartRWLocker.kt b/coroutines/src/commonMain/kotlin/dev/inmo/micro_utils/coroutines/SmartRWLocker.kt index 7aaf845cb81..65eb1732bb6 100644 --- a/coroutines/src/commonMain/kotlin/dev/inmo/micro_utils/coroutines/SmartRWLocker.kt +++ b/coroutines/src/commonMain/kotlin/dev/inmo/micro_utils/coroutines/SmartRWLocker.kt @@ -23,6 +23,7 @@ class SmartRWLocker(private val readPermits: Int = Int.MAX_VALUE, writeIsLocked: * Do lock in [readSemaphore] inside of [writeMutex] locking */ suspend fun acquireRead() { + _writeMutex.waitUnlock() _readSemaphore.acquire() } diff --git a/gradle.properties b/gradle.properties index 2798b721a11..7ef6e41b630 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,5 +15,5 @@ crypto_js_version=4.1.1 # Project data group=dev.inmo -version=0.20.10 -android_code_version=216 +version=0.20.11 +android_code_version=217 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 226b41ec27d..72ed5ff4a6d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,14 +1,14 @@ [versions] -kt = "1.9.20-RC2" +kt = "1.9.20" #compose-kotlin = "1.5.10-beta02" kt-serialization = "1.6.0" kt-coroutines = "1.7.3" kslog = "1.2.2" -jb-compose = "1.5.10-rc02" -jb-exposed = "0.44.0" +jb-compose = "1.5.10" +jb-exposed = "0.44.1" jb-dokka = "1.9.10" korlibs = "4.0.10" @@ -22,7 +22,7 @@ koin = "3.5.0" okio = "3.6.0" -ksp = "1.9.20-RC2-1.0.13" +ksp = "1.9.20-1.0.13" kotlin-poet = "1.14.2" versions = "0.49.0"