Closed renovate[bot] closed 2 months ago
This would be very nice to merge and to release a new 2.1.*
version. The ktor-*
artifacts of version 2.2.3
are hurt with high-priority CVEs, see https://github.com/algolia/algoliasearch-client-kotlin/issues/412.
This PR contains the following updates:
v3
->v4
v3
->v4
8.7
->8.9
v2
->v3
11.0.22+7
->21.0.4+7.0.LTS
6.14.0
->6.25.0
0.24.0
->0.29.0
0.12.1
->0.16.3
1.6.4
->1.8.1
1.5.1
->1.7.1
2.2.3
->2.3.12
2.2.3
->2.3.12
2.2.3
->2.3.12
2.2.3
->2.3.12
2.2.3
->2.3.12
2.2.3
->2.3.12
2.2.3
->2.3.12
2.2.3
->2.3.12
2.2.3
->2.3.12
2.2.3
->2.3.12
2.2.3
->2.3.12
1.8.10
->2.0.10
1.8.10
->2.0.10
Release Notes
actions/checkout (actions/checkout)
### [`v4`](https://togithub.com/actions/checkout/blob/HEAD/CHANGELOG.md#v417) [Compare Source](https://togithub.com/actions/checkout/compare/v3...v4) - Bump the minor-npm-dependencies group across 1 directory with 4 updates by [@dependabot](https://togithub.com/dependabot) in [https://github.com/actions/checkout/pull/1739](https://togithub.com/actions/checkout/pull/1739) - Bump actions/checkout from 3 to 4 by [@dependabot](https://togithub.com/dependabot) in [https://github.com/actions/checkout/pull/1697](https://togithub.com/actions/checkout/pull/1697) - Check out other refs/\* by commit by [@orhantoy](https://togithub.com/orhantoy) in [https://github.com/actions/checkout/pull/1774](https://togithub.com/actions/checkout/pull/1774) - Pin actions/checkout's own workflows to a known, good, stable version. by [@jww3](https://togithub.com/jww3) in [https://github.com/actions/checkout/pull/1776](https://togithub.com/actions/checkout/pull/1776)actions/setup-java (actions/setup-java)
### [`v4`](https://togithub.com/actions/setup-java/compare/v3...v4) [Compare Source](https://togithub.com/actions/setup-java/compare/v3...v4)gradle/gradle (gradle)
### [`v8.9`](https://togithub.com/gradle/gradle/compare/v8.8.0...v8.9.0) [Compare Source](https://togithub.com/gradle/gradle/compare/v8.8.0...v8.9.0) ### [`v8.8`](https://togithub.com/gradle/gradle/releases/tag/v8.8.0): 8.8 [Compare Source](https://togithub.com/gradle/gradle/compare/v8.7.0...v8.8.0) The Gradle team is excited to announce Gradle 8.8. [Read the Release Notes](https://docs.gradle.org/8.8/release-notes.html) We would like to thank the following community members for their contributions to this release of Gradle: [Björn Kautler](https://togithub.com/Vampire), [Denes Daniel](https://togithub.com/pantherdd), [Fabian Windheuser](https://togithub.com/fawind), [Hélio Fernandes Sebastião](https://togithub.com/helfese), [Jay Wei](https://togithub.com/JayWei1215), [jhrom](https://togithub.com/jhrom), [jwp345](https://togithub.com/jwp345), [Jörgen Andersson](https://togithub.com/jorander), [Kirill Gavrilov](https://togithub.com/gavvvr), [MajesticMagikarpKing](https://togithub.com/yctomwang), [Maksim Lazeba](https://togithub.com/M-Lazeba), [Philip Wedemann](https://togithub.com/hfhbd), [Robert Elliot](https://togithub.com/Mahoney), [Róbert Papp](https://togithub.com/TWiStErRob), [Stefan M.](https://togithub.com/StefMa), [Tibor Vyletel](https://togithub.com/TiborVyletel), [Tony Robalik](https://togithub.com/autonomousapps), [Valentin Kulesh](https://togithub.com/unshare), [Yanming Zhou](https://togithub.com/quaff), [김용후](https://togithub.com/who-is-hu) #### Upgrade instructions Switch your build to use Gradle 8.8 by updating your wrapper: ./gradlew wrapper --gradle-version=8.8 See the Gradle [8.x upgrade guide](https://docs.gradle.org/8.8/userguide/upgrading_version\_8.html) to learn about deprecations, breaking changes and other considerations when upgrading. For Java, Groovy, Kotlin and Android compatibility, see the [full compatibility notes](https://docs.gradle.org/8.8/userguide/compatibility.html). #### Reporting problems If you find a problem with this release, please file a bug on [GitHub Issues](https://togithub.com/gradle/gradle/issues) adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the [forum](https://discuss.gradle.org/c/help-discuss). We hope you will build happiness with Gradle, and we look forward to your feedback via [Twitter](https://twitter.com/gradle) or on [GitHub](https://togithub.com/gradle).gradle/gradle-build-action (gradle/gradle-build-action)
### [`v3`](https://togithub.com/gradle/gradle-build-action/compare/v2...v3) [Compare Source](https://togithub.com/gradle/gradle-build-action/compare/v2...v3)vanniktech/gradle-maven-publish-plugin (com.vanniktech.maven.publish)
### [`v0.29.0`](https://togithub.com/vanniktech/gradle-maven-publish-plugin/blob/HEAD/CHANGELOG.md#0290--2024-06-20-) [Compare Source](https://togithub.com/vanniktech/gradle-maven-publish-plugin/compare/0.28.0...0.29.0) - Added `configureBasedOnAppliedPlugins(sourcesJar: Boolean, javadocJar: Boolean)` overload that allows disabling sources and javadoc jars without having to use the more granular `Platform` APIs. - For Java library and Kotlin/JVM projects the Gradle module metadata now properly includes the sources jar. - When running on Gradle 8.8 or newer the pom configuration is not applied in `afterEvaluate` anymore, making manual overrides easier. - Fix potential issue with the javadoc jar tasks that can cause Gradle to disable optimizations. - When staging profiles can't be loaded the status code of the response is added to the error message. ##### Minimum supported versions - JDK 11 - Gradle 8.1 - Android Gradle Plugin 8.0.0 - Kotlin Gradle Plugin 1.9.20 ##### Compatibility tested up to - JDK 21 - Gradle 8.8 - Android Gradle Plugin 8.5.0 - Android Gradle Plugin 8.6.0-alpha06 - Kotlin Gradle Plugin 2.0.0 - Kotlin Gradle Plugin 2.0.20-Beta1 ##### Configuration cache status Configuration cache is generally supported, except for: - Publishing releases to Maven Central (snapshots are fine), blocked by [Gradle issue #22779](https://togithub.com/gradle/gradle/issues/22779). - Dokka does not support configuration cache ### [`v0.28.0`](https://togithub.com/vanniktech/gradle-maven-publish-plugin/blob/HEAD/CHANGELOG.md#0280--2024-03-12-) [Compare Source](https://togithub.com/vanniktech/gradle-maven-publish-plugin/compare/0.27.0...0.28.0) - Added support for publishing through the new [Central Portal](https://central.sonatype.com). To use this use the `CENTRAL_PORTAL` option when specifying the Sonatype host. - For Kotlin Multiplatform the main plugin will now automatically publish the `release` variant if the project has an Android target and no variant was explicitly specified through the Kotlin Gradle DSL. - Support specifying the Android variants to publish in `KotlinMultiplatform(...)`. - Updated minimum supported Gradle, Android Gradle Plugin and Kotlin versions. - Removed support for the deprecated Kotlin/JS plugin. - Removed the deprecated `closeAndReleaseRepository` task. Use `releaseRepository`, which is functionally equivalent, instead. ##### Minimum supported versions - JDK 11 - Gradle 8.1 - Android Gradle Plugin 8.0.0 - Kotlin Gradle Plugin 1.9.20 ##### Compatibility tested up to - JDK 21 - Gradle 8.6 - Gradle 8.7-rc-3 - Android Gradle Plugin 8.3.0 - Android Gradle Plugin 8.4.0-alpha13 - Kotlin Gradle Plugin 1.9.23 - Kotlin Gradle Plugin 2.0.0-Beta4 ##### Configuration cache status Configuration cache is generally supported, except for: - Publishing releases to Maven Central (snapshots are fine), blocked by [Gradle issue #22779](https://togithub.com/gradle/gradle/issues/22779). - Dokka does not support configuration cache ### [`v0.27.0`](https://togithub.com/vanniktech/gradle-maven-publish-plugin/blob/HEAD/CHANGELOG.md#0270--2024-01-06-) [Compare Source](https://togithub.com/vanniktech/gradle-maven-publish-plugin/compare/0.26.0...0.27.0) - Added new publishing related tasks - `releaseRepository` releases a staging repository at the end of the build and can be executed in the same build as the publishing task. This allows having automatic releases without permanently enabling them. - `publishToMavenCentral` as alias for running `publishAllPublicationsToMavenCentralRepository`. - `publishAndReleaseToMavenCentral` as alias for running both of the above. - For more information [checkout the docs](https://vanniktech.github.io/gradle-maven-publish-plugin/central/#publishing-releases). - It is now possible to only pass a subset of the parameters to `coordinates(...)` and leave the others at their default value. Thanks to [@sschuberth](https://togithub.com/sschuberth) for the contribution. - Fixed `java-test-fixture` projects being broken with Gradle 8.6. - Deprecated `closeAndReleaseRepository` in favor of `releaseRepository`. ##### Minimum supported versions - JDK 11 - Gradle 7.6 - Android Gradle Plugin 7.4.0 - Kotlin Gradle Plugin 1.8.20 ##### Compatibility tested up to - JDK 21 - Gradle 8.5 - Gradle 8.6-rc-1 - Android Gradle Plugin 8.2.1 - Android Gradle Plugin 8.3.0-beta01 - Android Gradle Plugin 8.4.0-alpha03 - Kotlin Gradle Plugin 1.9.22 - Kotlin Gradle Plugin 2.0.0-Beta2 ##### Configuration cache status When using **Gradle 8.1** or newer configuration cache is generally supported. Exceptions to that are: - Publishing releases to Maven Central (snapshots are fine), blocked by [Gradle issue #22779](https://togithub.com/gradle/gradle/issues/22779). - Dokka does not support configuration cache ### [`v0.26.0`](https://togithub.com/vanniktech/gradle-maven-publish-plugin/blob/HEAD/CHANGELOG.md#0260--2023-12-19-) [Compare Source](https://togithub.com/vanniktech/gradle-maven-publish-plugin/compare/0.25.3...0.26.0) - It's now supported to call `configure(Platform)` from the main plugin to modify what is getting published. [Check out the docs for more details](https://vanniktech.github.io/gradle-maven-publish-plugin/what/) - The base plugin now has a `configureBasedOnAppliedPlugins` DSL method to allow applying the default `configure` logic of the main plugin. - Calling `configure(Platform)` now validates that the required plugins are applied (e.g. Android Gradle Plugin for Android projects). - It's now possible to disable source publishing for KMP projects. - Fixed an issue which would cause the javadoc jar task to be registered multiple times for Gradle plugin projects with more than one publication. Thanks to [@autonomousapps](https://togithub.com/autonomousapps) for the fix. - Publishing Kotlin/JS projects has been deprecated and will be removed in the next release, because the Kotlin/JS plugin has been deprecated. - The internal task to create a javadoc jar for certain project types has been renamed from `simpleJavadocJar` to `plainJavadocJar`. Thanks to [@sschuberth](https://togithub.com/sschuberth). ##### Minimum supported versions - JDK 11 - Gradle 7.6 - Android Gradle Plugin 7.4.0 - Kotlin Gradle Plugin 1.8.20 ##### Compatibility tested up to - JDK 21 - Gradle 8.5 - Android Gradle Plugin 8.2.0 - Android Gradle Plugin 8.3.0-alpha17 - Kotlin Gradle Plugin 1.9.21 - Kotlin Gradle Plugin 2.0.0-Beta1 ##### Configuration cache status When using **Gradle 8.1** or newer configuration cache is generally supported. Exceptions to that are: - Publishing releases to Maven Central (snapshots are fine), blocked by [Gradle issue #22779](https://togithub.com/gradle/gradle/issues/22779). - Dokka does not support configuration cache ### [`v0.25.3`](https://togithub.com/vanniktech/gradle-maven-publish-plugin/blob/HEAD/CHANGELOG.md#0253--2023-07-01-) [Compare Source](https://togithub.com/vanniktech/gradle-maven-publish-plugin/compare/0.25.2...0.25.3) - Gradle 8.2: Fix error for projects that use the `java-test-fixtures` plugin. - Fix issue for Kotlin Multiplatform projects when running tests and having signing enabled. ### [`v0.25.2`](https://togithub.com/vanniktech/gradle-maven-publish-plugin/blob/HEAD/CHANGELOG.md#0252--2023-04-16-) [Compare Source](https://togithub.com/vanniktech/gradle-maven-publish-plugin/compare/0.25.1...0.25.2) - Fix javadoc jar being empty when using dokka. ### [`v0.25.1`](https://togithub.com/vanniktech/gradle-maven-publish-plugin/blob/HEAD/CHANGELOG.md#0251--2023-03-24-) [Compare Source](https://togithub.com/vanniktech/gradle-maven-publish-plugin/compare/0.25.0...0.25.1) - Fix snapshot publishing being broken. ### [`v0.25.0`](https://togithub.com/vanniktech/gradle-maven-publish-plugin/blob/HEAD/CHANGELOG.md#0250--2023-03-23-) [Compare Source](https://togithub.com/vanniktech/gradle-maven-publish-plugin/compare/0.24.0...0.25.0) - The `createStagingRepository` task now uses the worker API which allows the project to built in parallel to the creation of the staging repository. - Fix incompatibility with Kotlin 1.8.20-Beta for Kotlin/JS projects. The Kotlin/JS plugin is now taking care of creating the sources jar on its own. Because of this the base plugin won't allow disabling sources jar creation for Kotlin/JS projects anymore starting with 1.8.20. The `KotlinJs` constructor with a `sourcesJar` parameter has been deprecated. - Fix incompatibility with Gradle 8.1 for `java-test-fixtures` projects - Fix incompatibility with `com.gradle.plugin-publish` 1.0.0 and 1.1.0 - New minimum supported versions: - Gradle 7.4 - Android Gradle Plugin 7.3.0 - Kotlin Gradle Plugin 1.7.0 - `com.gradle.plugin-publish` 1.0.0 - Note: Starting with Kotlin 1.8.20-Beta the `common` sources jar for multiplatform projects will only contain the sources of the common source set instead of containing the sources from all source sets. ##### Configuration cache status Configuration cache is supported starting with **Gradle 7.6+** except for: - Builds with enabled signing, will be resolved in Gradle 8.1. - Publishing releases to Maven Central (snapshots are fine), blocked by [Gradle issue #22779](https://togithub.com/gradle/gradle/issues/22779). - Kotlin Multiplatform projects, blocked by [KT-49933](https://youtrack.jetbrains.com/issue/KT-49933).Kotlin/binary-compatibility-validator (org.jetbrains.kotlinx.binary-compatibility-validator)
### [`v0.16.3`](https://togithub.com/Kotlin/binary-compatibility-validator/releases/tag/0.16.3) [Compare Source](https://togithub.com/Kotlin/binary-compatibility-validator/compare/0.16.2...0.16.3) What's Changed: - Fixed support for Gradle version older than `8.2` ([#263](https://togithub.com/Kotlin/binary-compatibility-validator/issues/263)) ### [`v0.16.2`](https://togithub.com/Kotlin/binary-compatibility-validator/releases/tag/0.16.2) ##### What's Changed: - The plugin was changed to use the Gradle Workers API and its classpath isolation mode to remove almost all dependencies from the plugin itself; all required libraries are now fetched on demand, in isolation from the buildscript classpath ([#208](https://togithub.com/Kotlin/binary-compatibility-validator/issues/208), [#256](https://togithub.com/Kotlin/binary-compatibility-validator/issues/256), [#258](https://togithub.com/Kotlin/binary-compatibility-validator/issues/258)). ### [`v0.16.0`](https://togithub.com/Kotlin/binary-compatibility-validator/releases/tag/0.16.0) [Compare Source](https://togithub.com/Kotlin/binary-compatibility-validator/compare/0.15.1...0.16.0) ##### What changed: - Updated Kotlin Metadata JVM library to the latest version (now it's `kotlin-metadata-jvm:2.0.0`) [#255](https://togithub.com/Kotlin/binary-compatibility-validator/issues/255) - Various improvements in KLib ABI dumping API [#253](https://togithub.com/Kotlin/binary-compatibility-validator/issues/253), [#254](https://togithub.com/Kotlin/binary-compatibility-validator/issues/254) ### [`v0.15.1`](https://togithub.com/Kotlin/binary-compatibility-validator/releases/tag/0.15.1) [Compare Source](https://togithub.com/Kotlin/binary-compatibility-validator/compare/0.15.0...0.15.1) ##### What changed: - Fixed a regression introduced in `0.15.0` affecting how enum entries from classes with non-public companions are dumped ([#250](https://togithub.com/Kotlin/binary-compatibility-validator/issues/250)) ### [`v0.15.0`](https://togithub.com/Kotlin/binary-compatibility-validator/releases/tag/0.15.0) [Compare Source](https://togithub.com/Kotlin/binary-compatibility-validator/compare/0.14.0...0.15.0) This release finalizes what was added in the series of beta releases and adds Kotlin libraries (KLib) dumping and validation support. See [project's README](https://togithub.com/Kotlin/binary-compatibility-validator/tree/master?tab=readme-ov-file#experimental-klib-abi-validation-support) for details on how to enable it for your project. **The release contains some breaking changes** that were made to align and fix BCV behavior across all supported configurations: - BCV now (again) uses case-sensitive dump file names ([https://github.com/Kotlin/binary-compatibility-validator/pull/237](https://togithub.com/Kotlin/binary-compatibility-validator/pull/237)); - Multiplatform projects having no release sources (for instance, test-only projects) now need to be either explicitly excluded or an empty dump file needs to be generated for them ([https://github.com/Kotlin/binary-compatibility-validator/issues/231](https://togithub.com/Kotlin/binary-compatibility-validator/issues/231)); - Gradle tasks provided by the plugin changed their API to use Gradle Properties instead of plain Kotlin properties. If any of these changes affect your projects, **please check the migration guide** for details on what needs to be done to update BCV to 0.15.0: [0.15.0 Migration Guide](https://togithub.com/Kotlin/binary-compatibility-validator/blob/master/docs/design/0.15.0-migration-guide.md). ##### What changed: ##### From `0.15.0-Beta.3` - Non-public markers are now correctly handled when applied to `const val`s ([#90](https://togithub.com/Kotlin/binary-compatibility-validator/issues/90), [#245](https://togithub.com/Kotlin/binary-compatibility-validator/issues/245)) - Fixed KLib dump and validation behavior for empty projects ([#246](https://togithub.com/Kotlin/binary-compatibility-validator/issues/246), [#247](https://togithub.com/Kotlin/binary-compatibility-validator/issues/247)); now `apiDump` will emit an empty file and `apiCheck` will successfully consume it ##### From `0.14.0` (brief overview of Beta.1 .. Beta.3 changes) - `ListKotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-test)
### [`v1.8.1`](https://togithub.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-181) [Compare Source](https://togithub.com/Kotlin/kotlinx.coroutines/compare/1.8.0...1.8.1) - Remove the `@ExperimentalTime` annotation from usages of `TimeSource` ([#4046](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4046)). Thanks, [@hfhbd](https://togithub.com/hfhbd)! - Introduce a workaround for an Android bug that caused an occasional `NullPointerException` when setting the `StateFlow` value on old Android devices ([#3820](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3820)). - No longer use `kotlin.random.Random` as part of `Dispatchers.Default` and `Dispatchers.IO` initialization ([#4051](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4051)). - `Flow.timeout` throws the exception with which the channel was closed ([#4071](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4071)). - Small tweaks and documentation fixes. ##### Changelog relative to version 1.8.1-Beta - `Flow.timeout` throws the exception with which the channel was closed ([#4071](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4071)). - Small documentation fixes. ### [`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)). - ImprovedConfiguration
📅 Schedule: Branch creation - "before 3am on the first day of the month" (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.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.