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
+21
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,26 @@
1
1
# Change log for kotlinx.coroutines
2
2
3
+
## Version 0.26.0
4
+
* Major rework of `kotlinx.coroutines` concurrency model (see #410 for a full explanation of the rationale behind this change):
5
+
* All coroutine builders are now extensions on `CoroutineScope` and inherit its `coroutineContext`. Standalone builders are deprecated.
6
+
* As a consequence, all nested coroutines launched via builders now automatically establish parent-child relationship and inherit `CoroutineDispatcher`.
7
+
* All coroutine builders use `Dispatchers.Default` by default if `CoroutineInterceptor` is not present in their context.
8
+
*[CoroutineScope](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.experimental/-coroutine-scope/) became the first-class citizen in `kolinx.coroutines`.
9
+
*`withContext``block` argument has `CoroutineScope` as a receiver.
10
+
*[GlobalScope](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.experimental/-global-scope/) is introduced to simplify migration to new API and to launch global-level coroutines.
11
+
*`currentScope` and `coroutineScope` builders are introduced to extract and provide `CoroutineScope`.
12
+
* Factory methods to create `CoroutineScope` from `CoroutineContext` are introduced.
13
+
*`CoroutineScope.isActive` became an extension property.
14
+
* New sections about structured concurrency in core guide: ["Structured concurrency"](coroutines-guide.md#structured-concurrency), ["Scope builder"](coroutines-guide.md#scope-builder) and ["Structured concurrency with async"](coroutines-guide.md#structured-concurrency-with-async).
15
+
* New section in UI guide with Android example: ["Structured concurrency, lifecycle and coroutine parent-child hierarchy"](ui/coroutines-guide-ui.md#structured-concurrency,-lifecycle-and-coroutine-parent-child-hierarchy).
16
+
* Deprecated reactive API is removed.
17
+
* Dispatchers are renamed and grouped in the Dispatchers object (see #41 and #533):
18
+
* Dispatcher names are consistent.
19
+
* Old dispatchers including `CommonPool` are deprecated.
20
+
* Fixed bug with JS error in rare cases in `invokeOnCompletion(onCancelling = true)`.
21
+
* Fixed loading of Android exception handler when `Thread.contextClassLoader` is mocked (see #530).
22
+
* Fixed bug when `IO` dispatcher silently hung (see #524 and #525) .
23
+
3
24
## Version 0.25.3
4
25
5
26
* Distribution no longer uses multi-version jar which is not supported on Android (see #510).
This gives you access to Android [UI](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-android/kotlinx.coroutines.experimental.android/-u-i.html)
118
+
This gives you access to Android [Dispatchers.Main](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-android/kotlinx.coroutines.experimental.android/kotlinx.coroutines.experimental.-dispatchers/index.html)
120
119
coroutine dispatcher and also makes sure that in case of crashed coroutine with unhandled exception this
121
120
exception is logged before crashing Android application, similarly to the way uncaught exceptions in
0 commit comments