chore(deps): Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.10.1 #519
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.5.2
->1.10.1
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-core)
v1.10.1
Compare Source
v1.10.0
Compare Source
Flow.any
,Flow.all
, andFlow.none
(#4212). Thanks, @CLOVIS-AI!kotlinx-coroutines-debug
andkotlinx-coroutines-core
code to avoid a split package between the two artifacts (#4247). Note that directly referencingkotlinx.coroutines.debug.AgentPremain
must now be replaced withkotlinx.coroutines.debug.internal.AgentPremain
. Thanks, @sellmair!kotlinx-coroutines-debug
, reducing the artifact size and simplifying the build configuration of client code. Thanks, @sellmair!NullPointerException
when using Java-deserializedkotlinx-coroutines-core
exceptions (#4291). Thanks, @AlexRiedler!CoroutineDispatcher.dispatch
instead of raising internal errors (#4091). Thanks, @zuevmaxim!Dispatchers.Default
orDispatchers.IO
task after ayield()
in rare scenarios (#4248).main()
coroutine on Wasm/WASI from executing after adelay()
call in some scenarios (#4239).runBlocking
tasks on Kotlin/Native that arrive after therunBlocking
block was exited (#4245).Flow
operators sometimes resuming without taking cancellation into account (#4254). Thanks, @jxdabc!ThreadLocal
values not to get cleaned when using non-CoroutineDispatcher
continuation interceptors (#4296).v1.9.0
Compare Source
Features
limitedParallelism
now optionally accepts the name of the dispatcher view for easier debugging (#4023).Dispatchers.IO
on the JVM when other standard dispatchers are accessed (#4166). Thanks, @metalhead8816!Flow<T>.chunked(size: Int): Flow<List<T>>
operator that groups emitted values into groups of the given size (#1290).AutoCloseable
now (#4123).Fixes
hasNext
on aChannel
's iterator is idempotent (#4065). Thanks, @gitpaxultek!CoroutineScope()
created without an explicit dispatcher usesDispatchers.Default
on Native (#4074). Thanks, @whyoleg!Dispatchers.Main
from initializing when the Firebase dependency is used (#3914).runBlocking
(#4134).Mutex
toSemaphore
(#4176).asDeferred
on aFuture
many times (#4156).Deprecations and promotions
BroadcastChannel
-based API (#4197).kotlinx-coroutines-test
API (#4198).Job.cancelFutureOnCompletion
(#4173).CoroutineDispatcher.limitedParallelism
to stable (#3864).CoroutineStart.ATOMIC
fromExperimentalCoroutinesApi
toDelicateCoroutinesApi
(#4169).CancellableContinuation.resume
with anonCancellation
lambda to stable, providing extra arguments to the lambda (#4088).InternalForInheritanceCoroutinesApi
opt-in (#3770).ExperimentalForInheritanceCoroutinesApi
opt-in (#3770).Other
CoroutineStart
andChannel
-based API (#4147, #4148, #4167). Thanks, @globsterg!Job
(#4053).v1.8.1
Compare Source
@ExperimentalTime
annotation from usages ofTimeSource
(#4046). Thanks, @hfhbd!NullPointerException
when setting theStateFlow
value on old Android devices (#3820).kotlin.random.Random
as part ofDispatchers.Default
andDispatchers.IO
initialization (#4051).Flow.timeout
throws the exception with which the channel was closed (#4071).Changelog relative to version 1.8.1-Beta
Flow.timeout
throws the exception with which the channel was closed (#4071).v1.8.0
Compare Source
Dispatchers.Main != Dispatchers.Main.immediate
(#3545, #3963).Flow
operators that limit cancel the upstream flow to forget that they were already finished if there is another such operator upstream (#4035, #4038)kotlinx-coroutines-debug
is published with the correct Java 9 module info (#3944).kotlinx-coroutines-debug
no longer requires manually settingDebugProbes.enableCoroutineCreationStackTraces
tofalse
, it's the default (#3783).kotlinx-coroutines-test
: set the default timeout ofrunTest
to 60 seconds, added the ability to configure it on the JVM with thekotlinx.coroutines.test.default_timeout=10s
(#3800).kotlinx-coroutines-test
: fixed a bug that could lead to not all uncaught exceptions being reported after some tests failed (#3800).delay(Duration)
rounds nanoseconds up to whole milliseconds and not down (#3920). Thanks @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).SharedFlow.collect
suspends for the first time, it's registered as a subscriber for thatSharedFlow
(#3885). Before, it was also true, but not documented.withLock
on JS (#3881). Thanks @CLOVIS-AI!Changelog relative to version 1.8.0-RC2
kotlinx-coroutines-debug
no longer requires manually settingDebugProbes.enableCoroutineCreationStackTraces
tofalse
, it's the default (#3783).Flow
operators that limit cancel the upstream flow to forget that they were already finished if there is another such operator upstream (#4035, #4038)v1.7.3
Compare Source
v1.7.2
Compare Source
Bug fixes and improvements
CopyableThreadContextElement
now properly copies an element when crossing the coroutine boundary inflowOn
(#3787). Thanks @wanyingd1996!newSingleThreadContext
from closing (#3768).Mutex
duringtryLock
/unlock
sequence with owners is fixed (#3745).v1.7.1
Compare Source
Bug fixes and improvements
runTest
is restored (#3673)onUndeliveredElement
now allocate less memory (#3646)v1.7.0
Compare Source
Core API significant improvements
Channel
implementation with significant performance improvements across the API (#3621).select
operator implementation: faster, more lightweight, and more robust (#3020).Mutex
andSemaphore
now share the same underlying data structure (#3020).Dispatchers.IO
is added to K/N (#3205)newFixedThreadPool
andDispatchers.Default
implementations on K/N were wholly rewritten to support graceful growth under load (#3595).kotlinx-coroutines-test
rework:timeout
parameter torunTest
for the whole-test timeout, 10 seconds by default (#3270). This replaces the configuration of quiescence timeouts, which is now deprecated (#3603).withTimeout
exception messages indicate if the timeout used the virtual time (#3588).TestCoroutineScheduler
,runTest
, andTestScope
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
kotlinx-coroutines-core
andkotlinx-coroutines-jdk8
artifacts were merged into a single artifact (#3268).\b
symbol and are now navigable in IDE and supplied with proper documentation (#2291).CoroutineContext.isActive
returnstrue
for contexts without any job in them (#3300).Bug fixes and improvements
JavaFx
version is updated to 17.0.2 inkotlinx-coroutines-javafx
(#3671)..BroadcastChannel
and all the corresponding API are deprecated (#2680).Dispatchers.Default
is backed by the number of threads equal to the number of available cores (#3366).Job.parent
API (#3201).TestScheduler
leaked cancelled jobs (#3398).TestScope.timeSource
now provides comparable time marks (#3617). Thanks @hfhbd!withTimeout
handles were preserved in JS runtime (#3440).awaitFrame
only awaits a single frame when used from the main looper (#3432). Thanks @pablobaxter!Class-Path
attribute was removed fromkotlinx-coroutines-debug.jar
manifest (#3361).updateThreadContext
operated on the parent context (#3411).Flow.filterIsInstance
extension (#3240).Dispatchers.Default
thread name prefixes are now configurable with system property (#3231).Flow.timeout
operator as@FlowPreview
(#2624). Thanks @pablobaxter!future
builder in case of exceptions (#3475). Thanks @He-Pin!Mono.awaitSingleOrNull
now waits for theonComplete
signal (#3487).Channel.isClosedForSend
andChannel.isClosedForReceive
are promoted from experimental to delicate (#3448).EventLoop
(#3547).Dispatchers.IO.limitedParallelism(valueLargerThanIOSize)
no longer creates an additional wrapper (#3442). Thanks @dovchinnikov!@FlowPreview
and@ExperimentalCoroutinesApi
are promoted to experimental and stable respectively (#3542, #3097, #3548).Dispatchers.Default
andDispatchers.IO
(#3416, #3418).suspendCancellableCoroutineReusable
might have hanged (#3613).CoroutineExceptionHandler
is no longer invoked in case of unprocessedfuture
failure (#3452).withContext
operator (#3592).DebugProbes
(#3527).CoroutineDispatcher.asExecutor()
runs tasks without dispatching if the dispatcher is unconfined (#3683). Thanks @odedniv!SharedFlow.toMutableList
andSharedFlow.toSet
lints are introduced (#3706).Channel.invokeOnClose
is promoted to stable API (#3358).Dispatchers.Default
andDispatchers.IO
during the startup phase (#3652).Dispatchers.Default
(#3642).limitedParallelism
to perform dispatches even after the underlying dispatcher was closed (#3672).cause
was selected (#3714).Changelog for previous versions may be found in CHANGES_UP_TO_1.7.md
v1.6.4
Compare Source
TestScope.backgroundScope
for launching coroutines that perform work in the background and need to be cancelled at the end of the test (#3287).kotlinx-coroutines-debug
having an incorrect reference tokotlinx-coroutines-bom
, which cause the builds of Maven projects using the debug module to break (#3334).Publisher.await
functions inkotlinx-coroutines-reactive
not ensuring that theSubscriber
methods are invoked serially (#3360). Thank you, @EgorKulbachka!withTimeout
on K/N with the new memory model (#3351).Throwable
implementations in the core library are serializable (#3328).v1.6.3
Compare Source
v1.6.2
Compare Source
ThreadLocalElement
not being correctly updated when the most outersuspend
function was called directly withoutkotlinx.coroutines
(#2930).runBlocking
event loop, and a benign data race inMutex
(#3250, #3251).TestCoroutineContext
is removed, which fixes thekotlinx-coroutines-test
JPMS package being split betweenkotlinx-coroutines-core
andkotlinx-coroutines-test
(#3218).0.17.2
, which includes a more efficient and robust JS IR transformer (#3255).1.6.21
, Gradle version is updated to7.4.2
(#3281). Thanks, @wojtek-kalicinski!v1.6.1
Compare Source
Dispatchers.Main
.This behavior was introduced in 1.6.0 and then found inconvenient and erroneous (#3106, #3113).
CopyableThreadContextElement
to solve issues uncovered after the initial release (#3227).ThreadLocalElement
not being properly updated in racy scenarios (#2930).CoroutineExceptionHandler
that triggered ANR on some devices (#3180).CoroutineDispatcher
to a Rx scheduler (#968, #548). Thanks @recheej!flow
builder being retained in memory (#3197).limitedParallelism
on K/N with new memory model throwingClassCastException
(#3223).CoroutineContext
is added to the exception printed to the defaultCoroutineExceptionHandler
to improve debuggability (#3153).Dispatchers.Default
was significantly reduced (#3137).kotlinx-coroutines-slf4j
from 1.7.25 to 1.7.32.v1.6.0
Compare Source
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
kotlinx-coroutines-test
became a multiplatform library usable from K/JVM, K/JS, and K/N.).
Dispatchers
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 ofDispatchers.IO
itself to avoid starvation (#2943).Dispatchers.shutdown
method for containerized environments (#2558).newSingleThreadContext
andnewFixedThreadPoolContext
are promoted to delicate API (#2919).Breaking changes
future
builder no longer reports unhandled exceptions into the globalCoroutineExceptionHandler
. Thanks @vadimsemenov! (#2774, #2791).Mutex.onLock
is deprecated for removal (#2794).Dispatchers.Main
is now used as the default source of time fordelay
andwithTimeout
when present (#2972).kotlinx.coroutines.main.delay
system property can be set tofalse
.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.native.binary.memoryModel
is enabled (#2914).CopyableThreadContextElement
for mutable context elements shared among multiple coroutines. Thanks @yorickhenning! (#2893).transformWhile
,awaitClose
,ProducerScope
,merge
,runningFold
,runingReduce
, andscan
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).flat*
operators that leverage multiple coroutines is no longer propagated upstream (#2964).SharedFlow.collect
now returnsNothing
(#2789, #2502).DisposableHandle
is nowfun interface
, and corresponding inline extension is removed (#2790).FlowCollector
is nowfun interface
, and corresponding inline extension is removed (#3047).processUnhandledException
(#2981).Task
callbacks inkotlinx-coroutines-play-services
(#2990).CoroutineExceptionHandler
is loaded eagerly and does not invokeServiceLoader
on its exception-handling path (#2552).ServiceLoader
optimization (#2880).SendChannel.trySendBlocking
is now available on Kotlin/Native (#3064).ClassValue
when available (#2997).Delay
interface is deprecated (#2979).CommonPool
is removed.@ExperimentalTime
is no longer needed for methods that useDuration
(#3041).Configuration
📅 Schedule: Branch creation - "after 5pm on the 2nd 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.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.