Skip to content

Commit 0b6745e

Browse files
committed
Version 1.3.3
1 parent 7abce10 commit 0b6745e

File tree

8 files changed

+56
-15
lines changed

8 files changed

+56
-15
lines changed

CHANGES.md

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

3+
## Version 1.3.3
4+
5+
### Flow
6+
* `Flow.take` performance is significantly improved (#1538).
7+
* `Flow.merge` operator (#1491).
8+
* Reactive Flow adapters are promoted to stable API (#1549).
9+
* Reusable cancellable continuations were introduced that improved the performance of various flow operators and iteration over channels (#1534).
10+
* Fixed interaction of multiple flows with `take` operator (#1610).
11+
* Throw `NoSuchElementException` instead of `UnsupportedOperationException` for empty `Flow` in `reduce` operator (#1659).
12+
* Allow non-emitting `withContext` from `flow` builder (#1616).
13+
14+
### Debugging
15+
16+
* `DebugProbes.dumpCoroutines` is optimized to be able to print the 6-digit number of coroutines (#1535).
17+
* Properly capture unstarted lazy coroutines in debugger (#1544).
18+
* Capture coroutines launched from within a test constructor with `CoroutinesTimeout` test rule (#1542).
19+
* Stacktraces of `Job`-related coroutine machinery are shortened and prettified (#1574).
20+
* Stacktrace recovery unification that should provide a consistent experience recover of stacktrace (#1597).
21+
* Stacktrace recovery for `withTimeout` is supported (#1625).
22+
* Do not recover exception with a single `String` parameter constructor that is not a `message` (#1631).
23+
24+
### Other features
25+
26+
* `Dispatchers.Default` and `Dispatchers.IO` rework: CPU consumption is significantly lower, predictable idle threads termination (#840, #1046, #1286).
27+
* Avoid `ServiceLoader` for loading `Dispatchers.Main` (#1572, #1557, #878, #1606).
28+
* Consistently handle undeliverable exceptions in RxJava and Reactor integrations (#252, #1614).
29+
* `yield` support in immediate dispatchers (#1474).
30+
* `CompletableDeferred.completeWith(result: Result<T>)` is introduced.
31+
* Added support for tvOS and watchOS-based Native targets (#1596).
32+
33+
### Bug fixes and improvements
34+
35+
* `CoroutineDispatcher.isDispatchNeeded` is promoted to stable API (#1014).
36+
* Livelock and stackoverflows in mutual `select` expressions are fixed (#1411, #504).
37+
* Properly handle `null` values in `ListenableFuture` integration (#1510).
38+
* Making ReceiveChannel.cancel linearizability-friendly.
39+
* Linearizability of Channel.close in a complex contended cases (#1419).
40+
* ArrayChannel.isBufferEmpty atomicity is fixed (#1526).
41+
* Various documentation improvements.
42+
* Reduced bytecode size of `kotlinx-coroutines-core`, reduced size of minified `dex` when using basic functionality of `kotlinx-coroutines`.
43+
344
## Version 1.3.2
445

546
This is a maintenance release that does not include any new features or bug fixes.

README.md

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

33
[![official JetBrains project](https://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)](https://www.apache.org/licenses/LICENSE-2.0)
5-
[![Download](https://api.bintray.com/packages/kotlin/kotlinx/kotlinx.coroutines/images/download.svg?version=1.3.2) ](https://bintray.com/kotlin/kotlinx/kotlinx.coroutines/1.3.2)
5+
[![Download](https://api.bintray.com/packages/kotlin/kotlinx/kotlinx.coroutines/images/download.svg?version=1.3.3) ](https://bintray.com/kotlin/kotlinx/kotlinx.coroutines/1.3.3)
66

77
Library support for Kotlin coroutines with [multiplatform](#multiplatform) support.
88
This is a companion version for Kotlin `1.3.61` release.
@@ -82,7 +82,7 @@ Add dependencies (you can also add other modules that you need):
8282
<dependency>
8383
<groupId>org.jetbrains.kotlinx</groupId>
8484
<artifactId>kotlinx-coroutines-core</artifactId>
85-
<version>1.3.2</version>
85+
<version>1.3.3</version>
8686
</dependency>
8787
```
8888

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

101101
```groovy
102102
dependencies {
103-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2'
103+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.3'
104104
}
105105
```
106106

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

127127
```groovy
128128
dependencies {
129-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2")
129+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.3")
130130
}
131131
```
132132

@@ -145,7 +145,7 @@ Make sure that you have either `jcenter()` or `mavenCentral()` in the list of re
145145
Core modules of `kotlinx.coroutines` are also available for
146146
[Kotlin/JS](#js) and [Kotlin/Native](#native).
147147
In common code that should get compiled for different platforms, add dependency to
148-
[`kotlinx-coroutines-core-common`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-common/1.3.2/jar)
148+
[`kotlinx-coroutines-core-common`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-common/1.3.3/jar)
149149
(follow the link to get the dependency declaration snippet).
150150

151151
### Android
@@ -154,7 +154,7 @@ Add [`kotlinx-coroutines-android`](ui/kotlinx-coroutines-android)
154154
module as dependency when using `kotlinx.coroutines` on Android:
155155

156156
```groovy
157-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2'
157+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.3'
158158
```
159159

160160
This gives you access to Android [Dispatchers.Main]
@@ -173,15 +173,15 @@ R8 is a replacement for ProGuard in Android ecosystem, it is enabled by default
173173
### JS
174174

175175
[Kotlin/JS](https://kotlinlang.org/docs/reference/js-overview.html) version of `kotlinx.coroutines` is published as
176-
[`kotlinx-coroutines-core-js`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-js/1.3.2/jar)
176+
[`kotlinx-coroutines-core-js`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-js/1.3.3/jar)
177177
(follow the link to get the dependency declaration snippet).
178178

179179
You can also use [`kotlinx-coroutines-core`](https://www.npmjs.com/package/kotlinx-coroutines-core) package via NPM.
180180

181181
### Native
182182

183183
[Kotlin/Native](https://kotlinlang.org/docs/reference/native-overview.html) version of `kotlinx.coroutines` is published as
184-
[`kotlinx-coroutines-core-native`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-native/1.3.2/jar)
184+
[`kotlinx-coroutines-core-native`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-native/1.3.3/jar)
185185
(follow the link to get the dependency declaration snippet).
186186

187187
Only single-threaded code (JS-style) on Kotlin/Native is currently supported.

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#
44

55
# Kotlin
6-
version=1.3.2-SNAPSHOT
6+
version=1.3.3-SNAPSHOT
77
group=org.jetbrains.kotlinx
88
kotlin_version=1.3.61
99

kotlinx-coroutines-debug/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ of coroutines hierarchy referenced by a [Job] or [CoroutineScope] instances usin
1818
Add `kotlinx-coroutines-debug` to your project test dependencies:
1919
```
2020
dependencies {
21-
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-debug:1.3.2'
21+
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-debug:1.3.3'
2222
}
2323
```
2424

@@ -56,7 +56,7 @@ stacktraces will be dumped to the console.
5656
### Using as JVM agent
5757

5858
It is possible to use this module as a standalone JVM agent to enable debug probes on the application startup.
59-
You can run your application with an additional argument: `-javaagent:kotlinx-coroutines-debug-1.3.2.jar`.
59+
You can run your application with an additional argument: `-javaagent:kotlinx-coroutines-debug-1.3.3.jar`.
6060
Additionally, on Linux and Mac OS X you can use `kill -5 $pid` command in order to force your application to print all alive coroutines.
6161

6262

kotlinx-coroutines-test/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This package provides testing utilities for effectively testing coroutines.
99
Add `kotlinx-coroutines-test` to your project test dependencies:
1010
```
1111
dependencies {
12-
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.3.2'
12+
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.3.3'
1313
}
1414
```
1515

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-
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2"
168+
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.3"
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
@@ -21,7 +21,7 @@ org.gradle.jvmargs=-Xmx1536m
2121
# org.gradle.parallel=true
2222

2323
kotlin_version=1.3.61
24-
coroutines_version=1.3.2
24+
coroutines_version=1.3.3
2525

2626
android.useAndroidX=true
2727
android.enableJetifier=true

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ org.gradle.jvmargs=-Xmx1536m
2121
# org.gradle.parallel=true
2222

2323
kotlin_version=1.3.61
24-
coroutines_version=1.3.2
24+
coroutines_version=1.3.3
2525

2626
android.useAndroidX=true
2727
android.enableJetifier=true

0 commit comments

Comments
 (0)