|
1 | 1 | # Change log for kotlinx.coroutines
|
2 | 2 |
|
| 3 | +## Version 1.0.1 |
| 4 | + |
| 5 | +* Align `publisher` implementation with Reactive TCK. |
| 6 | +* Reimplement `future` coroutine builders on top of `AbstractCoroutine` (#751). |
| 7 | +* Performance optimizations in `Dispatchers.Default` and `Dispatchers.IO`. |
| 8 | +* Use only public API during `JavaFx` instantiation, fixes warnings on Java 9 and build on Java 11 (#463). |
| 9 | +* Updated contract of `CancellableContinuation.resumeWithException` (documentation fix, see #712). |
| 10 | +* Check cancellation on fast-path of all in-place coroutine builders (`withContext`, `coroutineScope`, `supervisorScope`, `withTimeout` and `withTimeoutOrNull`). |
| 11 | +* Add optional prefix to thread names of `ExperimentalCoroutineDispatcher` (#661). |
| 12 | +* Fixed bug when `ExperimentalCoroutineDispatcher` could end up in inconsistent state if `Thread` constructor throws an exception (#748). |
| 13 | + |
3 | 14 | ## Version 1.0.0
|
4 | 15 |
|
5 |
| - * All Kotlin dependencies updated to 1.3 release version. |
6 |
| - * Fixed potential memory leak in `HandlerDispatcher.scheduleResumeAfterDelay`, thanks @cbeyls. |
7 |
| - * `yield` support for `Unconfined` and immediate dispatchers (#737). |
8 |
| - * Various documentation improvements. |
| 16 | +* All Kotlin dependencies updated to 1.3 release version. |
| 17 | +* Fixed potential memory leak in `HandlerDispatcher.scheduleResumeAfterDelay`, thanks @cbeyls. |
| 18 | +* `yield` support for `Unconfined` and immediate dispatchers (#737). |
| 19 | +* Various documentation improvements. |
9 | 20 |
|
10 | 21 | ## Version 1.0.0-RC1
|
11 | 22 |
|
12 |
| - * Coroutines API is updated to Kotlin 1.3. |
13 |
| - * Deprecated API is removed or marked as `internal`. |
14 |
| - * Experimental and internal coroutine API is marked with corresponding `kotlin.experimental.Experimental` annotation. If you are using `@ExperimentalCoroutinesApi` or `@InternalCoroutinesApi` you should explicitly opt-in, otherwise compilation warning (or error) will be produced. |
15 |
| - * `Unconfined` dispatcher (and all dispatchers which support immediate invocation) forms event-loop on top of current thread, thus preventing all `StackOverflowError`s. `Unconfined` dispatcher is now much safer for the general use and may leave its experimental status soon (#704). |
16 |
| - * Significantly improved performance of suspending hot loops in `kotlinx.coroutines` (#537). |
17 |
| - * Proguard rules are embedded into coroutines JAR to assist jettifier (#657) |
18 |
| - * Fixed bug in shutdown sequence of `runBlocking` (#692). |
19 |
| - * `ReceiveChannel.receiveOrNull` is marked as obsolete and deprecated. |
20 |
| - * `Job.cancel(cause)` and `ReceiveChannel.cancel(cause)` are deprecated, `cancel()` returns `Unit` (#713). |
| 23 | +* Coroutines API is updated to Kotlin 1.3. |
| 24 | +* Deprecated API is removed or marked as `internal`. |
| 25 | +* Experimental and internal coroutine API is marked with corresponding `kotlin.experimental.Experimental` annotation. If you are using `@ExperimentalCoroutinesApi` or `@InternalCoroutinesApi` you should explicitly opt-in, otherwise compilation warning (or error) will be produced. |
| 26 | +* `Unconfined` dispatcher (and all dispatchers which support immediate invocation) forms event-loop on top of current thread, thus preventing all `StackOverflowError`s. `Unconfined` dispatcher is now much safer for the general use and may leave its experimental status soon (#704). |
| 27 | +* Significantly improved performance of suspending hot loops in `kotlinx.coroutines` (#537). |
| 28 | +* Proguard rules are embedded into coroutines JAR to assist jettifier (#657) |
| 29 | +* Fixed bug in shutdown sequence of `runBlocking` (#692). |
| 30 | +* `ReceiveChannel.receiveOrNull` is marked as obsolete and deprecated. |
| 31 | +* `Job.cancel(cause)` and `ReceiveChannel.cancel(cause)` are deprecated, `cancel()` returns `Unit` (#713). |
21 | 32 |
|
22 | 33 | ## Version 0.30.2
|
23 | 34 |
|
24 |
| - * `Dispatchers.Main` is instantiated lazily (see #658 and #665). |
25 |
| - * Blocking coroutine dispatcher views are now shutdown properly (#678). |
26 |
| - * Prevent leaking Kotlin 1.3 from atomicfu dependency (#659). |
27 |
| - * Thread-pool based dispatcher factories are marked as obsolete (#261). |
28 |
| - * Fixed exception loss on `withContext` cancellation (#675). |
| 35 | +* `Dispatchers.Main` is instantiated lazily (see #658 and #665). |
| 36 | +* Blocking coroutine dispatcher views are now shutdown properly (#678). |
| 37 | +* Prevent leaking Kotlin 1.3 from atomicfu dependency (#659). |
| 38 | +* Thread-pool based dispatcher factories are marked as obsolete (#261). |
| 39 | +* Fixed exception loss on `withContext` cancellation (#675). |
29 | 40 |
|
30 | 41 | ## Version 0.30.1
|
31 | 42 |
|
32 |
| - Maintenance release: |
33 |
| - * Added `Dispatchers.Main` to common dispatchers, which can be used from Android, Swing and JavaFx projects if a corresponding integration library is added to dependencies. |
34 |
| - * With `Dispatchers.Main` improvement tooling bug in Android Studio #626 is mitigated, so Android users now can safely start the migration to the latest `kotlinx.coroutines` version. |
35 |
| - * Fixed bug with thread unsafety of shutdown sequence in `EventLoop`. |
36 |
| - * Experimental coroutine dispatcher now has `close` contract similar to Java `Executor`, so it can be safely instantiated and closed multiple times (affects only unit tests). |
37 |
| - * Atomicfu version is updated with fixes in JS transformer (see #609) |
| 43 | +Maintenance release: |
| 44 | +* Added `Dispatchers.Main` to common dispatchers, which can be used from Android, Swing and JavaFx projects if a corresponding integration library is added to dependencies. |
| 45 | +* With `Dispatchers.Main` improvement tooling bug in Android Studio #626 is mitigated, so Android users now can safely start the migration to the latest `kotlinx.coroutines` version. |
| 46 | +* Fixed bug with thread unsafety of shutdown sequence in `EventLoop`. |
| 47 | +* Experimental coroutine dispatcher now has `close` contract similar to Java `Executor`, so it can be safely instantiated and closed multiple times (affects only unit tests). |
| 48 | +* Atomicfu version is updated with fixes in JS transformer (see #609) |
38 | 49 |
|
39 | 50 | ## Version 0.30.0
|
40 | 51 |
|
|
0 commit comments