1.3.0-RC2
Flow improvements
-
Operators for UI programming are reworked for the sake of consistency, naming scheme for operator overloads is introduced:
combineLatestis deprecated in the favor ofcombine.combineTransformoperator for non-trivial transformations (#1224).- Top-level
combineandcombineTransformoverloads for multiple flows (#1262). switchMapis deprecated.flatMapLatest,mapLatestandtransformLatestare introduced instead (#1335).collectLatestterminal operator (#1269).
-
Improved cancellation support in
flattenMerge(#1392). -
channelFlowcancellation does not leak to the parent (#1334). -
Fixed flow invariant enforcement for
suspend fun main(#1421). -
delayEachanddelayFloware deprecated (#1429).
General changes
-
Integration with Reactor context
- Propagation of the coroutine context of
awaitcalls into Mono/Flux builder. - Publisher.asFlow propagates coroutine context from
collectcall to the Publisher. - New
Flow.asFluxbuilder.
- 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-guavaupdated to28.0. -
setTimeout-based JS dispatcher for platforms whereprocessis unavailable (#1404). -
Native, JS and common modules are added to
kotlinx-coroutines-bom. -
Fixed bug with ignored
acquiredPermitsinSemaphore(#1423).