|
1 | 1 | # Change log for kotlinx.coroutines
|
2 | 2 |
|
| 3 | +## Version 0.24.0 |
| 4 | + |
| 5 | +* Fully multiplatform release with Kotlin/Native support (see #246): |
| 6 | + * Only single-threaded operation inside `runBlocking` event loop is supported at this moment. |
| 7 | + * See details on setting up build environment [here](native/README.md). |
| 8 | +* Improved channels: |
| 9 | + * Introduced `SendChannel.invokeOnClose` (see #341). |
| 10 | + * Make `close`, `cancel`, `isClosedForSend`, `isClosedForReceive` and `offer` linearizable with other operations (see #359). |
| 11 | + * Fixed bug when send operation can be stuck in channel forever. |
| 12 | + * Fixed broadcast channels on JS (see #412). |
| 13 | +* Provides `BlockingChecker` mechanism which checks current context (see #227). |
| 14 | + * Attempts to use `runBlocking` from any supported UI thread (Android, JavaFx, Swing) will result in exception. |
| 15 | +* Android: |
| 16 | + * Worked around Android bugs with zero-size ForkJoinPool initialization (see #432, #288). |
| 17 | + * Introduced `UI.immediate` extension as performance-optimization to immediately execute tasks which are invoked from the UI thread (see #381). |
| 18 | + * Use it only when absolutely needed. It breaks asynchrony of coroutines and may lead to surprising and unexpected results. |
| 19 | +* Fixed materialization of a `cause` exception for `Job` onCancelling handlers (see #436). |
| 20 | +* Fixed JavaFx `UI` on Java 9 (see #443). |
| 21 | +* Fixed and documented the order between cancellation handlers and continuation resume (see #415). |
| 22 | +* Fixed resumption of cancelled continuation (see #450). |
| 23 | +* Includes multiple fixes to documentation contributed by @paolop, @SahilLone, @rocketraman, @bdavisx, @mtopolnik, @Groostav. |
| 24 | +* Experimental coroutines scheduler preview (JVM only): |
| 25 | + * Written from scratch and optimized for communicating coroutines. |
| 26 | + * Performs significantly better than ForkJoinPool on coroutine benchmarks and for connected applications with [ktor](http://ktor.io). |
| 27 | + * Supports automatic creating of new threads for blocking operations running on the same thread pool (with an eye on solving #79), but there is no stable public API for it just yet. |
| 28 | + * For preview, run JVM with `-Dkotlinx.coroutines.scheduler` option. In this case `DefaultDispatcher` is set to new experimental scheduler instead of FJP-based `CommonPool`. |
| 29 | + * Submit your feedback to issue #261. |
| 30 | + |
3 | 31 | ## Version 0.23.4
|
4 | 32 |
|
5 | 33 | * Recompiled with Kotlin 1.2.51 to solve broken metadata problem (see [KT-24944](https://youtrack.jetbrains.com/issue/KT-24944)).
|
|
0 commit comments