Skip to content

Commit 497312e

Browse files
committed
Version 1.5.0-RC
1 parent e61ef4b commit 497312e

File tree

6 files changed

+46
-14
lines changed

6 files changed

+46
-14
lines changed

CHANGES.md

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

3+
## Version 1.5.0-RC
4+
5+
### Channels API
6+
7+
* 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`.
8+
* 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).
9+
* `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.
10+
* `callbackFlow` and `channelFlow` are promoted to stable API.
11+
12+
### Reactive integrations
13+
14+
* 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).
15+
* `publish` is no longer allowed to emit `null` values (#2646).
16+
* Misleading `awaitSingleOr*` functions on `Publisher` type are deprecated (#2591).
17+
* `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).
18+
* `ContextView` support in `kotlinx-coroutines-reactor` (#2575).
19+
* All reactive builders no longer ignore inner cancellation exceptions preventing their completion (#2262, #2646).
20+
* `MaybeSource.collect` and `Maybe.collect` properly finish when they are completed without a value (#2617).
21+
* All exceptions are now consistently handled according to reactive specification, whether they are considered 'fatal' or not by reactive frameworks (#2646).
22+
23+
### Other improvements
24+
25+
* `Flow.last` and `Flow.lastOrNull` operators (#2246).
26+
* `Flow.runningFold` operator (#2641).
27+
* `CoroutinesTimeout` rule for JUnit5 (#2197).
28+
* Internals of `Job` and `AbstractCoroutine` was reworked, resulting in smaller code size, less memory footprint, and better performance (#2513, #2512).
29+
* `CancellationException` from Kotlin standard library is used for cancellation on Koltin/JS and Kotlin/Native (#2638).
30+
* 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).
31+
* Fixed bug introduced in `1.4.3` when `kotlinx-coroutines-core.jar` triggered IDEA debugger failure (#2619).
32+
* Fixed memory leak of `ChildHandlerNode` with reusable continuations (#2564).
33+
* Various documentation improvements (#2555, #2589, #2592, #2583, #2437, #2616, #2633, #2560).
34+
335
## Version 1.4.3
436

537
### General changes

README.md

+10-10
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.4.3)](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.4.3/pom)
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)
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,15 +83,15 @@ 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.4.3</version>
86+
<version>1.5.0-RC</version>
8787
</dependency>
8888
```
8989

9090
And make sure that you use the latest Kotlin version:
9191

9292
```xml
9393
<properties>
94-
<kotlin.version>1.4.30</kotlin.version>
94+
<kotlin.version>1.5.0</kotlin.version>
9595
</properties>
9696
```
9797

@@ -101,15 +101,15 @@ 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.4.3'
104+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0-RC'
105105
}
106106
```
107107

108108
And make sure that you use the latest Kotlin version:
109109

110110
```groovy
111111
buildscript {
112-
ext.kotlin_version = '1.4.30'
112+
ext.kotlin_version = '1.5.0'
113113
}
114114
```
115115

@@ -127,15 +127,15 @@ 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.4.3")
130+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0-RC")
131131
}
132132
```
133133

134134
And make sure that you use the latest Kotlin version:
135135

136136
```groovy
137137
plugins {
138-
kotlin("jvm") version "1.4.30"
138+
kotlin("jvm") version "1.5.0"
139139
}
140140
```
141141

@@ -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.4.3'
150+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0-RC'
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.4.3")
183+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0-RC")
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.4.3/jar)
195+
[`kotlinx-coroutines-core-js`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-js/1.5.0-RC/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

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

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

kotlinx-coroutines-debug/README.md

+1-1
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.4.3.jar`.
64+
You can run your application with an additional argument: `-javaagent:kotlinx-coroutines-debug-1.5.0-RC.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

+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.4.3'
12+
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.0-RC'
1313
}
1414
```
1515

ui/coroutines-guide-ui.md

+1-1
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.4.3"
113+
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0-RC"
114114
```
115115

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

0 commit comments

Comments
 (0)