1.3.0-RC2
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).