numbersprotocol / starling-capture

A photo-sharing app with only verifiable photos and videos for professionals.
https://numbersprotocol.io/
GNU General Public License v3.0
17 stars 4 forks source link

Bump kotlinx-coroutines-core from 1.3.9 to 1.4.1 #141

Closed dependabot-preview[bot] closed 3 years ago

dependabot-preview[bot] commented 3 years ago

Bumps kotlinx-coroutines-core from 1.3.9 to 1.4.1.

Release notes

Sourced from kotlinx-coroutines-core's releases.

1.4.1

This is a patch release with an important fix to the SharedFlow implementation.

  • SharedFlow: Fix scenario with concurrent emitters and cancellation of a subscriber (#2359, thanks to @vehovsky for the bug report).

1.4.0

Improvements

  • StateFlow, SharedFlow and corresponding operators are promoted to stable API (#2316).
  • Flow.debounce operator with timeout selector based on each individual element is added (#1216, thanks to @mkano9!).
  • CoroutineContext.job extension property is introduced (#2159).
  • Flow.combine operator is reworked:
    • Complete fairness is maintained for single-threaded dispatchers.
    • Its performance is improved, depending on the use-case, by at least 50% (#2296).
    • Quadratic complexity depending on the number of upstream flows is eliminated (#2296).
    • crossinline and inline-heavy internals are removed, fixing sporadic SIGSEGV on Mediatek Android devices (#1683, #1743).
  • Flow.zip operator performance is improved by 40%.
  • Various API has been promoted to stable or its deprecation level has been raised (#2316).

Bug fixes

  • Suspendable stateIn operator propagates exception to the caller when upstream fails to produce initial value (#2329).
  • Fix SharedFlow with replay for subscribers working at different speed (#2325).
  • Do not fail debug agent installation when security manager does not provide access to system properties (#2311).
  • Cancelled lazy coroutines are properly cleaned up from debug agent output (#2294).
  • BlockHound false-positives are correctly filtered out (#2302, #2190, #2303).
  • Potential crash during a race between cancellation and upstream in Observable.asFlow is fixed (#2104, #2299, thanks to @LouisCAD and @drinkthestars).

1.4.0-M1

Breaking changes

  • The concept of atomic cancellation in channels is removed. All operations in channels and corresponding Flow operators are cancellable in non-atomic way (#1813).
  • If CoroutineDispatcher throws RejectedExecutionException, cancel current Job and schedule its execution to Dispatchers.IO (#2003).
  • CancellableContinuation.invokeOnCancellation is invoked if the continuation was cancelled while its resume has been dispatched (#1915).
  • Flow.singleOrNull operator is aligned with standard library and does not longer throw IllegalStateException on multiple values (#2289).

New experimental features

  • SharedFlow primitive for managing hot sources of events with support of various subscription mechanisms, replay logs and buffering (#2034).
  • Flow.shareIn and Flow.stateIn operators to transform cold instances of flow to hot SharedFlow and StateFlow respectively (#2047).

Other

  • Support leak-free closeable resources transfer via onUndeliveredElement in channels (#1936).
  • Changed ABI in reactive integrations for Java interoperability (#2182).
  • Fixed ProGuard rules for kotlinx-coroutines-core (#2046, #2266).
  • Lint settings were added to Flow to avoid accidental capturing of outer CoroutineScope for cancellation check (#2038).

External contributions

Changelog

Sourced from kotlinx-coroutines-core's changelog.

Version 1.4.1

This is a patch release with an important fix to the SharedFlow implementation.

  • SharedFlow: Fix scenario with concurrent emitters and cancellation of subscriber (#2359, thanks to @vehovsky for the bug report).

Version 1.4.0

Improvements

  • StateFlow, SharedFlow and corresponding operators are promoted to stable API (#2316).
  • Flow.debounce operator with timeout selector based on each individual element is added (#1216, thanks to @mkano9!).
  • CoroutineContext.job extension property is introduced (#2159).
  • Flow.combine operator is reworked:
    • Complete fairness is maintained for single-threaded dispatchers.
    • Its performance is improved, depending on the use-case, by at least 50% (#2296).
    • Quadratic complexity depending on the number of upstream flows is eliminated (#2296).
    • crossinline and inline-heavy internals are removed, fixing sporadic SIGSEGV on Mediatek Android devices (#1683, #1743).
  • Flow.zip operator performance is improved by 40%.
  • Various API has been promoted to stable or its deprecation level has been raised (#2316).

Bug fixes

  • Suspendable stateIn operator propagates exception to the caller when upstream fails to produce initial value (#2329).
  • Fix SharedFlow with replay for subscribers working at different speed (#2325).
  • Do not fail debug agent installation when security manager does not provide access to system properties (#2311).
  • Cancelled lazy coroutines are properly cleaned up from debug agent output (#2294).
  • BlockHound false-positives are correctly filtered out (#2302, #2190, #2303).
  • Potential crash during a race between cancellation and upstream in Observable.asFlow is fixed (#2104, #2299, thanks to @LouisCAD and @drinkthestars).

Version 1.4.0-M1

Breaking changes

  • The concept of atomic cancellation in channels is removed. All operations in channels and corresponding Flow operators are cancellable in non-atomic way (#1813).
  • If CoroutineDispatcher throws RejectedExecutionException, cancel current Job and schedule its execution to Dispatchers.IO (#2003).
  • CancellableContinuation.invokeOnCancellation is invoked if the continuation was cancelled while its resume has been dispatched (#1915).
  • Flow.singleOrNull operator is aligned with standard library and does not longer throw IllegalStateException on multiple values (#2289).

New experimental features

  • SharedFlow primitive for managing hot sources of events with support of various subscription mechanisms, replay logs and buffering (#2034).
  • Flow.shareIn and Flow.stateIn operators to transform cold instances of flow to hot SharedFlow and StateFlow respectively (#2047).

Other

  • Support leak-free closeable resources transfer via onUndeliveredElement in channels (#1936).
  • Changed ABI in reactive integrations for Java interoperability (#2182).
  • Fixed ProGuard rules for kotlinx-coroutines-core (#2046, #2266).
Commits
  • c35ce7e Version 1.4.1
  • e710048 SharedFlow: Fix scenario with concurrent emitters and cancellation of subscri...
  • 4ea4078 Merge pull request #2337 from Kotlin/version-1.4.0
  • 00da1ac Acknowledge external contributors
  • f1e35a0 Version 1.4.0
  • 727dd58 Merge remote-tracking branch 'origin/master' into develop
  • e16eb9d Update experimental declarations (#2316)
  • 92db4e1 Add debounce with selector and kotlin.time (#2336)
  • 53f007f Fix SharedFlow with replay for subscribers working at different speed (#2325)
  • 45ba58e Fix BlockHound false positives (#2331)
  • Additional commits viewable in compare view


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 use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)
dependabot-preview[bot] commented 3 years ago

Superseded by #160.