New
1.9.0
Features
- Wasm/WASI target support (#4064). Thanks, @igoriakovlev!
limitedParallelismnow optionally accepts the name of the dispatcher view for easier debugging (#4023).- No longer initialize
Dispatchers.IOon the JVM when other standard dispatchers are accessed (#4166). Thanks, @metalhead8816! - Introduced the
Flow<T>.chunked(size: Int): Flow<List<T>>operator that groups emitted values into groups of the given size (#1290). - Closeable dispatchers are instances of
AutoCloseablenow (#4123).
Fixes
- Calling
hasNexton aChannel's iterator is idempotent (#4065). Thanks, @gitpaxultek! CoroutineScope()created without an explicit dispatcher usesDispatchers.Defaulton Native (#4074). Thanks, @whyoleg!- Fixed a bug that prevented non-Android
Dispatchers.Mainfrom initializing when the Firebase dependency is used (#3914). - Ensured a more intuitive ordering of tasks in
runBlocking(#4134). - Forbid casting a
MutextoSemaphore(#4176). - Worked around a stack overflow that may occur when calling
asDeferredon aFuturemany times (#4156).
Deprecations and promotions
- Advanced the deprecation levels for
BroadcastChannel-based API (#4197). - Advanced the deprecation levels for the old
kotlinx-coroutines-testAPI (#4198). - Deprecated
Job.cancelFutureOnCompletion(#4173). - Promoted
CoroutineDispatcher.limitedParallelismto stable (#3864). - Promoted
CoroutineStart.ATOMICfromExperimentalCoroutinesApitoDelicateCoroutinesApi(#4169). - Promoted
CancellableContinuation.resumewith anonCancellationlambda to stable, providing extra arguments to the lambda (#4088). - Marked the classes and interfaces that are not supposed to be inherited from with the new
InternalForInheritanceCoroutinesApiopt-in (#3770). - Marked the classes and interfaces inheriting from which is not stable with the new
ExperimentalForInheritanceCoroutinesApiopt-in (#3770).
Other
- Kotlin was updated to 2.0 (#4137).
- Reworked the documentation for
CoroutineStartandChannel-based API (#4147, #4148, #4167). Thanks, @globsterg! - Simplified the internal implementation of
Job(#4053). - Small tweaks, fixes, and documentation improvements.