Releases
0.20
Compare
Sorry, something went wrong.
No results found
Migrated to Kotlin 1.2.0.
Channels:
Sequence-like filter, map, etc extensions on ReceiveChannel are introduced (see #88 by @fvasco and #69 by @konrad-kaminski ).
Introduced ReceiveChannel.cancel method.
All operators on ReceiveChannel fully consume the original channel (cancel it when they are done) using a helper consume extension.
Deprecated ActorJob and ProducerJob; actor now returns SendChannel and produce returns ReceiveChannel (see #127 ).
SendChannel.sendBlocking extension method (see #157 by @fvasco ).
Parent-child relations between coroutines:
Introduced an optional parent job parameter for all coroutine builders so that code with an explict parent Job is more natural.
Added parent parameter to CompletableDeferred constructor.
Introduced Job.children property.
Job.cancelChildren is now an extension (member is deprecated and hidden).
Job.joinChildren extension is introduced.
Deprecated Job.attachChild as a error-prone API.
Fixed StackOverflow when waiting for a lot of completed children that did not remove their handlers from the parent.
Use java.util.ServiceLoader to find default instances of CoroutineExceptionHandler.
Android UI integration:
Use Thread.getUncaughtExceptionPreHandler to make sure that exceptions are logged before crash (see #148 ).
Introduce UI.awaitFrame for animation; added sample coroutine-based animation application for Android here .
Fixed delay(Long.MAX_VALUE) (see #161 )
Added missing DefaultDispatcher on some reactive operators (see #174 by @fvasco )
Fixed actor and produce so that a cancellation of a Job cancels the underlying channel (closes and removes all the pending messages).
Fixed sporadic failure of example-context-06 (see #160 )
Fixed hang of Job.start on lazy coroutine with attached invokeOnCompletion handler.
A more gradual introduction to runBlocking and coroutines in the guide (see #166 ).
You can’t perform that action at this time.