kotlinx.coroutines v1.3.0-RC2 Release Notes
-
Flow improvements
๐ป Operators for UI programming are reworked for the sake of consistency, naming scheme for operator overloads is introduced:
combineLatest
is deprecated in the favor ofcombine
.combineTransform
operator for non-trivial transformations (#1224).- Top-level
combine
andcombineTransform
overloads for multiple flows (#1262). switchMap
is deprecated.flatMapLatest
,mapLatest
andtransformLatest
are introduced instead (#1335).collectLatest
terminal operator (#1269).
๐ Improved cancellation support in
flattenMerge
(#1392).channelFlow
cancellation does not leak to the parent (#1334).๐ Fixed flow invariant enforcement for
suspend fun main
(#1421).๐
delayEach
anddelayFlow
are deprecated (#1429).
General changes
Integration with Reactor context
- Propagation of the coroutine context of
await
calls into Mono/Flux builder. - Publisher.asFlow propagates coroutine context from
collect
call to the Publisher. - New
Flow.asFlux
builder.
- Propagation of the coroutine context of
ServiceLoader-code is adjusted to avoid I/O on the Main thread on newer (3.6.0+) Android toolchain.
๐ Stacktrace recovery support for minified builds on Android (#1416).
โก๏ธ Guava version in
kotlinx-coroutines-guava
updated to28.0
.setTimeout
-based JS dispatcher for platforms whereprocess
is unavailable (#1404).Native, JS and common modules are added to
kotlinx-coroutines-bom
.๐ Fixed bug with ignored
acquiredPermits
inSemaphore
(#1423).