Skip to content

Commit 49d2f6d

Browse files
committed
Version 0.27.0
1 parent 5148d49 commit 49d2f6d

File tree

7 files changed

+37
-9
lines changed

7 files changed

+37
-9
lines changed

CHANGES.md

+28
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,33 @@
11
# Change log for kotlinx.coroutines
22

3+
## Version 0.27.0
4+
5+
* **[Major]** Public API revision. All public API was reviewed and marked as preparation to `1.0` release:
6+
1. `@Deprecated` API. All API marked as deprecated will be removed in 1.0 release without replacement.
7+
2. `@ExperimentalCoroutinesApi` API. This API is experimental and may change in the future, but migration mechanisms will be provided. Signature, binary compatibility and semantics can be changed.
8+
3. `@InternalCoroutinesApi`. This API is intended to be used **only** from within `kotlinx.coroutines`. It can and will be changed, broken
9+
and removed in the future releases without any warnings and migration aids. If you find yourself using this API, it is better to report
10+
your use-case to Github issues, so decent, stable and well-tested alternative can be provided.
11+
4. `@ObsoleteCoroutinesApi`. This API has serious known flaws and will be replaced with a better alternative in the nearest releases.
12+
5. Regular public API. This API is proven to be stable and is not going to be changed. If at some point it will be discovered that such API
13+
has unfixable design flaws, it will be gradually deprecated with proper replacement and migration aid, but won't be removed for at least a year.
14+
* **[Major]** Job state machine is reworked. It includes various performance improvements, fixes in
15+
data-races which could appear in a rare circumstances and consolidation of cancellation and exception handling.
16+
Visible consequences of include more robust exception handling for large coroutines hierarchies and for different kinds of `CancellationException`, transparent parallel decomposition and consistent view of coroutines hierarchy in terms of its state (see #220 and #585).
17+
* NIO, Quasar and Rx1 integration modules are removed with no replacement (see #595, #601, #603).
18+
* `withContext` is now aligned with structured concurrency and awaits for all launched tasks, its performance is significantly improved (see #553 and #617).
19+
* Added integration module with Play Services Task API. Thanks @SUPERCILEX and @lucasvalenteds for the contribution!
20+
* Integration with Rx2 now respects nullability in type constraints (see #347). Thanks @Dmitry-Borodin for the contribution!
21+
* `CompletableFuture.await` and `ListenableFuture.await` now propagate cancellation the the future (see #611).
22+
* Cancellation of `runBlocking` machinery is improved (see #589).
23+
* Coroutine guide is restructured and split to multiple files for the sake of simplicity.
24+
* `CoroutineScope` factory methods add `Job` if it is missing from the context to enforce structured concurrency (see #610).
25+
* `Handler.asCoroutineDispatcher` has a `name` parameter for better debugging (see #615).
26+
* Fixed bug when `CoroutineSchedule` was closed from one of its threads (see #612).
27+
* Exceptions from `CoroutineExceptionHandler` are reported by default exception handler (see #562).
28+
* `CoroutineName` is now available from common modules (see #570).
29+
* Update to Kotlin 1.2.70.
30+
331
## Version 0.26.1
432
* Android `Main` dispatcher is `async` by default which may significantly improve UI performance. Contributed by @JakeWharton (see #427).
533
* Fixed bug when lazily-started coroutine with registered cancellation handler was concurrently started and cancelled.

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
44
[![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](http://www.apache.org/licenses/LICENSE-2.0)
5-
[![Download](https://api.bintray.com/packages/kotlin/kotlinx/kotlinx.coroutines/images/download.svg?version=0.26.1) ](https://bintray.com/kotlin/kotlinx/kotlinx.coroutines/0.26.1)
5+
[![Download](https://api.bintray.com/packages/kotlin/kotlinx/kotlinx.coroutines/images/download.svg?version=0.27.0) ](https://bintray.com/kotlin/kotlinx/kotlinx.coroutines/0.27.0)
66

77
Library support for Kotlin coroutines with [multiplatform](#multiplatform) support.
88
This is a companion version for Kotlin 1.2.70 release.
@@ -63,7 +63,7 @@ Add dependencies (you can also add other modules that you need):
6363
<dependency>
6464
<groupId>org.jetbrains.kotlinx</groupId>
6565
<artifactId>kotlinx-coroutines-core</artifactId>
66-
<version>0.26.1</version>
66+
<version>0.27.0</version>
6767
</dependency>
6868
```
6969

@@ -80,7 +80,7 @@ And make sure that you use the latest Kotlin version:
8080
Add dependencies (you can also add other modules that you need):
8181

8282
```groovy
83-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.26.1'
83+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.27.0'
8484
```
8585

8686
And make sure that you use the latest Kotlin version:
@@ -113,7 +113,7 @@ Add [`kotlinx-coroutines-android`](ui/kotlinx-coroutines-android)
113113
module as dependency when using `kotlinx.coroutines` on Android:
114114

115115
```groovy
116-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:0.26.1'
116+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:0.27.0'
117117
```
118118
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)
119119
coroutine dispatcher and also makes sure that in case of crashed coroutine with unhandled exception this

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Kotlin
2-
version=0.26.1-SNAPSHOT
2+
version=0.27.0-SNAPSHOT
33
group=org.jetbrains.kotlinx
44
kotlin_version=1.2.70
55
kotlin_native_version=0.8.2

native/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ repositories {
4242
}
4343
4444
dependencies {
45-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core-native:0.26.1'
45+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core-native:0.27.0'
4646
}
4747
4848
sourceSets {

ui/coroutines-guide-ui.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ Add dependencies on `kotlinx-coroutines-android` module to the `dependencies { .
161161
`app/build.gradle` file:
162162

163163
```groovy
164-
compile "org.jetbrains.kotlinx:kotlinx-coroutines-android:0.26.1"
164+
compile "org.jetbrains.kotlinx:kotlinx-coroutines-android:0.27.0"
165165
```
166166

167167
Coroutines are experimental feature in Kotlin.

ui/kotlinx-coroutines-android/animation-app/gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ org.gradle.jvmargs=-Xmx1536m
1919
kotlin.coroutines=enable
2020

2121
kotlin_version=1.2.70
22-
coroutines_version=0.26.1
22+
coroutines_version=0.27.0
2323

ui/kotlinx-coroutines-android/example-app/gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ org.gradle.jvmargs=-Xmx1536m
1919
kotlin.coroutines=enable
2020

2121
kotlin_version=1.2.70
22-
coroutines_version=0.26.1
22+
coroutines_version=0.27.0
2323

0 commit comments

Comments
 (0)