Skip to content

Commit a3060c6

Browse files
committed
Version 1.7.0-Beta
1 parent 9e7c38d commit a3060c6

File tree

7 files changed

+67
-11
lines changed

7 files changed

+67
-11
lines changed

CHANGES.md

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

3+
## Version 1.7.0-Beta
4+
5+
### Core API significant improvements
6+
7+
* New `Channel` implementation with significant performance improvements across the API (#3621).
8+
* New `select` operator implementation: faster, more lightweight, and more robust (#3020).
9+
* `Mutex` and `Semaphore` now share the same underlying data structure (#3020).
10+
* `Dispatchers.IO` is added to K/N (#3205)
11+
* `newFixedThreadPool` and `Dispatchers.Default` implementations on K/N were wholly rewritten to support graceful growth under load (#3595).
12+
* `kotlinx-coroutines-test` rework:
13+
- Add the `timeout` parameter to `runTest` for the whole-test timeout, 10 seconds by default (#3270). This replaces the configuration of quiescence timeouts, which is now deprecated (#3603).
14+
- The `withTimeout` exception messages indicate if the timeout used the virtual time (#3588).
15+
- `TestCoroutineScheduler`, `runTest`, and `TestScope` API are promoted to stable (#3622).
16+
- `runTest` now also fails if there were uncaught exceptions in coroutines not inherited from the test coroutine (#1205).
17+
18+
### Breaking changes
19+
20+
* Old K/N memory model is no longer supported (#3375).
21+
* New generic upper bounds were added to reactive integration API where the language since 1.8.0 dictates (#3393).
22+
* `kotlinx-coroutines-core` and `kotlinx-coroutines-jdk8` artifacts were merged into a single artifact (#3268).
23+
* Artificial stackframes in stacktrace recovery no longer contain the `\b` symbol and are now navigable in IDE and supplied with proper documentation (#2291).
24+
* `CoroutineContext.isActive` returns `true` for contexts without any job in them (#3300).
25+
26+
### Bug fixes and improvements
27+
28+
* Kotlin version is updated to 1.8.10.
29+
* JPMS is supported (#2237). Thanks @lion7!
30+
* `BroadcastChannel` and all the corresponding API are deprecated (#2680).
31+
* Added all supported K/N targets (#3601, #812, #855).
32+
* K/N `Dispatchers.Default` is backed by the number of threads equal to the number of available cores (#3366).
33+
* Fixed an issue where some coroutines' internal exceptions were not properly serializable (#3328).
34+
* Introduced `Job.parent` API (#3201).
35+
* Fixed a bug when `TestScheduler` leaked cancelled jobs (#3398).
36+
* `TestScope.timeSource` now provides comparable time marks (#3617). Thanks @hfhbd!
37+
* Fixed an issue when cancelled `withTimeout` handles were preserved in JS runtime (#3440).
38+
* Ensure `awaitFrame` only awaits a single frame when used from the main looper (#3432). Thanks @pablobaxter!
39+
* Obsolete `Class-Path` attribute was removed from `kotlinx-coroutines-debug.jar` manifest (#3361).
40+
* Fixed a bug when `updateThreadContext` operated on the parent context (#3411).
41+
* Added new `Flow.filterIsInstance` extension (#3240).
42+
* `Dispatchers.Default` thread name prefixes are now configurable with system property (#3231).
43+
* Added `Flow.timeout` operator as `@FlowPreview` (#2624). Thanks @pablobaxter!
44+
* Improved the performance of the `future` builder in case of exceptions (#3475). Thanks @He-Pin!
45+
* `Mono.awaitSingleOrNull` now waits for the `onComplete` signal (#3487).
46+
* `Channel.isClosedForSend` and `Channel.isClosedForReceive` are promoted from experimental to delicate (#3448).
47+
* Fixed a data race in native `EventLoop` (#3547).
48+
* `Dispatchers.IO.limitedParallelism(valueLargerThanIOSize)` no longer creates an additional wrapper (#3442). Thanks @dovchinnikov!
49+
* Various `@FlowPreview` and `@ExperimentalCoroutinesApi` are promoted to experimental and stable respectively (#3542, #3097, #3548).
50+
* Performance improvements in `Dispatchers.Default` and `Dispatchers.IO` (#3416, #3418).
51+
* Fixed a bug when internal `suspendCancellableCoroutineReusable` might have hanged (#3613).
52+
* Introduced internal API to process events in the current system dispatcher (#3439).
53+
* Global `CoroutineExceptionHandler` is no longer invoked in case of unprocessed `future` failure (#3452).
54+
* Performance improvements and reduced thread-local pressure for the `withContext` operator (#3592).
55+
* Improved performance of `DebugProbes` (#3527).
56+
* Fixed a bug when the coroutine debugger might have detected the state of a coroutine incorrectly (#3193).
57+
* Various documentation improvements and fixes.
58+
359
## Version 1.6.4
460

561
* Added `TestScope.backgroundScope` for launching coroutines that perform work in the background and need to be cancelled at the end of the test (#3287).

README.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[![Kotlin Stable](https://kotl.in/badges/stable.svg)](https://kotlinlang.org/docs/components-stability.html)
44
[![JetBrains official project](https://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
55
[![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0)
6-
[![Download](https://img.shields.io/maven-central/v/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.6.4)](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.6.4/pom)
6+
[![Download](https://img.shields.io/maven-central/v/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.7.0-Beta)](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.7.0-Beta/pom)
77
[![Kotlin](https://img.shields.io/badge/kotlin-1.8.10-blue.svg?logo=kotlin)](http://kotlinlang.org)
88
[![Slack channel](https://img.shields.io/badge/chat-slack-green.svg?logo=slack)](https://kotlinlang.slack.com/messages/coroutines/)
99

@@ -85,7 +85,7 @@ Add dependencies (you can also add other modules that you need):
8585
<dependency>
8686
<groupId>org.jetbrains.kotlinx</groupId>
8787
<artifactId>kotlinx-coroutines-core</artifactId>
88-
<version>1.6.4</version>
88+
<version>1.7.0-Beta</version>
8989
</dependency>
9090
```
9191

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

104104
```kotlin
105105
dependencies {
106-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
106+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.0-Beta")
107107
}
108108
```
109109

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

135135
```kotlin
136-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4")
136+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.0-Beta")
137137
```
138138

139139
This gives you access to the Android [Dispatchers.Main]
@@ -168,7 +168,7 @@ In common code that should get compiled for different platforms, you can add a d
168168
```kotlin
169169
commonMain {
170170
dependencies {
171-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
171+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.0-Beta")
172172
}
173173
}
174174
```
@@ -180,7 +180,7 @@ Platform-specific dependencies are recommended to be used only for non-multiplat
180180
#### JS
181181

182182
Kotlin/JS version of `kotlinx.coroutines` is published as
183-
[`kotlinx-coroutines-core-js`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-js/1.6.4/jar)
183+
[`kotlinx-coroutines-core-js`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-js/1.7.0-Beta/jar)
184184
(follow the link to get the dependency declaration snippet) and as [`kotlinx-coroutines-core`](https://www.npmjs.com/package/kotlinx-coroutines-core) NPM package.
185185

186186
#### Native

gradle.properties

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

55
# Kotlin
6-
version=1.6.4-SNAPSHOT
6+
version=1.7.0-Beta-SNAPSHOT
77
group=org.jetbrains.kotlinx
88
kotlin_version=1.8.10
99

integration-testing/gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
kotlin_version=1.8.10
2-
coroutines_version=1.6.4-SNAPSHOT
2+
coroutines_version=1.7.0-Beta-SNAPSHOT
33
asm_version=9.3
44

55
kotlin.code.style=official

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.6.4.jar`.
64+
You can run your application with an additional argument: `-javaagent:kotlinx-coroutines-debug-1.7.0-Beta.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
@@ -26,7 +26,7 @@ Provided [TestDispatcher] implementations:
2626
Add `kotlinx-coroutines-test` to your project test dependencies:
2727
```
2828
dependencies {
29-
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4'
29+
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.0-Beta'
3030
}
3131
```
3232

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.6.4"
113+
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.0-Beta"
114114
```
115115

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

0 commit comments

Comments
 (0)