You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGES.md
+31-3
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,33 @@
1
1
# Change log for kotlinx.coroutines
2
2
3
+
## Version 1.2.0-alpha
4
+
5
+
* Major debug agent improvements. Real stacktraces are merged with coroutine stacktraces for running coroutines, merging heuristic is improved, API is cleaned up and is on its road to stabilization (#997).
6
+
*`CoroutineTimeout` rule or JUnit4 is introduced to simplify coroutines debugging (#938).
7
+
* Stacktrace recovery improvements. Exceptions with custom properties are no longer copied, `CopyableThrowable` interface is introduced, machinery is [documented](https://github.com/Kotlin/kotlinx.coroutines/blob/develop/docs/debugging.md) (#921, #950).
8
+
*`Dispatchers.Unconfined`, `MainCoroutineDispatcher.immediate`, `MainScope` and `CoroutineScope.cancel` are promoted to stable API (#972).
9
+
*`CompletableJob` is introduced (#971).
10
+
* Structured concurrency is integrated into futures and listenable futures (#1008).
11
+
*`ensurePresent` and `isPresent` extensions for `ThreadLocal` (#1028).
12
+
*`ensureActive` extensions for `CoroutineContext`, `CoroutineScope` and `Job` (#963).
13
+
*`SendChannel.isFull` and `ReceiveChannel.isEmpty` are deprecated (#1053).
14
+
*`withContext` checks cancellation on entering (#962).
15
+
* Operator `invoke` on `CoroutineDispatcher` (#428).
16
+
* Java 8 extensions for `delay` and `withTimeout` now properly handle too large values (#428).
17
+
* Performance of `Dispatcher.Main` initialization is significantly improved (#878).
18
+
* A global exception handler for fatal exceptions in coroutines is introduced (#808, #773).
19
+
* Major improvements in cancellation machinery and exceptions delivery consistency. Cancel with custom exception is completely removed.
20
+
* Kotlin version is updated to 1.3.21.
21
+
* Do not use private API on newer Androids to handle exceptions (#822).
22
+
23
+
Bug fixes:
24
+
* Proper `select` support in debug agent (#931).
25
+
* Proper `supervisorScope` support in debug agent (#915).
26
+
* Throwing `initCause` does no longer trigger an internal error (#933).
27
+
* Lazy actors are started when calling `close` in order to cleanup their resources (#939).
28
+
* Minor bugs in reactive integrations are fixed (#1008).
29
+
* Experimental scheduler shutdown sequence is fixed (#990).
30
+
3
31
## Version 1.1.1
4
32
5
33
* Maintenance release, no changes in the codebase
@@ -184,7 +212,7 @@ Visible consequences of include more robust exception handling for large corouti
184
212
* Introduced IO dispatcher to offload blocking I/O-intensive tasks (see #79).
185
213
* Introduced `ExecutorCoroutineDispatcher` instead of `CloseableCoroutineDispatcher` (see #385).
186
214
* Built with Kotlin 1.2.61 and Kotlin/Native 0.8.2.
187
-
* JAR files for `kotlinx-coroutines` are now [JEP 238](http://openjdk.java.net/jeps/238) multi-release JAR files.
215
+
* JAR files for `kotlinx-coroutines` are now [JEP 238](https://openjdk.java.net/jeps/238) multi-release JAR files.
188
216
* On JDK9+ `VarHandle` is used for atomic operations instead of `Atomic*FieldUpdater` for better performance.
189
217
* See [AtomicFu](https://github.com/Kotlin/kotlinx.atomicfu/blob/master/README.md) project for details.
190
218
* Reversed addition of `BlockingChecker` extension point to control where `runBlocking` can be used (see #227).
@@ -221,7 +249,7 @@ Visible consequences of include more robust exception handling for large corouti
221
249
* Includes multiple fixes to documentation contributed by @paolop, @SahilLone, @rocketraman, @bdavisx, @mtopolnik, @Groostav.
* Written from scratch and optimized for communicating coroutines.
224
-
* Performs significantly better than ForkJoinPool on coroutine benchmarks and for connected applications with [ktor](http://ktor.io).
252
+
* Performs significantly better than ForkJoinPool on coroutine benchmarks and for connected applications with [ktor](https://ktor.io).
225
253
* 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.
226
254
* For preview, run JVM with `-Dkotlinx.coroutines.scheduler` option. In this case `DefaultDispatcher` is set to new experimental scheduler instead of FJP-based `CommonPool`.
227
255
* Submit your feedback to issue #261.
@@ -514,7 +542,7 @@ Visible consequences of include more robust exception handling for large corouti
514
542
* Fixed bug in internal class LockFreeLinkedList that resulted in ISE under stress in extremely rare circumstances.
515
543
* Integrations:
516
544
*[quasar](integration/kotlinx-coroutines-quasar): Introduced integration with suspendable JVM functions
517
-
that are instrumented with [Parallel Universe Quasar](http://docs.paralleluniverse.co/quasar/)
545
+
that are instrumented with [Parallel Universe Quasar](https://docs.paralleluniverse.co/quasar/)
518
546
(thanks to the help of @pron).
519
547
*[reactor](reactive/kotlinx-coroutines-reactor): Replaced deprecated `setCancellation` with `onDipose` and
520
548
updated to Aluminium-SR3 release (courtesy of @yxf07, see #96)
This gives you access to Android [Dispatchers.Main](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-android/kotlinx.coroutines.android/kotlinx.coroutines.-dispatchers/index.html)
152
153
coroutine dispatcher and also makes sure that in case of crashed coroutine with unhandled exception this
0 commit comments