Skip to content

Commit

Permalink
Version 0.27.0
Browse files Browse the repository at this point in the history
  • Loading branch information
qwwdfsad committed Sep 26, 2018
1 parent 5148d49 commit 49d2f6d
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 9 deletions.
28 changes: 28 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# Change log for kotlinx.coroutines

## Version 0.27.0

* **[Major]** Public API revision. All public API was reviewed and marked as preparation to `1.0` release:
1. `@Deprecated` API. All API marked as deprecated will be removed in 1.0 release without replacement.
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.
3. `@InternalCoroutinesApi`. This API is intended to be used **only** from within `kotlinx.coroutines`. It can and will be changed, broken
and removed in the future releases without any warnings and migration aids. If you find yourself using this API, it is better to report
your use-case to Github issues, so decent, stable and well-tested alternative can be provided.
4. `@ObsoleteCoroutinesApi`. This API has serious known flaws and will be replaced with a better alternative in the nearest releases.
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
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.
* **[Major]** Job state machine is reworked. It includes various performance improvements, fixes in
data-races which could appear in a rare circumstances and consolidation of cancellation and exception handling.
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).
* NIO, Quasar and Rx1 integration modules are removed with no replacement (see #595, #601, #603).
* `withContext` is now aligned with structured concurrency and awaits for all launched tasks, its performance is significantly improved (see #553 and #617).
* Added integration module with Play Services Task API. Thanks @SUPERCILEX and @lucasvalenteds for the contribution!
* Integration with Rx2 now respects nullability in type constraints (see #347). Thanks @Dmitry-Borodin for the contribution!
* `CompletableFuture.await` and `ListenableFuture.await` now propagate cancellation the the future (see #611).
* Cancellation of `runBlocking` machinery is improved (see #589).
* Coroutine guide is restructured and split to multiple files for the sake of simplicity.
* `CoroutineScope` factory methods add `Job` if it is missing from the context to enforce structured concurrency (see #610).
* `Handler.asCoroutineDispatcher` has a `name` parameter for better debugging (see #615).
* Fixed bug when `CoroutineSchedule` was closed from one of its threads (see #612).
* Exceptions from `CoroutineExceptionHandler` are reported by default exception handler (see #562).
* `CoroutineName` is now available from common modules (see #570).
* Update to Kotlin 1.2.70.

## Version 0.26.1
* Android `Main` dispatcher is `async` by default which may significantly improve UI performance. Contributed by @JakeWharton (see #427).
* Fixed bug when lazily-started coroutine with registered cancellation handler was concurrently started and cancelled.
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
[![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](http://www.apache.org/licenses/LICENSE-2.0)
[![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)
[![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)

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

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

```groovy
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.26.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.27.0'
```

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

```groovy
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:0.26.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:0.27.0'
```
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)
coroutine dispatcher and also makes sure that in case of crashed coroutine with unhandled exception this
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Kotlin
version=0.26.1-SNAPSHOT
version=0.27.0-SNAPSHOT
group=org.jetbrains.kotlinx
kotlin_version=1.2.70
kotlin_native_version=0.8.2
Expand Down
2 changes: 1 addition & 1 deletion native/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ repositories {
}
dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core-native:0.26.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core-native:0.27.0'
}
sourceSets {
Expand Down
2 changes: 1 addition & 1 deletion ui/coroutines-guide-ui.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ Add dependencies on `kotlinx-coroutines-android` module to the `dependencies { .
`app/build.gradle` file:

```groovy
compile "org.jetbrains.kotlinx:kotlinx-coroutines-android:0.26.1"
compile "org.jetbrains.kotlinx:kotlinx-coroutines-android:0.27.0"
```

Coroutines are experimental feature in Kotlin.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@ org.gradle.jvmargs=-Xmx1536m
kotlin.coroutines=enable

kotlin_version=1.2.70
coroutines_version=0.26.1
coroutines_version=0.27.0

Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@ org.gradle.jvmargs=-Xmx1536m
kotlin.coroutines=enable

kotlin_version=1.2.70
coroutines_version=0.26.1
coroutines_version=0.27.0

0 comments on commit 49d2f6d

Please sign in to comment.