kotlinx.coroutines v1.4.3 Release Notes
-
General changes
- โช Thread context is properly preserved and restored for coroutines without
ThreadContextElement
(#985) - โก๏ธ
ThreadContextElement
s are now restored in the opposite order from update (#2195) - ๐ Improved performance of combine with 4 parameters, thanks to @alexvanyo (#2419)
- Debug agent sanitizer leaves at least one frame with source location (#1437)
- โก๏ธ Update Reactor version in
kotlinx-coroutines-reactor
to3.4.1
, thanks to @sokomishalov (#2432) callInPlace
contract added toReceiveChannel.consume
(#941)CoroutineStart.UNDISPATCHED
promoted to stable API (#1393)- โก๏ธ Kotlin updated to 1.4.30
- ๐
kotlinx.coroutines
are now released directly to MavenCentral - โฌ๏ธ Reduced the size of
DispatchedCoroutine
by a field - โฑ Internal class
TimeSource
renamed toSchedulerTimeSource
to prevent wildcard import issues (#2537)
๐ Bug fixes
- ๐ Fixed the problem that prevented implementation via delegation for
Job
interface (#2423) - ๐ Fixed incorrect ProGuard rules that allowed shrinking volatile felds (#1564)
- ๐ Fixed
await/
asDeferredfor
MinimalState` implementations in jdk8 module (#2456) - ๐ Fixed bug when
onUndeliveredElement
wasn't called for unlimited channels (#2435) - ๐ Fixed a bug when
ListenableFuture.isCancelled
returned fromasListenableFuture
could have thrown an exception, thanks to @vadimsemenov (#2421) - Coroutine in
callbackFlow
andproduce
is properly cancelled when the channel was closed separately (#2506)
- โช Thread context is properly preserved and restored for coroutines without