ouchadam / small-talk

Minimal Android messenger powered by Matrix
Apache License 2.0
139 stars 4 forks source link

Update coroutines to v1.9.0 #349

Open renovate[bot] opened 1 year ago

renovate[bot] commented 1 year ago

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
org.jetbrains.kotlinx:kotlinx-coroutines-test 1.7.0 -> 1.9.0 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-coroutines-core 1.7.0 -> 1.9.0 age adoption passing confidence

Release Notes

Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-test) ### [`v1.9.0`](https://redirect.github.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-190) [Compare Source](https://redirect.github.com/Kotlin/kotlinx.coroutines/compare/1.8.1...1.9.0) ##### Features - Wasm/WASI target support ([#​4064](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4064)). Thanks, [@​igoriakovlev](https://redirect.github.com/igoriakovlev)! - `limitedParallelism` now optionally accepts the name of the dispatcher view for easier debugging ([#​4023](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4023)). - No longer initialize `Dispatchers.IO` on the JVM when other standard dispatchers are accessed ([#​4166](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4166)). Thanks, [@​metalhead8816](https://redirect.github.com/metalhead8816)! - Introduced the `Flow.chunked(size: Int): Flow>` operator that groups emitted values into groups of the given size ([#​1290](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1290)). - Closeable dispatchers are instances of `AutoCloseable` now ([#​4123](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4123)). ##### Fixes - Calling `hasNext` on a `Channel`'s iterator is idempotent ([#​4065](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4065)). Thanks, [@​gitpaxultek](https://redirect.github.com/gitpaxultek)! - `CoroutineScope()` created without an explicit dispatcher uses `Dispatchers.Default` on Native ([#​4074](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4074)). Thanks, [@​whyoleg](https://redirect.github.com/whyoleg)! - Fixed a bug that prevented non-Android `Dispatchers.Main` from initializing when the Firebase dependency is used ([#​3914](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3914)). - Ensured a more intuitive ordering of tasks in `runBlocking` ([#​4134](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4134)). - Forbid casting a `Mutex` to `Semaphore` ([#​4176](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4176)). - Worked around a stack overflow that may occur when calling `asDeferred` on a `Future` many times ([#​4156](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4156)). ##### Deprecations and promotions - Advanced the deprecation levels for `BroadcastChannel`-based API ([#​4197](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4197)). - Advanced the deprecation levels for the old `kotlinx-coroutines-test` API ([#​4198](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4198)). - Deprecated `Job.cancelFutureOnCompletion` ([#​4173](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4173)). - Promoted `CoroutineDispatcher.limitedParallelism` to stable ([#​3864](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3864)). - Promoted `CoroutineStart.ATOMIC` from `ExperimentalCoroutinesApi` to `DelicateCoroutinesApi` ([#​4169](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4169)). - Promoted `CancellableContinuation.resume` with an `onCancellation` lambda to stable, providing extra arguments to the lambda ([#​4088](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4088)). - Marked the classes and interfaces that are not supposed to be inherited from with the new `InternalForInheritanceCoroutinesApi` opt-in ([#​3770](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3770)). - Marked the classes and interfaces inheriting from which is not stable with the new `ExperimentalForInheritanceCoroutinesApi` opt-in ([#​3770](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3770)). ##### Other - Kotlin was updated to 2.0 ([#​4137](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4137)). - Reworked the documentation for `CoroutineStart` and `Channel`-based API ([#​4147](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4147), [#​4148](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4148), [#​4167](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4167)). Thanks, [@​globsterg](https://redirect.github.com/globsterg)! - Simplified the internal implementation of `Job` ([#​4053](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4053)). - Small tweaks, fixes, and documentation improvements. ### [`v1.8.1`](https://redirect.github.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-181) [Compare Source](https://redirect.github.com/Kotlin/kotlinx.coroutines/compare/1.8.0...1.8.1) - Remove the `@ExperimentalTime` annotation from usages of `TimeSource` ([#​4046](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4046)). Thanks, [@​hfhbd](https://redirect.github.com/hfhbd)! - Introduce a workaround for an Android bug that caused an occasional `NullPointerException` when setting the `StateFlow` value on old Android devices ([#​3820](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3820)). - No longer use `kotlin.random.Random` as part of `Dispatchers.Default` and `Dispatchers.IO` initialization ([#​4051](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4051)). - `Flow.timeout` throws the exception with which the channel was closed ([#​4071](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4071)). - Small tweaks and documentation fixes. ##### Changelog relative to version 1.8.1-Beta - `Flow.timeout` throws the exception with which the channel was closed ([#​4071](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4071)). - Small documentation fixes. ### [`v1.8.0`](https://redirect.github.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-180) [Compare Source](https://redirect.github.com/Kotlin/kotlinx.coroutines/compare/1.7.3...1.8.0) - Implement the library for the Web Assembly (Wasm) for JavaScript ([#​3713](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3713)). Thanks [@​igoriakovlev](https://redirect.github.com/igoriakovlev)! - Major Kotlin version update: was 1.8.20, became 1.9.21. - On Android, ensure that `Dispatchers.Main != Dispatchers.Main.immediate` ([#​3545](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3545), [#​3963](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3963)). - Fixed a bug that caused `Flow` operators that limit cancel the upstream flow to forget that they were already finished if there is another such operator upstream ([#​4035](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4035), [#​4038](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4038)) - `kotlinx-coroutines-debug` is published with the correct Java 9 module info ([#​3944](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3944)). - `kotlinx-coroutines-debug` no longer requires manually setting `DebugProbes.enableCoroutineCreationStackTraces` to `false`, it's the default ([#​3783](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3783)). - `kotlinx-coroutines-test`: set the default timeout of `runTest` to 60 seconds, added the ability to configure it on the JVM with the `kotlinx.coroutines.test.default_timeout=10s` ([#​3800](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3800)). - `kotlinx-coroutines-test`: fixed a bug that could lead to not all uncaught exceptions being reported after some tests failed ([#​3800](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3800)). - `delay(Duration)` rounds nanoseconds up to whole milliseconds and not down ([#​3920](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3920)). Thanks [@​kevincianfarini](https://redirect.github.com/kevincianfarini)! - `Dispatchers.Default` and the default thread for background work are guaranteed to use the same context classloader as the object containing it them ([#​3832](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3832)). - It is guaranteed that by the time `SharedFlow.collect` suspends for the first time, it's registered as a subscriber for that `SharedFlow` ([#​3885](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3885)). Before, it was also true, but not documented. - Atomicfu version is updated to 0.23.1, and Kotlin/Native atomic transformations are enabled, reducing the footprint of coroutine-heavy code ([#​3954](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3954)). - Added a workaround for miscompilation of `withLock` on JS ([#​3881](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3881)). Thanks [@​CLOVIS-AI](https://redirect.github.com/CLOVIS-AI)! - Small tweaks and documentation fixes. ##### Changelog relative to version 1.8.0-RC2 - `kotlinx-coroutines-debug` no longer requires manually setting `DebugProbes.enableCoroutineCreationStackTraces` to `false`, it's the default ([#​3783](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3783)). - Fixed a bug that caused `Flow` operators that limit cancel the upstream flow to forget that they were already finished if there is another such operator upstream ([#​4035](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4035), [#​4038](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4038)) - Small documentation fixes. ### [`v1.7.3`](https://redirect.github.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-173) [Compare Source](https://redirect.github.com/Kotlin/kotlinx.coroutines/compare/1.7.2...1.7.3) - Disabled the publication of the multiplatform library metadata for the old (1.6 and earlier) KMP Gradle plugin ([#​3809](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3809)). - Fixed a bug introduced in 1.7.2 that disabled the coroutine debugger in IDEA ([#​3822](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3822)). ### [`v1.7.2`](https://redirect.github.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-172) [Compare Source](https://redirect.github.com/Kotlin/kotlinx.coroutines/compare/1.7.1...1.7.2) ##### Bug fixes and improvements - Coroutines debugger no longer keeps track of coroutines with empty coroutine context ([#​3782](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3782)). - `CopyableThreadContextElement` now properly copies an element when crossing the coroutine boundary in `flowOn` ([#​3787](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3787)). Thanks [@​wanyingd1996](https://redirect.github.com/wanyingd1996)! - Coroutine timeouts no longer prevent K/N `newSingleThreadContext` from closing ([#​3768](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3768)). - A non-linearizability in `Mutex` during `tryLock`/`unlock` sequence with owners is fixed ([#​3745](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3745)). - Atomicfu version is updated to 0.21.0. ### [`v1.7.1`](https://redirect.github.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-171) [Compare Source](https://redirect.github.com/Kotlin/kotlinx.coroutines/compare/1.7.0...1.7.1) ##### Bug fixes and improvements - Special characters in coroutine names in JSON dumps are supported ([#​3747](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3747)) - The binary compatibility of the experimental overload of `runTest` is restored ([#​3673](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3673)) - Channels that don't use `onUndeliveredElement` now allocate less memory ([#​3646](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3646))

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.



This PR was generated by Mend Renovate. View the repository job log.

codecov[bot] commented 1 year ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 54.84%. Comparing base (5a39167) to head (f3ce8c1).

:exclamation: Current head f3ce8c1 differs from pull request most recent head 60fcc65. Consider uploading reports for the commit 60fcc65 to get more accurate results

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #349 +/- ## ========================================= Coverage 54.84% 54.84% Complexity 117 117 ========================================= Files 104 104 Lines 1732 1732 Branches 239 239 ========================================= Hits 950 950 Misses 672 672 Partials 110 110 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

github-actions[bot] commented 1 year ago

APK Size: WARNING: The APKs won't be signed and thus not installable unless you also pass a keystore via the flag --ks. See the command help for more information.