Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update coroutines to v1.7.1 #272

Merged
merged 1 commit into from
May 17, 2023
Merged

Update coroutines to v1.7.1 #272

merged 1 commit into from
May 17, 2023

Conversation

juul-mobile-bot
Copy link
Contributor

@juul-mobile-bot juul-mobile-bot commented May 12, 2023

This PR contains the following updates:

Package Type Update Change
org.jetbrains.kotlinx:kotlinx-coroutines-test dependencies minor 1.6.4 -> 1.7.1
org.jetbrains.kotlinx:kotlinx-coroutines-core dependencies minor 1.6.4 -> 1.7.1
org.jetbrains.kotlinx:kotlinx-coroutines-android dependencies minor 1.6.4 -> 1.7.1

⚠ Dependency Lookup Warnings ⚠

Warnings were logged while processing this repo. Please check the logs for more information.


Release Notes

Kotlin/kotlinx.coroutines

v1.7.1

Compare Source

Bug fixes and improvements
  • Special characters in coroutine names in JSON dumps are supported (#​3747)
  • The binary compatibility of the experimental overload of runTest is restored (#​3673)
  • Channels that don't use onUndeliveredElement now allocate less memory (#​3646)

v1.7.0

Compare Source

Core API significant improvements
  • New Channel implementation with significant performance improvements across the API (#​3621).
  • New select operator implementation: faster, more lightweight, and more robust (#​3020).
  • Mutex and Semaphore now share the same underlying data structure (#​3020).
  • Dispatchers.IO is added to K/N (#​3205)
    • newFixedThreadPool and Dispatchers.Default implementations on K/N were wholly rewritten to support graceful growth under load (#​3595).
  • kotlinx-coroutines-test rework:
    • Add the timeout parameter to runTest for the whole-test timeout, 10 seconds by default (#​3270). This replaces the configuration of quiescence timeouts, which is now deprecated (#​3603).
    • The withTimeout exception messages indicate if the timeout used the virtual time (#​3588).
    • TestCoroutineScheduler, runTest, and TestScope API are promoted to stable (#​3622).
    • runTest now also fails if there were uncaught exceptions in coroutines not inherited from the test coroutine (#​1205).
Breaking changes
  • Old K/N memory model is no longer supported (#​3375).
  • New generic upper bounds were added to reactive integration API where the language since 1.8.0 dictates (#​3393).
  • kotlinx-coroutines-core and kotlinx-coroutines-jdk8 artifacts were merged into a single artifact (#​3268).
  • Artificial stackframes in stacktrace recovery no longer contain the \b symbol and are now navigable in IDE and supplied with proper documentation (#​2291).
  • CoroutineContext.isActive returns true for contexts without any job in them (#​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)..
  • JPMS is supported (#​2237). Thanks @​lion7!
  • BroadcastChannel and all the corresponding API are deprecated (#​2680).
  • Added all supported K/N targets (#​3601, #​812, #​855).
  • K/N Dispatchers.Default is backed by the number of threads equal to the number of available cores (#​3366).
  • Fixed an issue where some coroutines' internal exceptions were not properly serializable (#​3328).
  • Introduced Job.parent API (#​3201).
  • Fixed a bug when TestScheduler leaked cancelled jobs (#​3398).
  • TestScope.timeSource now provides comparable time marks (#​3617). Thanks @​hfhbd!
  • Fixed an issue when cancelled withTimeout handles were preserved in JS runtime (#​3440).
  • Ensure awaitFrame only awaits a single frame when used from the main looper (#​3432). Thanks @​pablobaxter!
  • Obsolete Class-Path attribute was removed from kotlinx-coroutines-debug.jar manifest (#​3361).
  • Fixed a bug when updateThreadContext operated on the parent context (#​3411).
  • Added new Flow.filterIsInstance extension (#​3240).
  • Dispatchers.Default thread name prefixes are now configurable with system property (#​3231).
  • Added Flow.timeout operator as @FlowPreview (#​2624). Thanks @​pablobaxter!
  • Improved the performance of the future builder in case of exceptions (#​3475). Thanks @​He-Pin!
  • Mono.awaitSingleOrNull now waits for the onComplete signal (#​3487).
  • Channel.isClosedForSend and Channel.isClosedForReceive are promoted from experimental to delicate (#​3448).
  • Fixed a data race in native EventLoop (#​3547).
  • Dispatchers.IO.limitedParallelism(valueLargerThanIOSize) no longer creates an additional wrapper (#​3442). Thanks @​dovchinnikov!
  • Various @FlowPreview and @ExperimentalCoroutinesApi are promoted to experimental and stable respectively (#​3542, #​3097, #​3548).
  • Performance improvements in Dispatchers.Default and Dispatchers.IO (#​3416, #​3418).
  • Fixed a bug when internal suspendCancellableCoroutineReusable might have hanged (#​3613).
  • Introduced internal API to process events in the current system dispatcher (#​3439).
  • Global CoroutineExceptionHandler is no longer invoked in case of unprocessed future failure (#​3452).
  • Performance improvements and reduced thread-local pressure for the withContext operator (#​3592).
  • Improved performance of DebugProbes (#​3527).
  • Fixed a bug when the coroutine debugger might have detected the state of a coroutine incorrectly (#​3193).
  • CoroutineDispatcher.asExecutor() runs tasks without dispatching if the dispatcher is unconfined (#​3683). Thanks @​odedniv!
  • SharedFlow.toMutableList and SharedFlow.toSet lints are introduced (#​3706).
  • Channel.invokeOnClose is promoted to stable API (#​3358).
  • Improved lock contention in Dispatchers.Default and Dispatchers.IO during the startup phase (#​3652).
  • Fixed a bug that led to threads oversubscription in Dispatchers.Default (#​3642).
  • Fixed a bug that allowed limitedParallelism to perform dispatches even after the underlying dispatcher was closed (#​3672).
  • Fixed a bug that prevented stacktrace recovery when the exception's constructor from cause was selected (#​3714).
  • Improved sanitizing of stracktrace-recovered traces (#​3714).
  • Introduced an internal flag to disable uncaught exceptions reporting in tests as a temporary migration mechanism (#​3736).
  • Various documentation improvements and fixes.

Changelog for previous versions may be found in CHANGES_UP_TO_1.7.md


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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@github-actions
Copy link

github-actions bot commented May 12, 2023

Test Results

  32 files    32 suites   6s ⏱️
233 tests 226 ✔️   7 💤 0
250 runs  238 ✔️ 12 💤 0

Results for commit 432e2dc.

♻️ This comment has been updated with latest results.

@codecov
Copy link

codecov bot commented May 12, 2023

Codecov Report

Merging #272 (432e2dc) into main (1c1547e) will decrease coverage by 8.99%.
The diff coverage is 80.27%.

@@             Coverage Diff              @@
##               main     #272      +/-   ##
============================================
- Coverage     94.44%   85.46%   -8.99%     
- Complexity       51       91      +40     
============================================
  Files            13       20       +7     
  Lines           126      282     +156     
  Branches          8       15       +7     
============================================
+ Hits            119      241     +122     
- Misses            6       37      +31     
- Partials          1        4       +3     
Impacted Files Coverage Δ
coroutines/src/commonMain/kotlin/flow/Combine.kt 0.00% <ø> (ø)
logging/src/commonMain/kotlin/Metadata.kt 76.92% <0.00%> (-0.86%) ⬇️
logging/src/commonMain/kotlin/Sensitivity.kt 0.00% <0.00%> (ø)
...tines/src/commonMain/kotlin/delay/DelayStrategy.kt 47.50% <47.50%> (ø)
logging/src/commonMain/kotlin/DispatchLogger.kt 92.10% <89.65%> (-7.90%) ⬇️
logging/src/commonMain/kotlin/Log.kt 98.27% <93.75%> (-1.73%) ⬇️
logging/src/commonMain/kotlin/FilterLogger.kt 95.65% <95.65%> (ø)
...t/src/commonMain/kotlin/TuulboxKtorClientLogger.kt 100.00% <100.00%> (ø)
logging/src/commonMain/kotlin/FilterLevelLogger.kt 100.00% <100.00%> (ø)
logging/src/commonMain/kotlin/LogLevel.kt 100.00% <100.00%> (ø)
... and 1 more

... and 2 files with indirect coverage changes

@juul-mobile-bot juul-mobile-bot changed the title Update coroutines to v1.7.0 Update coroutines to v1.7.1 May 12, 2023
@twyatt twyatt enabled auto-merge (squash) May 12, 2023 17:53
@twyatt twyatt merged commit 40ad147 into main May 17, 2023
@twyatt twyatt deleted the renovate/coroutines branch May 17, 2023 02:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants