Skip to content

Commit

Permalink
Version 1.9.0
Browse files Browse the repository at this point in the history
  • Loading branch information
dkhalanskyjb committed Sep 13, 2024
1 parent 3a1be8c commit d8d6f8f
Show file tree
Hide file tree
Showing 7 changed files with 50 additions and 13 deletions.
41 changes: 39 additions & 2 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,52 @@
# Change log for kotlinx.coroutines

## Version 1.9.0

### Features

* Wasm/WASI target support (#4064). Thanks, @igoriakovlev!
* `limitedParallelism` now optionally accepts the name of the dispatcher view for easier debugging (#4023).
* No longer initialize `Dispatchers.IO` on the JVM when other standard dispatchers are accessed (#4166). Thanks, @metalhead8816!
* Introduced the `Flow<T>.chunked(size: Int): Flow<List<T>>` operator that groups emitted values into groups of the given size (#1290).
* Closeable dispatchers are instances of `AutoCloseable` now (#4123).

### Fixes

* Calling `hasNext` on a `Channel`'s iterator is idempotent (#4065). Thanks, @gitpaxultek!
* `CoroutineScope()` created without an explicit dispatcher uses `Dispatchers.Default` on Native (#4074). Thanks, @whyoleg!
* Fixed a bug that prevented non-Android `Dispatchers.Main` from initializing when the Firebase dependency is used (#3914).
* Ensured a more intuitive ordering of tasks in `runBlocking` (#4134).
* Forbid casting a `Mutex` to `Semaphore` (#4176).
* Worked around a stack overflow that may occur when calling `asDeferred` on a `Future` many times (#4156).

### Deprecations and promotions

* Advanced the deprecation levels for `BroadcastChannel`-based API (#4197).
* Advanced the deprecation levels for the old `kotlinx-coroutines-test` API (#4198).
* Deprecated `Job.cancelFutureOnCompletion` (#4173).
* Promoted `CoroutineDispatcher.limitedParallelism` to stable (#3864).
* Promoted `CoroutineStart.ATOMIC` from `ExperimentalCoroutinesApi` to `DelicateCoroutinesApi` (#4169).
* Promoted `CancellableContinuation.resume` with an `onCancellation` lambda to stable, providing extra arguments to the lambda (#4088).
* Marked the classes and interfaces that are not supposed to be inherited from with the new `InternalForInheritanceCoroutinesApi` opt-in (#3770).
* Marked the classes and interfaces inheriting from which is not stable with the new `ExperimentalForInheritanceCoroutinesApi` opt-in (#3770).

### Other

* Kotlin was updated to 2.0 (#4137).
* Reworked the documentation for `CoroutineStart` and `Channel`-based API (#4147, #4148, #4167). Thanks, @globsterg!
* Simplified the internal implementation of `Job` (#4053).
* Small tweaks, fixes, and documentation improvements.

## Version 1.9.0-RC.2

* Advanced the deprecation levels for `BroadcastChannel`-based API (#4197).
* Advanced the deprecation levels for the old `kotlinx-coroutines-test` API (#4198).
* Promoted `CoroutineStart.ATOMIC` from `ExperimentalCoroutinesApi` to `DelicateCoroutinesApi` (#4169).
* Reworked the documentation for `CoroutineStart` and `Channel`-based API (#4147, #4148, #4167). Thanks, @globsterg!
* Forbid casting a `Mutex` to `Semaphore` (#4176).
* Deprecated `Job.cancelFutureOnCompletion` (#4211).
* Deprecated `Job.cancelFutureOnCompletion` (#4173).
* Worked around a stack overflow that may occur when calling `asDeferred` on a `Future` many times (#4156).
* Fixed a bug that disallowed setting a custom `probeCoroutineResumed` when starting coroutines with `UNDISPATCHED` (#4211).
* Fixed a bug that disallowed setting a custom `probeCoroutineResumed` when starting coroutines with `UNDISPATCHED` (#4162).
* No longer initialize `Dispatchers.IO` on the JVM when other standard dispatchers are accessed (#4166). Thanks, @metalhead8816!
* Small tweaks, fixes, and documentation improvements.

Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[![Kotlin Stable](https://kotl.in/badges/stable.svg)](https://kotlinlang.org/docs/components-stability.html)
[![JetBrains official project](https://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
[![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0)
[![Download](https://img.shields.io/maven-central/v/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.9.0-RC.2)](https://central.sonatype.com/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.9.0-RC.2)
[![Download](https://img.shields.io/maven-central/v/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.9.0)](https://central.sonatype.com/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.9.0)
[![Kotlin](https://img.shields.io/badge/kotlin-2.0.0-blue.svg?logo=kotlin)](http://kotlinlang.org)
[![Slack channel](https://img.shields.io/badge/chat-slack-green.svg?logo=slack)](https://kotlinlang.slack.com/messages/coroutines/)

Expand Down Expand Up @@ -85,7 +85,7 @@ Add dependencies (you can also add other modules that you need):
<dependency>
<groupId>org.jetbrains.kotlinx</groupId>
<artifactId>kotlinx-coroutines-core</artifactId>
<version>1.9.0-RC.2</version>
<version>1.9.0</version>
</dependency>
```

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

```kotlin
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0-RC.2")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0")
}
```

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

```kotlin
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0-RC.2")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0")
```

This gives you access to the Android [Dispatchers.Main]
Expand Down Expand Up @@ -168,7 +168,7 @@ In common code that should get compiled for different platforms, you can add a d
```kotlin
commonMain {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0-RC.2")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0")
}
}
```
Expand All @@ -178,7 +178,7 @@ Platform-specific dependencies are recommended to be used only for non-multiplat
#### JS

Kotlin/JS version of `kotlinx.coroutines` is published as
[`kotlinx-coroutines-core-js`](https://central.sonatype.com/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-js/1.9.0-RC.2)
[`kotlinx-coroutines-core-js`](https://central.sonatype.com/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-js/1.9.0)
(follow the link to get the dependency declaration snippet).

#### Native
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Kotlin
version=1.9.0-RC.2-SNAPSHOT
version=1.9.0-SNAPSHOT
group=org.jetbrains.kotlinx
kotlin_version=2.0.0
kotlin_language_version=2.0
Expand Down
2 changes: 1 addition & 1 deletion integration-testing/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
kotlin_version=2.0.0
coroutines_version=1.9.0-RC.2-SNAPSHOT
coroutines_version=1.9.0-SNAPSHOT
asm_version=9.3

kotlin.code.style=official
Expand Down
2 changes: 1 addition & 1 deletion kotlinx-coroutines-debug/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ stacktraces will be dumped to the console.
### Using as JVM agent

Debug module can also be used as a standalone JVM agent to enable debug probes on the application startup.
You can run your application with an additional argument: `-javaagent:kotlinx-coroutines-debug-1.9.0-RC.2.jar`.
You can run your application with an additional argument: `-javaagent:kotlinx-coroutines-debug-1.9.0.jar`.
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.
When used as Java agent, `"kotlinx.coroutines.debug.enable.creation.stack.trace"` system property can be used to control
[DebugProbes.enableCreationStackTraces] along with agent startup.
Expand Down
2 changes: 1 addition & 1 deletion kotlinx-coroutines-test/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Provided [TestDispatcher] implementations:
Add `kotlinx-coroutines-test` to your project test dependencies:
```
dependencies {
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0-RC.2'
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0'
}
```

Expand Down
2 changes: 1 addition & 1 deletion ui/coroutines-guide-ui.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ Add dependencies on `kotlinx-coroutines-android` module to the `dependencies { .
`app/build.gradle` file:

```groovy
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0-RC.2"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0"
```

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

0 comments on commit d8d6f8f

Please sign in to comment.