|
1 | 1 | # Change log for kotlinx.coroutines
|
2 | 2 |
|
| 3 | +## Version 0.19.2 |
| 4 | + |
| 5 | +* Fixed `ArrayBroadcastChannel` receive of stale elements on `openSubscription`. |
| 6 | + Only elements that are sent after invocation of `openSubscription` are received now. |
| 7 | +* Added a default value for `context` parameter to `rxFlowable` (see #146 by @PhilGlass). |
| 8 | +* Exception propagation logic from cancelled coroutines is adjusted (see #152): |
| 9 | + * When cancelled coroutine crashes due to some other exception, this other exception becomes the cancellation reason |
| 10 | + of the coroutine, while the original cancellation reason is suppressed. |
| 11 | + * `UnexpectedCoroutineException` is no longer used to report those cases as is removed. |
| 12 | + * This fixes a race between crash of CPU-consuming coroutine and cancellation which resulted in an unhandled exception |
| 13 | + and lead to crashes on Android. |
| 14 | +* `run` uses cancelling state & propagates exceptions when cancelled (see #147): |
| 15 | + * When coroutine that was switched into a different dispatcher using `run` is cancelled, the run invocation does not |
| 16 | + complete immediately, but waits until the body completes. |
| 17 | + * If the body completes with exception, then this exception is propagated. |
| 18 | +* No `Job` in `newSingleThreadContext` and `newFixedThreadPoolContext` anymore (see #149, #151): |
| 19 | + * This resolves the common issue of using `run(ctx)` where ctx comes from either `newSingleThreadContext` or |
| 20 | + `newFixedThreadPoolContext` invocation. They both used to return a combination of dispatcher + job, |
| 21 | + and this job was overriding the parent job, thus preventing propagation of cancellation. Not anymore. |
| 22 | + * `ThreadPoolDispatcher` class is now public and is the result type for both functions. |
| 23 | + It has the `close` method to release the thread pool. |
| 24 | + |
3 | 25 | ## Version 0.19.1
|
4 | 26 |
|
5 | 27 | * Failed parent Job cancels all children jobs, then waits for them them.
|
|
0 commit comments