dropbox / kaiken

User scoping library for Android applications.
Apache License 2.0
70 stars 12 forks source link

Bump kotlinx-coroutines-core from 1.5.2 to 1.6.0 #128

Closed dependabot[bot] closed 2 years ago

dependabot[bot] commented 2 years ago

Bumps kotlinx-coroutines-core from 1.5.2 to 1.6.0.

Release notes

Sourced from kotlinx-coroutines-core's releases.

1.6.0

Note that this is a full changelog relative to the 1.5.2 version. Changelog relative to 1.6.0-RC3 can be found at the end.

kotlinx-coroutines-test rework

Dispatchers

  • Introduced CoroutineDispatcher.limitedParallelism that allows obtaining a view of the original dispatcher with limited parallelism (#2919).
  • Dispatchers.IO.limitedParallelism usages ignore the bound on the parallelism level of Dispatchers.IO itself to avoid starvation (#2943).
  • Introduced new Dispatchers.shutdown method for containerized environments (#2558).
  • newSingleThreadContext and newFixedThreadPoolContext are promoted to delicate API (#2919).

Breaking changes

  • When racing with cancellation, the future builder no longer reports unhandled exceptions into the global CoroutineExceptionHandler. Thanks @​vadimsemenov! (#2774, #2791).
  • Mutex.onLock is deprecated for removal (#2794).
  • Dispatchers.Main is now used as the default source of time for delay and withTimeout when present (#2972).
    • To opt-out from this behaviour, kotlinx.coroutines.main.delay system property can be set to false.
  • Java target of coroutines build is now 8 instead of 6 (#1589).
  • Source-breaking change: extension collect no longer resolves when used with a non-in-place argument of a functional type. This is a candidate for a fix, uncovered after 1.6.0, see #3107 for the additional details.

Bug fixes and improvements

  • Kotlin is updated to 1.6.0.
  • Kotlin/Native new memory model is now supported in regular builds of coroutines conditionally depending on whether kotlin.native.binary.memoryModel is enabled (#2914).
  • Introduced CopyableThreadContextElement for mutable context elements shared among multiple coroutines. Thanks @​yorickhenning! (#2893).
  • transformWhile, awaitClose, ProducerScope, merge, runningFold, runingReduce, and scan are promoted to stable API (#2971).
  • SharedFlow.subscriptionCount no longer conflates incoming updates and gives all subscribers a chance to observe a short-lived subscription (#2488, #2863, #2871).
  • Flow exception transparency mechanism is improved to be more exception-friendly (#3017, #2860).
  • Cancellation from flat* operators that leverage multiple coroutines is no longer propagated upstream (#2964).
  • SharedFlow.collect now returns Nothing (#2789, #2502).
  • DisposableHandle is now fun interface, and corresponding inline extension is removed (#2790).
  • FlowCollector is now fun interface, and corresponding inline extension is removed (#3047).
  • Deprecation level of all previously deprecated signatures is raised (#3024).
  • The version file is shipped with each JAR as a resource (#2941).
  • Unhandled exceptions on K/N are passed to the standard library function processUnhandledException (#2981).
  • A direct executor is used for Task callbacks in kotlinx-coroutines-play-services (#2990).
  • Metadata of coroutines artifacts leverages Gradle platform to have all versions of dependencies aligned (#2865).
  • Default CoroutineExceptionHandler is loaded eagerly and does not invoke ServiceLoader on its exception-handling path (#2552).
  • Fixed the R8 rules for ServiceLoader optimization (#2880).
  • Fixed BlockHound integration false-positives (#2894, #2866, #2937).
  • Fixed the exception handler being invoked several times on Android, thanks to @​1zaman (#3056).
  • SendChannel.trySendBlocking is now available on Kotlin/Native (#3064).
  • The exception recovery mechanism now uses ClassValue when available (#2997).
  • JNA is updated to 5.9.0 to support Apple M1 (#3001).

... (truncated)

Changelog

Sourced from kotlinx-coroutines-core's changelog.

Version 1.6.0

Note that this is a full changelog relative to the 1.5.2 version. Changelog relative to 1.6.0-RC3 can be found at the end.

kotlinx-coroutines-test rework

Dispatchers

  • Introduced CoroutineDispatcher.limitedParallelism that allows obtaining a view of the original dispatcher with limited parallelism (#2919).
  • Dispatchers.IO.limitedParallelism usages ignore the bound on the parallelism level of Dispatchers.IO itself to avoid starvation (#2943).
  • Introduced new Dispatchers.shutdown method for containerized environments (#2558).
  • newSingleThreadContext and newFixedThreadPoolContext are promoted to delicate API (#2919).

Breaking changes

  • When racing with cancellation, the future builder no longer reports unhandled exceptions into the global CoroutineExceptionHandler. Thanks @​vadimsemenov! (#2774, #2791).
  • Mutex.onLock is deprecated for removal (#2794).
  • Dispatchers.Main is now used as the default source of time for delay and withTimeout when present(#2972).
    • To opt-out from this behaviour, kotlinx.coroutines.main.delay system property can be set to false.
  • Java target of coroutines build is now 8 instead of 6 (#1589).
  • Source-breaking change: extension collect no longer resolves when used with a non-in-place argument of a functional type. This is a candidate for a fix, uncovered after 1.6.0, see #3107 for the additional details.

Bug fixes and improvements

  • Kotlin is updated to 1.6.0.
  • Kotlin/Native new memory model is now supported in regular builds of coroutines conditionally depending on whether kotlin.native.binary.memoryModel is enabled (#2914).
  • Introduced CopyableThreadContextElement for mutable context elements shared among multiple coroutines. Thanks @​yorickhenning! (#2893).
  • transformWhile, awaitClose, ProducerScope, merge, runningFold, runingReduce, and scan are promoted to stable API (#2971).
  • SharedFlow.subscriptionCount no longer conflates incoming updates and gives all subscribers a chance to observe a short-lived subscription (#2488, #2863, #2871).
  • Flow exception transparency mechanism is improved to be more exception-friendly (#3017, #2860).
  • Cancellation from flat* operators that leverage multiple coroutines is no longer propagated upstream (#2964).
  • SharedFlow.collect now returns Nothing (#2789, #2502).
  • DisposableHandle is now fun interface, and corresponding inline extension is removed (#2790).
  • FlowCollector is now fun interface, and corresponding inline extension is removed (#3047).
  • Deprecation level of all previously deprecated signatures is raised (#3024).
  • The version file is shipped with each JAR as a resource (#2941).
  • Unhandled exceptions on K/N are passed to the standard library function processUnhandledException (#2981).
  • A direct executor is used for Task callbacks in kotlinx-coroutines-play-services (#2990).
  • Metadata of coroutines artifacts leverages Gradle platform to have all versions of dependencies aligned (#2865).
  • Default CoroutineExceptionHandler is loaded eagerly and does not invoke ServiceLoader on its exception-handling path (#2552).
  • Fixed the R8 rules for ServiceLoader optimization (#2880).
  • Fixed BlockHound integration false-positives (#2894, #2866, #2937).
  • Fixed the exception handler being invoked several times on Android, thanks to @​1zaman (#3056).
  • SendChannel.trySendBlocking is now available on Kotlin/Native (#3064).
  • The exception recovery mechanism now uses ClassValue when available (#2997).

... (truncated)

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 2 years ago

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.