You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGES.md
+56
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,61 @@
1
1
# Change log for kotlinx.coroutines
2
2
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
+
3
59
## Version 1.6.4
4
60
5
61
* Added `TestScope.backgroundScope` for launching coroutines that perform work in the background and need to be cancelled at the end of the test (#3287).
(follow the link to get the dependency declaration snippet) and as [`kotlinx-coroutines-core`](https://www.npmjs.com/package/kotlinx-coroutines-core) NPM package.
184
185
185
186
#### Native
186
187
187
188
Kotlin/Native version of `kotlinx.coroutines` is published as
188
189
[`kotlinx-coroutines-core-$platform`](https://mvnrepository.com/search?q=kotlinx-coroutines-core-) where `$platform` is
189
-
the target Kotlin/Native platform. [List of currently supported targets](https://github.com/Kotlin/kotlinx.coroutines/blob/master/gradle/compile-native-multiplatform.gradle#L16).
190
-
190
+
the target Kotlin/Native platform.
191
+
Targets are provided in accordance with [official K/N target support](https://kotlinlang.org/docs/native-target-support.html).
191
192
## Building and Contributing
192
193
193
194
See [Contributing Guidelines](CONTRIBUTING.md).
@@ -211,7 +212,7 @@ See [Contributing Guidelines](CONTRIBUTING.md).
0 commit comments