Skip to content
This repository was archived by the owner on Nov 11, 2021. It is now read-only.

Commit 894df7d

Browse files
committed
Version 1.5.0
1 parent 349566c commit 894df7d

File tree

6 files changed

+54
-11
lines changed

6 files changed

+54
-11
lines changed

CHANGES.md

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

3+
## Version 1.5.0
4+
5+
Note that this is a full changelog relative to 1.4.3 version. Changelog relative to 1.5.0-RC can be found in the end.
6+
7+
### Channels API
8+
9+
* Major channels API rework (#330, #974). Existing `offer`, `poll`, and `sendBlocking` methods are deprecated, internal `receiveCatching` and `onReceiveCatching` removed, `receiveOrNull` and `onReceiveOrNull` are completely deprecated. Previously deprecated `SendChannel.isFull` declaration is removed. Channel operators deprecated with `ERROR` are now `HIDDEN`.
10+
* New methods `receiveCatching`, `onReceiveCatching` `trySend`, `tryReceive`, and `trySendBlocking` along with the new result type `ChannelResult` are introduced. They provide better type safety, are less error-prone, and have a consistent future-proof naming scheme. The full rationale behind this change can be found [here](https://github.com/Kotlin/kotlinx.coroutines/issues/974#issuecomment-806569582).
11+
* `BroadcastChannel` and `ConflatedBroadcastChannel` are marked as `ObsoleteCoroutinesApi` in the favor or `SharedFlow` and `StateFlow`. The migration scheme can be found in their documentation. These classes will be deprecated in the next major release.
12+
* `callbackFlow` and `channelFlow` are promoted to stable API.
13+
14+
### Reactive integrations
15+
16+
* All existing API in modules `kotlinx-coroutines-rx2`, `kotlinx-coroutines-rx3`, `kotlinx-coroutines-reactive`, `kotlinx-coroutines-reactor`, and `kotlinx-coroutines-jdk9` were revisited and promoted to stable (#2545).
17+
* `publish` is no longer allowed to emit `null` values (#2646).
18+
* Misleading `awaitSingleOr*` functions on `Publisher` type are deprecated (#2591).
19+
* `MaybeSource.await` is deprecated in the favor of `awaitSingle`, additional lint functions for `Mono` are added in order to prevent ambiguous `Publisher` usages (#2628, #1587).
20+
* `ContextView` support in `kotlinx-coroutines-reactor` (#2575).
21+
* All reactive builders no longer ignore inner cancellation exceptions preventing their completion (#2262, #2646).
22+
* `MaybeSource.collect` and `Maybe.collect` properly finish when they are completed without a value (#2617).
23+
* All exceptions are now consistently handled according to reactive specification, whether they are considered 'fatal' or not by reactive frameworks (#2646).
24+
25+
### Other improvements
26+
27+
* `Flow.last` and `Flow.lastOrNull` operators (#2246).
28+
* `Flow.runningFold` operator (#2641).
29+
* `CoroutinesTimeout` rule for JUnit5 (#2197).
30+
* Internals of `Job` and `AbstractCoroutine` was reworked, resulting in smaller code size, less memory footprint, and better performance (#2513, #2512).
31+
* `CancellationException` from Kotlin standard library is used for cancellation on Koltin/JS and Kotlin/Native (#2638).
32+
* Introduced new `DelicateCoroutineApi` annotation that warns users about potential target API pitfalls and suggests studying API's documentation first. The only delicate API right now is `GlobalScope` (#2637).
33+
* Fixed bug introduced in `1.4.3` when `kotlinx-coroutines-core.jar` triggered IDEA debugger failure (#2619).
34+
* Fixed memory leak of `ChildHandlerNode` with reusable continuations (#2564).
35+
* Various documentation improvements (#2555, #2589, #2592, #2583, #2437, #2616, #2633, #2560).
36+
37+
### Changelog relative to version 1.5.0-RC
38+
39+
* Fail-fast during `emitAll` called from cancelled `onCompletion` operator (#2700).
40+
* Flows returned by `stateIn`/`shareIn` keep strong reference to sharing job (#2557).
41+
* Rename internal `TimeSource` to `AbstractTimeSource` due to import issues (#2691).
42+
* Reverted the change that triggered IDEA coroutines debugger crash (#2695, reverted #2291).
43+
* `watchosX64` target support for Kotlin/Native (#2524).
44+
* Various documentation fixes and improvements.
45+
346
## Version 1.5.0-RC
447

548
### Channels API

README.md

Lines changed: 7 additions & 7 deletions
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://img.shields.io/maven-central/v/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.5.0-RC)](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.5.0-RC/pom)
5+
[![Download](https://img.shields.io/maven-central/v/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.5.0)](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.5.0/pom)
66
[![Kotlin](https://img.shields.io/badge/kotlin-1.5.0-blue.svg?logo=kotlin)](http://kotlinlang.org)
77
[![Slack channel](https://img.shields.io/badge/chat-slack-green.svg?logo=slack)](https://kotlinlang.slack.com/messages/coroutines/)
88

@@ -83,7 +83,7 @@ Add dependencies (you can also add other modules that you need):
8383
<dependency>
8484
<groupId>org.jetbrains.kotlinx</groupId>
8585
<artifactId>kotlinx-coroutines-core</artifactId>
86-
<version>1.5.0-RC</version>
86+
<version>1.5.0</version>
8787
</dependency>
8888
```
8989

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

102102
```groovy
103103
dependencies {
104-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0-RC'
104+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0'
105105
}
106106
```
107107

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

128128
```groovy
129129
dependencies {
130-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0-RC")
130+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0")
131131
}
132132
```
133133

@@ -147,7 +147,7 @@ Add [`kotlinx-coroutines-android`](ui/kotlinx-coroutines-android)
147147
module as a dependency when using `kotlinx.coroutines` on Android:
148148

149149
```groovy
150-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0-RC'
150+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0'
151151
```
152152

153153
This gives you access to the Android [Dispatchers.Main]
@@ -180,7 +180,7 @@ In common code that should get compiled for different platforms, you can add a d
180180
```groovy
181181
commonMain {
182182
dependencies {
183-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0-RC")
183+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0")
184184
}
185185
}
186186
```
@@ -192,7 +192,7 @@ Platform-specific dependencies are recommended to be used only for non-multiplat
192192
#### JS
193193

194194
Kotlin/JS version of `kotlinx.coroutines` is published as
195-
[`kotlinx-coroutines-core-js`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-js/1.5.0-RC/jar)
195+
[`kotlinx-coroutines-core-js`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-js/1.5.0/jar)
196196
(follow the link to get the dependency declaration snippet) and as [`kotlinx-coroutines-core`](https://www.npmjs.com/package/kotlinx-coroutines-core) NPM package.
197197

198198
#### Native

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#
44

55
# Kotlin
6-
version=1.5.0-RC-SNAPSHOT
6+
version=1.5.0-SNAPSHOT
77
group=org.jetbrains.kotlinx
88
kotlin_version=1.5.0
99

kotlinx-coroutines-debug/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ stacktraces will be dumped to the console.
6161
### Using as JVM agent
6262

6363
Debug module can also be used as a standalone JVM agent to enable debug probes on the application startup.
64-
You can run your application with an additional argument: `-javaagent:kotlinx-coroutines-debug-1.5.0-RC.jar`.
64+
You can run your application with an additional argument: `-javaagent:kotlinx-coroutines-debug-1.5.0.jar`.
6565
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.
6666
When used as Java agent, `"kotlinx.coroutines.debug.enable.creation.stack.trace"` system property can be used to control
6767
[DebugProbes.enableCreationStackTraces] along with agent startup.

kotlinx-coroutines-test/README.md

Lines changed: 1 addition & 1 deletion
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.5.0-RC'
12+
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.0'
1313
}
1414
```
1515

ui/coroutines-guide-ui.md

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

112112
```groovy
113-
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0-RC"
113+
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0"
114114
```
115115

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

0 commit comments

Comments
 (0)