|
1 | 1 | # Change log for kotlinx.coroutines
|
2 | 2 |
|
| 3 | +## Version 0.20 |
| 4 | + |
| 5 | +* Migrated to Kotlin 1.2.0. |
| 6 | +* Channels: |
| 7 | + * Sequence-like `filter`, `map`, etc extensions on `ReceiveChannel` are introduced (see #88 by @fvasco and #69 by @konrad-kaminski). |
| 8 | + * Introduced `ReceiveChannel.cancel` method. |
| 9 | + * All operators on `ReceiveChannel` fully consume the original channel (`cancel` it when they are done) using a helper `consume` extension. |
| 10 | + * Deprecated `ActorJob` and `ProducerJob`; `actor` now returns `SendChannel` and `produce` returns `ReceiveChannel` (see #127). |
| 11 | + * `SendChannel.sendBlocking` extension method (see #157 by @@fvasco). |
| 12 | +* Parent-child relations between coroutines: |
| 13 | + * Introduced an optional `parent` job parameter for all coroutine builders so that code with an explict parent `Job` is more natural. |
| 14 | + * Added `parent` parameter to `CompletableDeferred` constructor. |
| 15 | + * Introduced `Job.children` property. |
| 16 | + * `Job.cancelChildren` is now an extension (member is deprecated and hidden). |
| 17 | + * `Job.joinChildren` extension is introduced. |
| 18 | + * Deprecated `Job.attachChild` as a error-prone API. |
| 19 | + * Fixed StackOverflow when waiting for a lot of completed children that did not remove their handlers from the parent. |
| 20 | +* Use `java.util.ServiceLoader` to find default instances of `CoroutineExceptionHandler`. |
| 21 | +* Android UI integration: |
| 22 | + * Use `Thread.getUncaughtExceptionPreHandler` to make sure that exceptions are logged before crash (see #148). |
| 23 | + * Introduce `UI.awaitFrame` for animation; added sample coroutine-based animation application for Android [here](ui/kotlinx-coroutines-android/animation-app). |
| 24 | + * Fixed `delay(Long.MAX_VALUE)` (see #161) |
| 25 | +* Added missing `DefaultDispatcher` on some reactive operators (see #174 by @fvasco) |
| 26 | +* Fixed `actor` and `produce` so that a cancellation of a Job cancels the underlying channel (closes and removes all the pending messages). |
| 27 | +* Fixed sporadic failure of `example-context-06` (see #160) |
| 28 | +* Fixed hang of `Job.start` on lazy coroutine with attached `invokeOnCompletion` handler. |
| 29 | +* A more gradual introduction to `runBlocking` and coroutines in the [guide](coroutines-guide.md) (see #166). |
| 30 | + |
3 | 31 | ## Version 0.19.3
|
4 | 32 |
|
5 | 33 | * Fixed `send`/`openSubscription` race in `ArrayBroadcastChannel`.
|
|
0 commit comments