Skip to content

Commit 6591c4e

Browse files
committed
Version 1.0.1
1 parent 00d86c5 commit 6591c4e

File tree

9 files changed

+52
-37
lines changed

9 files changed

+52
-37
lines changed

CHANGES.md

+35-24
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,51 @@
11
# Change log for kotlinx.coroutines
22

3+
## Version 1.0.1
4+
5+
* Align `publisher` implementation with Reactive TCK.
6+
* Reimplement `future` coroutine builders on top of `AbstractCoroutine` (#751).
7+
* Performance optimizations in `Dispatchers.Default` and `Dispatchers.IO`.
8+
* Use only public API during `JavaFx` instantiation, fixes warnings on Java 9 and build on Java 11 (#463).
9+
* Updated contract of `CancellableContinuation.resumeWithException` (documentation fix, see #712).
10+
* Check cancellation on fast-path of all in-place coroutine builders (`withContext`, `coroutineScope`, `supervisorScope`, `withTimeout` and `withTimeoutOrNull`).
11+
* Add optional prefix to thread names of `ExperimentalCoroutineDispatcher` (#661).
12+
* Fixed bug when `ExperimentalCoroutineDispatcher` could end up in inconsistent state if `Thread` constructor throws an exception (#748).
13+
314
## Version 1.0.0
415

5-
* All Kotlin dependencies updated to 1.3 release version.
6-
* Fixed potential memory leak in `HandlerDispatcher.scheduleResumeAfterDelay`, thanks @cbeyls.
7-
* `yield` support for `Unconfined` and immediate dispatchers (#737).
8-
* Various documentation improvements.
16+
* All Kotlin dependencies updated to 1.3 release version.
17+
* Fixed potential memory leak in `HandlerDispatcher.scheduleResumeAfterDelay`, thanks @cbeyls.
18+
* `yield` support for `Unconfined` and immediate dispatchers (#737).
19+
* Various documentation improvements.
920

1021
## Version 1.0.0-RC1
1122

12-
* Coroutines API is updated to Kotlin 1.3.
13-
* Deprecated API is removed or marked as `internal`.
14-
* Experimental and internal coroutine API is marked with corresponding `kotlin.experimental.Experimental` annotation. If you are using `@ExperimentalCoroutinesApi` or `@InternalCoroutinesApi` you should explicitly opt-in, otherwise compilation warning (or error) will be produced.
15-
* `Unconfined` dispatcher (and all dispatchers which support immediate invocation) forms event-loop on top of current thread, thus preventing all `StackOverflowError`s. `Unconfined` dispatcher is now much safer for the general use and may leave its experimental status soon (#704).
16-
* Significantly improved performance of suspending hot loops in `kotlinx.coroutines` (#537).
17-
* Proguard rules are embedded into coroutines JAR to assist jettifier (#657)
18-
* Fixed bug in shutdown sequence of `runBlocking` (#692).
19-
* `ReceiveChannel.receiveOrNull` is marked as obsolete and deprecated.
20-
* `Job.cancel(cause)` and `ReceiveChannel.cancel(cause)` are deprecated, `cancel()` returns `Unit` (#713).
23+
* Coroutines API is updated to Kotlin 1.3.
24+
* Deprecated API is removed or marked as `internal`.
25+
* Experimental and internal coroutine API is marked with corresponding `kotlin.experimental.Experimental` annotation. If you are using `@ExperimentalCoroutinesApi` or `@InternalCoroutinesApi` you should explicitly opt-in, otherwise compilation warning (or error) will be produced.
26+
* `Unconfined` dispatcher (and all dispatchers which support immediate invocation) forms event-loop on top of current thread, thus preventing all `StackOverflowError`s. `Unconfined` dispatcher is now much safer for the general use and may leave its experimental status soon (#704).
27+
* Significantly improved performance of suspending hot loops in `kotlinx.coroutines` (#537).
28+
* Proguard rules are embedded into coroutines JAR to assist jettifier (#657)
29+
* Fixed bug in shutdown sequence of `runBlocking` (#692).
30+
* `ReceiveChannel.receiveOrNull` is marked as obsolete and deprecated.
31+
* `Job.cancel(cause)` and `ReceiveChannel.cancel(cause)` are deprecated, `cancel()` returns `Unit` (#713).
2132

2233
## Version 0.30.2
2334

24-
* `Dispatchers.Main` is instantiated lazily (see #658 and #665).
25-
* Blocking coroutine dispatcher views are now shutdown properly (#678).
26-
* Prevent leaking Kotlin 1.3 from atomicfu dependency (#659).
27-
* Thread-pool based dispatcher factories are marked as obsolete (#261).
28-
* Fixed exception loss on `withContext` cancellation (#675).
35+
* `Dispatchers.Main` is instantiated lazily (see #658 and #665).
36+
* Blocking coroutine dispatcher views are now shutdown properly (#678).
37+
* Prevent leaking Kotlin 1.3 from atomicfu dependency (#659).
38+
* Thread-pool based dispatcher factories are marked as obsolete (#261).
39+
* Fixed exception loss on `withContext` cancellation (#675).
2940

3041
## Version 0.30.1
3142

32-
Maintenance release:
33-
* Added `Dispatchers.Main` to common dispatchers, which can be used from Android, Swing and JavaFx projects if a corresponding integration library is added to dependencies.
34-
* With `Dispatchers.Main` improvement tooling bug in Android Studio #626 is mitigated, so Android users now can safely start the migration to the latest `kotlinx.coroutines` version.
35-
* Fixed bug with thread unsafety of shutdown sequence in `EventLoop`.
36-
* Experimental coroutine dispatcher now has `close` contract similar to Java `Executor`, so it can be safely instantiated and closed multiple times (affects only unit tests).
37-
* Atomicfu version is updated with fixes in JS transformer (see #609)
43+
Maintenance release:
44+
* Added `Dispatchers.Main` to common dispatchers, which can be used from Android, Swing and JavaFx projects if a corresponding integration library is added to dependencies.
45+
* With `Dispatchers.Main` improvement tooling bug in Android Studio #626 is mitigated, so Android users now can safely start the migration to the latest `kotlinx.coroutines` version.
46+
* Fixed bug with thread unsafety of shutdown sequence in `EventLoop`.
47+
* Experimental coroutine dispatcher now has `close` contract similar to Java `Executor`, so it can be safely instantiated and closed multiple times (affects only unit tests).
48+
* Atomicfu version is updated with fixes in JS transformer (see #609)
3849

3950
## Version 0.30.0
4051

README.md

+5-5
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=1.0.0) ](https://bintray.com/kotlin/kotlinx/kotlinx.coroutines/1.0.0)
5+
[![Download](https://api.bintray.com/packages/kotlin/kotlinx/kotlinx.coroutines/images/download.svg?version=1.0.1) ](https://bintray.com/kotlin/kotlinx/kotlinx.coroutines/1.0.1)
66

77
Library support for Kotlin coroutines with [multiplatform](#multiplatform) support.
88
This is a companion version for Kotlin `1.3.0` release.
@@ -69,7 +69,7 @@ Add dependencies (you can also add other modules that you need):
6969
<dependency>
7070
<groupId>org.jetbrains.kotlinx</groupId>
7171
<artifactId>kotlinx-coroutines-core</artifactId>
72-
<version>1.0.0</version>
72+
<version>1.0.1</version>
7373
</dependency>
7474
```
7575

@@ -87,7 +87,7 @@ Add dependencies (you can also add other modules that you need):
8787

8888
```groovy
8989
dependencies {
90-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.0.0'
90+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.0.1'
9191
}
9292
```
9393

@@ -113,7 +113,7 @@ Add dependencies (you can also add other modules that you need):
113113

114114
```groovy
115115
dependencies {
116-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.0.0")
116+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.0.1")
117117
}
118118
```
119119

@@ -141,7 +141,7 @@ Add [`kotlinx-coroutines-android`](ui/kotlinx-coroutines-android)
141141
module as dependency when using `kotlinx.coroutines` on Android:
142142

143143
```groovy
144-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.0'
144+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.1'
145145
```
146146
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)
147147
coroutine dispatcher and also makes sure that in case of crashed coroutine with unhandled exception this

RELEASE.md

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ To release new `<version>` of `kotlinx-coroutines`:
1818
* [`ui/kotlinx-coroutines-android/example-app/gradle.properties`](ui/kotlinx-coroutines-android/example-app/gradle.properties)
1919
* [`ui/kotlinx-coroutines-android/animation-app/gradle.properties`](ui/kotlinx-coroutines-android/animation-app/gradle.properties)
2020
* Make sure to **exclude** `CHANGES.md` from replacements.
21+
22+
As an alternative approach you can use `./bump_version.sh old_version new_version`
2123

2224
5. Write release notes in [`CHANGES.md`](CHANGES.md):
2325
* Use old releases as example of style.

bump-version.sh

+5-3
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,13 @@ update_version "ui/kotlinx-coroutines-android/example-app/gradle.properties"
2323
update_version "ui/kotlinx-coroutines-android/animation-app/gradle.properties"
2424
update_version "gradle.properties"
2525

26-
result=$(find ./ -type f \( -iname \*.properties -o -iname \*.md \) | grep -v "\.gradle" | grep -v "build" | xargs -I{} grep -H "$old_version" {} | grep -v CHANGES.md)
26+
# Escape dots, e.g. 1.0.0 -> 1\.0\.0
27+
escaped_old_version=$(echo $old_version | sed s/[.]/\\\\./g)
28+
result=$(find ./ -type f \( -iname \*.properties -o -iname \*.md \) | grep -v "\.gradle" | grep -v "build" | xargs -I{} grep -H "$escaped_old_version" {} | grep -v CHANGES.md | grep -v COMPATIBILITY.md)
2729
if [ -z "$result" ];
2830
then
2931
echo "Done"
3032
else
31-
echo "Previous version is present in the project: $result"
32-
33+
echo "ERROR: Previous version is present in the project: $result"
34+
exit -1
3335
fi

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Kotlin
2-
version=1.0.0-SNAPSHOT
2+
version=1.0.1-SNAPSHOT
33
group=org.jetbrains.kotlinx
44
kotlin_version=1.3.0
55
kotlin_native_version=1.3.0-rc-208

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:1.0.0'
45+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core-native:1.0.1'
4646
}
4747
4848
sourceSets {

ui/coroutines-guide-ui.md

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

167167
```groovy
168-
compile "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.0"
168+
compile "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.1"
169169
```
170170

171171
You can clone [kotlinx.coroutines](https://github.com/Kotlin/kotlinx.coroutines) project from GitHub onto your

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.3.0
22-
coroutines_version=1.0.0
22+
coroutines_version=1.0.1
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.3.0
22-
coroutines_version=1.0.0
22+
coroutines_version=1.0.1
2323

0 commit comments

Comments
 (0)