Skip to content

Commit 2dafc49

Browse files
committed
Version 0.19
1 parent 7ba3ed5 commit 2dafc49

File tree

22 files changed

+71
-24
lines changed

22 files changed

+71
-24
lines changed

CHANGES.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,52 @@
11
# Change log for kotlinx.coroutines
22

3+
## Version 0.19
4+
5+
* This release is published to Maven Central.
6+
* `DefaultDispatcher` is introduced (see #136):
7+
* `launch`, `async`, `produce`, `actor` and other integration-specific coroutine builders now use
8+
`DefaultDispatcher` as the default value for their `context` parameter.
9+
* When a context is explicitly specified, `newCoroutineContext` function checks if there is any
10+
interceptor/dispatcher defined in the context and uses `DefaultDispatcher` if there is none.
11+
* `DefaultDispatcher` is currently defined to be equal to `CommonPool`.
12+
* Examples in the [guide](coroutines-guide.md) now start with `launch { ... }` code and explanation on the nature
13+
and the need for coroutine context starts in "Coroutine context and dispatchers" section.
14+
* Parent coroutines now wait for their children (see #125):
15+
* Job _completing_ state is introduced in documentation as a state in which parent coroutine waits for its children.
16+
* `Job.attachChild` and `Job.cancelChildren` are introduced.
17+
* `Job.join` now always checks cancellation status of invoker coroutine for predictable behavior when joining
18+
failed child coroutine.
19+
* `Job.cancelAndJoin` extension is introduced.
20+
* `CoroutineContext.cancel` and `CoroutineContext.cancelChildren` extensions are introduced for convenience.
21+
* `withTimeout`/`withTimeoutOrNull` blocks become proper coroutines that have `CoroutineScope` and wait for children, too.
22+
* Diagnostics in cancellation and unexpected exception messages are improved,
23+
coroutine name is included in debug mode.
24+
* Fixed cancellable suspending functions to throw `CancellationException` (as was documented before) even when
25+
the coroutine is cancelled with another application-specific exception.
26+
* `JobCancellationException` is introduced as a specific subclass of `CancellationException` which is
27+
used for coroutines that are cancelled without cause and to wrap application-specific exceptions.
28+
* `Job.getCompletionException` is renamed to `Job.getCancellationException` and return a wrapper exception if needed.
29+
* Introduced `Deferred.getCompletionExceptionOrNull` to get not-wrapped exception result of `async` task.
30+
* Updated docs for `Job` & `Deferred` to explain parent/child relations.
31+
* `select` expression is modularized:
32+
* `SelectClause(0,1,2)` interfaces are introduced, so that synchronization
33+
constructs can define their select clauses without having to modify
34+
the source of the `SelectBuilder` in `kotlinx-corounes-core` module.
35+
* `Job.onJoin`, `Deferred.onAwait`, `Mutex.onLock`, `SendChannel.onSend`, `ReceiveChannel.onReceive`, etc
36+
that were functions before are now properties returning the corresponding select clauses. Old functions
37+
are left in bytecode for backwards compatibility on use-site, but any outside code that was implementing those
38+
interfaces by itself must be updated.
39+
* This opens road to moving channels into a separate module in future updates.
40+
* Renamed `TimeoutException` to `TimeoutCancellationException` (old name is deprecated).
41+
* Fixed various minor problems:
42+
* JavaFx toolkit is now initialized by `JavaFx` context (see #108).
43+
* Fixed lost ACC_STATIC on <clinit> methods (see #116).
44+
* Fixed link to source code from documentation (see #129).
45+
* Fixed `delay` in arbitrary contexts (see #133).
46+
* `kotlinx-coroutines-io` module is introduced. It is a work-in-progress on `ByteReadChannel` and `ByteWriteChannel`
47+
interfaces, their implementations, and related classes to enable convenient coroutine integration with various
48+
asynchronous I/O libraries and sockets. It is currently _unstable_ and **will change** in the next release.
49+
350
## Version 0.18
451

552
* Kotlin 1.1.4 is required to use this version, which enables:

README.md

Lines changed: 3 additions & 3 deletions
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.18) ](https://bintray.com/kotlin/kotlinx/kotlinx.coroutines/0.18)
5+
[![Download](https://api.bintray.com/packages/kotlin/kotlinx/kotlinx.coroutines/images/download.svg?version=0.19) ](https://bintray.com/kotlin/kotlinx/kotlinx.coroutines/0.19)
66

77
Library support for Kotlin coroutines.
88
This is a companion version for Kotlin 1.1.4 release (this is the minimal required Kotlin runtime version).
@@ -51,7 +51,7 @@ Add dependencies (you can also add other modules that you need):
5151
<dependency>
5252
<groupId>org.jetbrains.kotlinx</groupId>
5353
<artifactId>kotlinx-coroutines-core</artifactId>
54-
<version>0.18</version>
54+
<version>0.19</version>
5555
</dependency>
5656
```
5757

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

7070
```groovy
71-
compile 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.18'
71+
compile 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.19'
7272
```
7373

7474
And make sure that you use the latest Kotlin version:

benchmarks/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<parent>
2525
<groupId>org.jetbrains.kotlinx</groupId>
2626
<artifactId>kotlinx-coroutines</artifactId>
27-
<version>0.18-SNAPSHOT</version>
27+
<version>0.19-SNAPSHOT</version>
2828
</parent>
2929

3030
<artifactId>benchmarks</artifactId>

core/kotlinx-coroutines-core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>org.jetbrains.kotlinx</groupId>
2424
<artifactId>kotlinx-coroutines</artifactId>
25-
<version>0.18-SNAPSHOT</version>
25+
<version>0.19-SNAPSHOT</version>
2626
<relativePath>../../pom.xml</relativePath>
2727
</parent>
2828

core/kotlinx-coroutines-io/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>kotlinx-coroutines</artifactId>
77
<groupId>org.jetbrains.kotlinx</groupId>
8-
<version>0.18-SNAPSHOT</version>
8+
<version>0.19-SNAPSHOT</version>
99
<relativePath>../../pom.xml</relativePath>
1010
</parent>
1111
<modelVersion>4.0.0</modelVersion>

integration/kotlinx-coroutines-guava/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>org.jetbrains.kotlinx</groupId>
2323
<artifactId>kotlinx-coroutines</artifactId>
24-
<version>0.18-SNAPSHOT</version>
24+
<version>0.19-SNAPSHOT</version>
2525
<relativePath>../../pom.xml</relativePath>
2626
</parent>
2727

integration/kotlinx-coroutines-jdk8/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>org.jetbrains.kotlinx</groupId>
2323
<artifactId>kotlinx-coroutines</artifactId>
24-
<version>0.18-SNAPSHOT</version>
24+
<version>0.19-SNAPSHOT</version>
2525
<relativePath>../../pom.xml</relativePath>
2626
</parent>
2727

integration/kotlinx-coroutines-nio/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>org.jetbrains.kotlinx</groupId>
2424
<artifactId>kotlinx-coroutines</artifactId>
25-
<version>0.18-SNAPSHOT</version>
25+
<version>0.19-SNAPSHOT</version>
2626
<relativePath>../../pom.xml</relativePath>
2727
</parent>
2828

integration/kotlinx-coroutines-quasar/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>org.jetbrains.kotlinx</groupId>
2323
<artifactId>kotlinx-coroutines</artifactId>
24-
<version>0.18-SNAPSHOT</version>
24+
<version>0.19-SNAPSHOT</version>
2525
<relativePath>../../pom.xml</relativePath>
2626
</parent>
2727

knit/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>org.jetbrains.kotlinx</groupId>
2323
<artifactId>kotlinx-coroutines</artifactId>
24-
<version>0.18-SNAPSHOT</version>
24+
<version>0.19-SNAPSHOT</version>
2525
</parent>
2626

2727
<artifactId>knit</artifactId>

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
<groupId>org.jetbrains.kotlinx</groupId>
2525
<artifactId>kotlinx-coroutines</artifactId>
26-
<version>0.18-SNAPSHOT</version>
26+
<version>0.19-SNAPSHOT</version>
2727
<packaging>pom</packaging>
2828

2929
<name>kotlinx-coroutines</name>
@@ -44,7 +44,7 @@
4444
<kotlin.version>1.1.51</kotlin.version>
4545
<dokka.version>0.9.15</dokka.version>
4646
<junit.version>4.12</junit.version>
47-
<atomicfu.version>0.7</atomicfu.version>
47+
<atomicfu.version>0.8</atomicfu.version>
4848
<maven.compiler.source>1.6</maven.compiler.source>
4949
<maven.compiler.target>1.6</maven.compiler.target>
5050
<core.docs.url>https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/</core.docs.url>

reactive/kotlinx-coroutines-reactive/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>org.jetbrains.kotlinx</groupId>
2424
<artifactId>kotlinx-coroutines</artifactId>
25-
<version>0.18-SNAPSHOT</version>
25+
<version>0.19-SNAPSHOT</version>
2626
<relativePath>../../pom.xml</relativePath>
2727
</parent>
2828

reactive/kotlinx-coroutines-reactor/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>org.jetbrains.kotlinx</groupId>
2525
<artifactId>kotlinx-coroutines</artifactId>
26-
<version>0.18-SNAPSHOT</version>
26+
<version>0.19-SNAPSHOT</version>
2727
<relativePath>../../pom.xml</relativePath>
2828
</parent>
2929

reactive/kotlinx-coroutines-rx-example/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>org.jetbrains.kotlinx</groupId>
2424
<artifactId>kotlinx-coroutines</artifactId>
25-
<version>0.18-SNAPSHOT</version>
25+
<version>0.19-SNAPSHOT</version>
2626
<relativePath>../../pom.xml</relativePath>
2727
</parent>
2828

reactive/kotlinx-coroutines-rx1/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>org.jetbrains.kotlinx</groupId>
2424
<artifactId>kotlinx-coroutines</artifactId>
25-
<version>0.18-SNAPSHOT</version>
25+
<version>0.19-SNAPSHOT</version>
2626
<relativePath>../../pom.xml</relativePath>
2727
</parent>
2828

reactive/kotlinx-coroutines-rx2/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>org.jetbrains.kotlinx</groupId>
2424
<artifactId>kotlinx-coroutines</artifactId>
25-
<version>0.18-SNAPSHOT</version>
25+
<version>0.19-SNAPSHOT</version>
2626
<relativePath>../../pom.xml</relativePath>
2727
</parent>
2828

site/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>org.jetbrains.kotlinx</groupId>
2424
<artifactId>kotlinx-coroutines</artifactId>
25-
<version>0.18-SNAPSHOT</version>
25+
<version>0.19-SNAPSHOT</version>
2626
</parent>
2727

2828
<artifactId>kotlinx-coroutines-site</artifactId>

ui/coroutines-guide-ui.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ Add dependencies on `kotlinx-coroutines-android` module to the `dependencies { .
173173
`app/build.gradle` file:
174174

175175
```groovy
176-
compile "org.jetbrains.kotlinx:kotlinx-coroutines-android:0.18"
176+
compile "org.jetbrains.kotlinx:kotlinx-coroutines-android:0.19"
177177
```
178178

179179
Coroutines are experimental feature in Kotlin.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ dependencies {
3636
compile 'com.android.support:design:25.2.0'
3737
testCompile 'junit:junit:4.12'
3838
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
39-
compile "org.jetbrains.kotlinx:kotlinx-coroutines-android:0.18"
39+
compile "org.jetbrains.kotlinx:kotlinx-coroutines-android:0.19"
4040
}
4141

4242
kotlin {

ui/kotlinx-coroutines-android/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>org.jetbrains.kotlinx</groupId>
2424
<artifactId>kotlinx-coroutines</artifactId>
25-
<version>0.18-SNAPSHOT</version>
25+
<version>0.19-SNAPSHOT</version>
2626
<relativePath>../../pom.xml</relativePath>
2727
</parent>
2828

ui/kotlinx-coroutines-javafx/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>org.jetbrains.kotlinx</groupId>
2424
<artifactId>kotlinx-coroutines</artifactId>
25-
<version>0.18-SNAPSHOT</version>
25+
<version>0.19-SNAPSHOT</version>
2626
<relativePath>../../pom.xml</relativePath>
2727
</parent>
2828

ui/kotlinx-coroutines-swing/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>org.jetbrains.kotlinx</groupId>
2424
<artifactId>kotlinx-coroutines</artifactId>
25-
<version>0.18-SNAPSHOT</version>
25+
<version>0.19-SNAPSHOT</version>
2626
<relativePath>../../pom.xml</relativePath>
2727
</parent>
2828

0 commit comments

Comments
 (0)