openhab / openhab-android

openHAB client for Android
https://play.google.com/store/apps/details?id=org.openhab.habdroid
Eclipse Public License 2.0
580 stars 316 forks source link

Update kotlin_coroutines_version to v1.8.0 #3669

Closed renovate[bot] closed 1 month ago

renovate[bot] commented 1 month ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
org.jetbrains.kotlinx:kotlinx-coroutines-test 1.6.4 -> 1.8.0 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-coroutines-android 1.6.4 -> 1.8.0 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-coroutines-jdk9 1.6.4 -> 1.8.0 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-coroutines-core 1.6.4 -> 1.8.0 age adoption passing confidence

Release Notes

Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-test) ### [`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 ([#​3713](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3713)). Thanks [@​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` ([#​3545](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3545), [#​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 ([#​4035](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4035), [#​4038](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4038)) - `kotlinx-coroutines-debug` is published with the correct Java 9 module info ([#​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 ([#​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` ([#​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 ([#​3800](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3800)). - `delay(Duration)` rounds nanoseconds up to whole milliseconds and not down ([#​3920](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3920)). Thanks [@​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 ([#​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` ([#​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 ([#​3954](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3954)). - Added a workaround for miscompilation of `withLock` on JS ([#​3881](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3881)). Thanks [@​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 ([#​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 ([#​4035](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4035), [#​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 ([#​3809](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3809)). - Fixed a bug introduced in 1.7.2 that disabled the coroutine debugger in IDEA ([#​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 ([#​3782](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3782)). - `CopyableThreadContextElement` now properly copies an element when crossing the coroutine boundary in `flowOn` ([#​3787](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3787)). Thanks [@​wanyingd1996](https://togithub.com/wanyingd1996)! - Coroutine timeouts no longer prevent K/N `newSingleThreadContext` from closing ([#​3768](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3768)). - A non-linearizability in `Mutex` during `tryLock`/`unlock` sequence with owners is fixed ([#​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 ([#​3747](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3747)) - The binary compatibility of the experimental overload of `runTest` is restored ([#​3673](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3673)) - Channels that don't use `onUndeliveredElement` now allocate less memory ([#​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 ([#​3621](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3621)). - New `select` operator implementation: faster, more lightweight, and more robust ([#​3020](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3020)). - `Mutex` and `Semaphore` now share the same underlying data structure ([#​3020](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3020)). - `Dispatchers.IO` is added to K/N ([#​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 ([#​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 ([#​3270](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3270)). This replaces the configuration of quiescence timeouts, which is now deprecated ([#​3603](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3603)). - The `withTimeout` exception messages indicate if the timeout used the virtual time ([#​3588](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3588)). - `TestCoroutineScheduler`, `runTest`, and `TestScope` API are promoted to stable ([#​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 ([#​1205](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1205)). ##### Breaking changes - Old K/N memory model is no longer supported ([#​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 ([#​3393](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3393)). - `kotlinx-coroutines-core` and `kotlinx-coroutines-jdk8` artifacts were merged into a single artifact ([#​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 ([#​2291](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2291)). - `CoroutineContext.isActive` returns `true` for contexts without any job in them ([#​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` ([#​3671](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3671)).. - JPMS is supported ([#​2237](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2237)). Thanks [@​lion7](https://togithub.com/lion7)! - `BroadcastChannel` and all the corresponding API are deprecated ([#​2680](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2680)). - Added all supported K/N targets ([#​3601](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3601), [#​812](https://togithub.com/Kotlin/kotlinx.coroutines/issues/812), [#​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 ([#​3366](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3366)). - Fixed an issue where some coroutines' internal exceptions were not properly serializable ([#​3328](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3328)). - Introduced `Job.parent` API ([#​3201](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3201)). - Fixed a bug when `TestScheduler` leaked cancelled jobs ([#​3398](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3398)). - `TestScope.timeSource` now provides comparable time marks ([#​3617](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3617)). Thanks [@​hfhbd](https://togithub.com/hfhbd)! - Fixed an issue when cancelled `withTimeout` handles were preserved in JS runtime ([#​3440](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3440)). - Ensure `awaitFrame` only awaits a single frame when used from the main looper ([#​3432](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3432)). Thanks [@​pablobaxter](https://togithub.com/pablobaxter)! - Obsolete `Class-Path` attribute was removed from `kotlinx-coroutines-debug.jar` manifest ([#​3361](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3361)). - Fixed a bug when `updateThreadContext` operated on the parent context ([#​3411](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3411)). - Added new `Flow.filterIsInstance` extension ([#​3240](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3240)). - `Dispatchers.Default` thread name prefixes are now configurable with system property ([#​3231](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3231)). - Added `Flow.timeout` operator as `@FlowPreview` ([#​2624](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2624)). Thanks [@​pablobaxter](https://togithub.com/pablobaxter)! - Improved the performance of the `future` builder in case of exceptions ([#​3475](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3475)). Thanks [@​He-Pin](https://togithub.com/He-Pin)! - `Mono.awaitSingleOrNull` now waits for the `onComplete` signal ([#​3487](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3487)). - `Channel.isClosedForSend` and `Channel.isClosedForReceive` are promoted from experimental to delicate ([#​3448](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3448)). - Fixed a data race in native `EventLoop` ([#​3547](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3547)). - `Dispatchers.IO.limitedParallelism(valueLargerThanIOSize)` no longer creates an additional wrapper ([#​3442](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3442)). Thanks [@​dovchinnikov](https://togithub.com/dovchinnikov)! - Various `@FlowPreview` and `@ExperimentalCoroutinesApi` are promoted to experimental and stable respectively ([#​3542](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3542), [#​3097](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3097), [#​3548](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3548)). - Performance improvements in `Dispatchers.Default` and `Dispatchers.IO` ([#​3416](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3416), [#​3418](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3418)). - Fixed a bug when internal `suspendCancellableCoroutineReusable` might have hanged ([#​3613](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3613)). - Introduced internal API to process events in the current system dispatcher ([#​3439](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3439)). - Global `CoroutineExceptionHandler` is no longer invoked in case of unprocessed `future` failure ([#​3452](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3452)). - Performance improvements and reduced thread-local pressure for the `withContext` operator ([#​3592](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3592)). - Improved performance of `DebugProbes` ([#​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 ([#​3193](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3193)). - `CoroutineDispatcher.asExecutor()` runs tasks without dispatching if the dispatcher is unconfined ([#​3683](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3683)). Thanks [@​odedniv](https://togithub.com/odedniv)! - `SharedFlow.toMutableList` and `SharedFlow.toSet` lints are introduced ([#​3706](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3706)). - `Channel.invokeOnClose` is promoted to stable API ([#​3358](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3358)). - Improved lock contention in `Dispatchers.Default` and `Dispatchers.IO` during the startup phase ([#​3652](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3652)). - Fixed a bug that led to threads oversubscription in `Dispatchers.Default` ([#​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 ([#​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 ([#​3714](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3714)). - Improved sanitizing of stracktrace-recovered traces ([#​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 ([#​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)

Configuration

📅 Schedule: Branch creation - "before 4am on Monday" (UTC), 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.



This PR has been generated by Mend Renovate. View repository job log here.