Skip to content

Commit

Permalink
Update coroutines to v1.8.0 (#4855)
Browse files Browse the repository at this point in the history
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-test](https://togithub.com/Kotlin/kotlinx.coroutines)
| `1.6.4` -> `1.8.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.6.4/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.6.4/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-rx2](https://togithub.com/Kotlin/kotlinx.coroutines)
| `1.6.4` -> `1.8.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-rx2/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-rx2/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-rx2/1.6.4/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-rx2/1.6.4/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>Kotlin/kotlinx.coroutines
(org.jetbrains.kotlinx:kotlinx-coroutines-test)</summary>

###
[`v1.8.0`](https://togithub.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-180)

[Compare
Source](https://togithub.com/Kotlin/kotlinx.coroutines/compare/1.7.3...1.8.0)

- Implement the library for the Web Assembly (Wasm) for JavaScript
([#&#8203;3713](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3713)).
Thanks [@&#8203;igoriakovlev](https://togithub.com/igoriakovlev)!
-   Major Kotlin version update: was 1.8.20, became 1.9.21.
- On Android, ensure that `Dispatchers.Main !=
Dispatchers.Main.immediate`
([#&#8203;3545](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3545),
[#&#8203;3963](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3963)).
- Fixed a bug that caused `Flow` operators that limit cancel the
upstream flow to forget that they were already finished if there is
another such operator upstream
([#&#8203;4035](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4035),
[#&#8203;4038](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4038))
- `kotlinx-coroutines-debug` is published with the correct Java 9 module
info
([#&#8203;3944](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3944)).
- `kotlinx-coroutines-debug` no longer requires manually setting
`DebugProbes.enableCoroutineCreationStackTraces` to `false`, it's the
default
([#&#8203;3783](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3783)).
- `kotlinx-coroutines-test`: set the default timeout of `runTest` to 60
seconds, added the ability to configure it on the JVM with the
`kotlinx.coroutines.test.default_timeout=10s`
([#&#8203;3800](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3800)).
- `kotlinx-coroutines-test`: fixed a bug that could lead to not all
uncaught exceptions being reported after some tests failed
([#&#8203;3800](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3800)).
- `delay(Duration)` rounds nanoseconds up to whole milliseconds and not
down
([#&#8203;3920](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3920)).
Thanks [@&#8203;kevincianfarini](https://togithub.com/kevincianfarini)!
- `Dispatchers.Default` and the default thread for background work are
guaranteed to use the same context classloader as the object containing
it them
([#&#8203;3832](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3832)).
- It is guaranteed that by the time `SharedFlow.collect` suspends for
the first time, it's registered as a subscriber for that `SharedFlow`
([#&#8203;3885](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3885)).
Before, it was also true, but not documented.
- Atomicfu version is updated to 0.23.1, and Kotlin/Native atomic
transformations are enabled, reducing the footprint of coroutine-heavy
code
([#&#8203;3954](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3954)).
- Added a workaround for miscompilation of `withLock` on JS
([#&#8203;3881](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3881)).
Thanks [@&#8203;CLOVIS-AI](https://togithub.com/CLOVIS-AI)!
-   Small tweaks and documentation fixes.

##### Changelog relative to version 1.8.0-RC2

- `kotlinx-coroutines-debug` no longer requires manually setting
`DebugProbes.enableCoroutineCreationStackTraces` to `false`, it's the
default
([#&#8203;3783](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3783)).
- Fixed a bug that caused `Flow` operators that limit cancel the
upstream flow to forget that they were already finished if there is
another such operator upstream
([#&#8203;4035](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4035),
[#&#8203;4038](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4038))
-   Small documentation fixes.

###
[`v1.7.3`](https://togithub.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-173)

[Compare
Source](https://togithub.com/Kotlin/kotlinx.coroutines/compare/1.7.2...1.7.3)

- Disabled the publication of the multiplatform library metadata for the
old (1.6 and earlier) KMP Gradle plugin
([#&#8203;3809](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3809)).
- Fixed a bug introduced in 1.7.2 that disabled the coroutine debugger
in IDEA
([#&#8203;3822](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3822)).

###
[`v1.7.2`](https://togithub.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-172)

[Compare
Source](https://togithub.com/Kotlin/kotlinx.coroutines/compare/1.7.1...1.7.2)

##### Bug fixes and improvements

- Coroutines debugger no longer keeps track of coroutines with empty
coroutine context
([#&#8203;3782](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3782)).
- `CopyableThreadContextElement` now properly copies an element when
crossing the coroutine boundary in `flowOn`
([#&#8203;3787](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3787)).
Thanks [@&#8203;wanyingd1996](https://togithub.com/wanyingd1996)!
- Coroutine timeouts no longer prevent K/N `newSingleThreadContext` from
closing
([#&#8203;3768](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3768)).
- A non-linearizability in `Mutex` during `tryLock`/`unlock` sequence
with owners is fixed
([#&#8203;3745](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3745)).
-   Atomicfu version is updated to 0.21.0.

###
[`v1.7.1`](https://togithub.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-171)

[Compare
Source](https://togithub.com/Kotlin/kotlinx.coroutines/compare/1.7.0...1.7.1)

##### Bug fixes and improvements

- Special characters in coroutine names in JSON dumps are supported
([#&#8203;3747](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3747))
- The binary compatibility of the experimental overload of `runTest` is
restored
([#&#8203;3673](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3673))
- Channels that don't use `onUndeliveredElement` now allocate less
memory
([#&#8203;3646](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3646))

###
[`v1.7.0`](https://togithub.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-170)

[Compare
Source](https://togithub.com/Kotlin/kotlinx.coroutines/compare/1.6.4...1.7.0)

##### Core API significant improvements

- New `Channel` implementation with significant performance improvements
across the API
([#&#8203;3621](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3621)).
- New `select` operator implementation: faster, more lightweight, and
more robust
([#&#8203;3020](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3020)).
- `Mutex` and `Semaphore` now share the same underlying data structure
([#&#8203;3020](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3020)).
- `Dispatchers.IO` is added to K/N
([#&#8203;3205](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3205))
- `newFixedThreadPool` and `Dispatchers.Default` implementations on K/N
were wholly rewritten to support graceful growth under load
([#&#8203;3595](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3595)).
-   `kotlinx-coroutines-test` rework:
- Add the `timeout` parameter to `runTest` for the whole-test timeout,
10 seconds by default
([#&#8203;3270](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3270)).
This replaces the configuration of quiescence timeouts, which is now
deprecated
([#&#8203;3603](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3603)).
- The `withTimeout` exception messages indicate if the timeout used the
virtual time
([#&#8203;3588](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3588)).
- `TestCoroutineScheduler`, `runTest`, and `TestScope` API are promoted
to stable
([#&#8203;3622](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3622)).
- `runTest` now also fails if there were uncaught exceptions in
coroutines not inherited from the test coroutine
([#&#8203;1205](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1205)).

##### Breaking changes

- Old K/N memory model is no longer supported
([#&#8203;3375](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3375)).
- New generic upper bounds were added to reactive integration API where
the language since 1.8.0 dictates
([#&#8203;3393](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3393)).
- `kotlinx-coroutines-core` and `kotlinx-coroutines-jdk8` artifacts were
merged into a single artifact
([#&#8203;3268](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3268)).
- Artificial stackframes in stacktrace recovery no longer contain the
`\b` symbol and are now navigable in IDE and supplied with proper
documentation
([#&#8203;2291](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2291)).
- `CoroutineContext.isActive` returns `true` for contexts without any
job in them
([#&#8203;3300](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3300)).

##### Bug fixes and improvements

-   Kotlin version is updated to 1.8.20
-   Atomicfu version is updated to 0.20.2.
- `JavaFx` version is updated to 17.0.2 in `kotlinx-coroutines-javafx`
([#&#8203;3671](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3671))..
- JPMS is supported
([#&#8203;2237](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2237)).
Thanks [@&#8203;lion7](https://togithub.com/lion7)!
- `BroadcastChannel` and all the corresponding API are deprecated
([#&#8203;2680](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2680)).
- Added all supported K/N targets
([#&#8203;3601](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3601),
[#&#8203;812](https://togithub.com/Kotlin/kotlinx.coroutines/issues/812),
[#&#8203;855](https://togithub.com/Kotlin/kotlinx.coroutines/issues/855)).
- K/N `Dispatchers.Default` is backed by the number of threads equal to
the number of available cores
([#&#8203;3366](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3366)).
- Fixed an issue where some coroutines' internal exceptions were not
properly serializable
([#&#8203;3328](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3328)).
- Introduced `Job.parent` API
([#&#8203;3201](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3201)).
- Fixed a bug when `TestScheduler` leaked cancelled jobs
([#&#8203;3398](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3398)).
- `TestScope.timeSource` now provides comparable time marks
([#&#8203;3617](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3617)).
Thanks [@&#8203;hfhbd](https://togithub.com/hfhbd)!
- Fixed an issue when cancelled `withTimeout` handles were preserved in
JS runtime
([#&#8203;3440](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3440)).
- Ensure `awaitFrame` only awaits a single frame when used from the main
looper
([#&#8203;3432](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3432)).
Thanks [@&#8203;pablobaxter](https://togithub.com/pablobaxter)!
- Obsolete `Class-Path` attribute was removed from
`kotlinx-coroutines-debug.jar` manifest
([#&#8203;3361](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3361)).
- Fixed a bug when `updateThreadContext` operated on the parent context
([#&#8203;3411](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3411)).
- Added new `Flow.filterIsInstance` extension
([#&#8203;3240](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3240)).
- `Dispatchers.Default` thread name prefixes are now configurable with
system property
([#&#8203;3231](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3231)).
- Added `Flow.timeout` operator as `@FlowPreview`
([#&#8203;2624](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2624)).
Thanks [@&#8203;pablobaxter](https://togithub.com/pablobaxter)!
- Improved the performance of the `future` builder in case of exceptions
([#&#8203;3475](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3475)).
Thanks [@&#8203;He-Pin](https://togithub.com/He-Pin)!
- `Mono.awaitSingleOrNull` now waits for the `onComplete` signal
([#&#8203;3487](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3487)).
- `Channel.isClosedForSend` and `Channel.isClosedForReceive` are
promoted from experimental to delicate
([#&#8203;3448](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3448)).
- Fixed a data race in native `EventLoop`
([#&#8203;3547](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3547)).
- `Dispatchers.IO.limitedParallelism(valueLargerThanIOSize)` no longer
creates an additional wrapper
([#&#8203;3442](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3442)).
Thanks [@&#8203;dovchinnikov](https://togithub.com/dovchinnikov)!
- Various `@FlowPreview` and `@ExperimentalCoroutinesApi` are promoted
to experimental and stable respectively
([#&#8203;3542](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3542),
[#&#8203;3097](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3097),
[#&#8203;3548](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3548)).
- Performance improvements in `Dispatchers.Default` and `Dispatchers.IO`
([#&#8203;3416](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3416),
[#&#8203;3418](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3418)).
- Fixed a bug when internal `suspendCancellableCoroutineReusable` might
have hanged
([#&#8203;3613](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3613)).
- Introduced internal API to process events in the current system
dispatcher
([#&#8203;3439](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3439)).
- Global `CoroutineExceptionHandler` is no longer invoked in case of
unprocessed `future` failure
([#&#8203;3452](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3452)).
- Performance improvements and reduced thread-local pressure for the
`withContext` operator
([#&#8203;3592](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3592)).
- Improved performance of `DebugProbes`
([#&#8203;3527](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3527)).
- Fixed a bug when the coroutine debugger might have detected the state
of a coroutine incorrectly
([#&#8203;3193](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3193)).
- `CoroutineDispatcher.asExecutor()` runs tasks without dispatching if
the dispatcher is unconfined
([#&#8203;3683](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3683)).
Thanks [@&#8203;odedniv](https://togithub.com/odedniv)!
- `SharedFlow.toMutableList` and `SharedFlow.toSet` lints are introduced
([#&#8203;3706](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3706)).
- `Channel.invokeOnClose` is promoted to stable API
([#&#8203;3358](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3358)).
- Improved lock contention in `Dispatchers.Default` and `Dispatchers.IO`
during the startup phase
([#&#8203;3652](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3652)).
- Fixed a bug that led to threads oversubscription in
`Dispatchers.Default`
([#&#8203;3642](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3642)).
- Fixed a bug that allowed `limitedParallelism` to perform dispatches
even after the underlying dispatcher was closed
([#&#8203;3672](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3672)).
- Fixed a bug that prevented stacktrace recovery when the exception's
constructor from `cause` was selected
([#&#8203;3714](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3714)).
- Improved sanitizing of stracktrace-recovered traces
([#&#8203;3714](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3714)).
- Introduced an internal flag to disable uncaught exceptions reporting
in tests as a temporary migration mechanism
([#&#8203;3736](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3736)).
-   Various documentation improvements and fixes.

Changelog for previous versions may be found in
[CHANGES_UP_TO\_1.7.md](CHANGES_UP_TO\_1.7.md)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/simpledotorg/simple-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Sasikanth Miriyampalli <hello@sasikanth.dev>
  • Loading branch information
renovate[bot] and msasikanth authored Apr 2, 2024
1 parent fbbef1f commit 6133ad6
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
- Bump AndroidX Work to v2.9.0
- Use ubuntu machine for running integration/ui tests on CI
- Bump Compose theme adapter to v0.34.0
- Bump Coroutines to v1.8.0

### Fixes

Expand Down
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ room-metadataGenerator = "2.0.1"

rx-binding = "3.1.0"

coroutines = "1.6.4"
coroutines = "1.8.0"

compose-compiler = "1.5.3"

Expand Down

0 comments on commit 6133ad6

Please sign in to comment.