Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-android)
### [`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.
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 becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
1.8.0
->1.9.0
Release Notes
Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-android)
### [`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>` 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.
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 becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.