fix(deps): update dependency com.michael-bull.kotlin-result:kotlin-result to v2.3.1 - #209
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
2 times, most recently
from
October 14, 2025 23:32
9fef262 to
9c75b9d
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
from
October 18, 2025 21:14
9c75b9d to
b41d46f
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
2 times, most recently
from
October 31, 2025 20:48
f804f4f to
d34e813
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
2 times, most recently
from
November 8, 2025 21:09
063a284 to
50330a6
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
2 times, most recently
from
November 22, 2025 21:54
39d76c6 to
0bc203c
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
4 times, most recently
from
November 26, 2025 20:09
d36ce10 to
fab4c7e
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
3 times, most recently
from
December 13, 2025 21:56
4173ba3 to
b0a8876
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
2 times, most recently
from
December 26, 2025 20:57
7d1e836 to
97f8f87
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
3 times, most recently
from
January 31, 2026 21:41
20b04a9 to
704fbe5
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
2 times, most recently
from
February 6, 2026 20:46
734bab7 to
c5f75d8
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
from
February 13, 2026 20:23
c5f75d8 to
8206b40
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
from
March 5, 2026 22:50
8206b40 to
1182d24
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
2 times, most recently
from
March 15, 2026 20:34
12c24e7 to
0d27071
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
from
March 19, 2026 01:00
a65dbce to
1a6c70c
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
from
March 19, 2026 21:39
1a6c70c to
155e688
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
from
March 21, 2026 04:42
155e688 to
1e594ac
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
4 times, most recently
from
March 26, 2026 20:31
e27f995 to
fd74be7
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
2 times, most recently
from
April 6, 2026 21:21
6849d2d to
45a3a05
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
from
April 11, 2026 21:05
45a3a05 to
6300f7b
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
from
April 19, 2026 21:01
6300f7b to
0370790
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
3 times, most recently
from
May 5, 2026 18:52
6db2227 to
a6f9966
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
from
May 21, 2026 21:55
a6f9966 to
1e1eae3
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
from
June 10, 2026 21:15
1e1eae3 to
40abd32
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
2 times, most recently
from
June 24, 2026 20:57
b31e439 to
bc5274a
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
2 times, most recently
from
July 3, 2026 16:45
a7bbfe4 to
dbf7774
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
2 times, most recently
from
July 21, 2026 23:55
614c4b7 to
273253a
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
2 times, most recently
from
July 31, 2026 20:47
95d79ce to
c022625
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
from
August 8, 2026 21:28
c022625 to
8086d74
Compare
renovate
Bot
force-pushed
the
renovate/com.michael-bull.kotlin-result-kotlin-result-2.x
branch
from
August 13, 2026 18:50
8086d74 to
fe2da6f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:
2.0.3→2.3.1Release Notes
michaelbull/kotlin-result (com.michael-bull.kotlin-result:kotlin-result)
v2.3.1Compare Source
b319b10)Iterable.tryRunningFoldIterable.tryRunningFoldIndexedIterable.tryRunningReduceIterable.tryRunningReduceIndexedIterable.tryScan(alias oftryRunningFold)Iterable.tryScanIndexed(alias oftryRunningFoldIndexed)4cfeec2)Iterable.partitionToIterable.combineErrTotryReducegeneric constraints generic constraints from<T, E>to<S, T : S, E>(1b84ca7)Iterable.tryReduceIterable.tryReduceIndexedFlow.tryReducev2.3.0Compare Source
753785c)@BindingDslmarker to prevent implicit outer-scopebind()(520d364)asynconCoroutineBindingScopeto auto-bindResult(103ac88)Warnings for unused
Resultreturn valuesThe library now compiles with
-Xreturn-value-checker=full, implicitly treating all public functions as@MustUseReturnValue. Consumers who enable-Xreturn-value-checker=checkin their own builds will receive warnings when they silently discard aResultreturned by this library.Side-effect functions whose return value exists only for optional chaining (
onOk,onErr,onEachOk,onEachErr, and their indexed/Flowvariants) are marked@IgnorableReturnValue.Preventing implicit outer-scope
bind()in nested bindingsWhen nesting
binding/coroutineBindingblocks with different error types,bind()can silently resolve to an outer scope. This compiles without warning but produces wrong control flow — theBindingExceptionbypasses the inner scope'stry/catchand short-circuits the outer scope instead:This release annotates both
BindingScopeandCoroutineBindingScopewith a shared@DslMarkerannotation, making implicit cross-scopebind()calls a compiler error. All four nesting combinations (binding/coroutineBindingin either direction) are caught. If you intentionally need to bind across scopes, explicit qualification (e.g.this@binding) is required.Auto-binding
asyncincoroutineBindingPreviously, the correct way to run concurrent operations in
coroutineBindingrequired placingbind()inside theasynclambda:This was non-obvious. A natural reading of the API led users to place
bind()outside, chaining.await().bind()at the call site:This compiles without warning, but chaining
.await()immediately afterasyncdefeats concurrency — each call suspends until completion before the next starts.This release adds an
asyncmember function onCoroutineBindingScopethat automatically bindsResult-returning lambdas. The member returnsDeferred<V>instead ofDeferred<Result<V, E>>, sobind()placement is handled for you and the sequential.await().bind()pattern above becomes a compiler error (there is noResultleft tobind()). The correct usage is now the natural one:Both coroutines launch immediately and run concurrently.
bind()is called inside eachasynccoroutine, cancelling the scope on the first error without waiting for the caller toawait. When the block does not return aResult, the standardCoroutineScope.asyncextension is used instead.v2.2.0Compare Source
Fallible Operations (
try*)Fallible collection operations now use a
tryprefix, inspired by Gleam's naming convention and mirroring stdlib's collection API more closely. Several new operations have also been added.mapResult*functions totryMap*,mapAlltotryMap,fold/foldRighttotryFold/tryFoldRight(d052cf5)@Deprecated+ReplaceWithfor easy migrationtryFind,tryFindLast,tryForEach,tryForEachIndexed,tryReduce,tryReduceIndexedforIterable(d2011f0)tryFilter,tryAssociate,tryFlatMap,tryGroupBy,tryPartition+ variants forIterable(f32985e)Flow Extensions
The
kotlin-result-coroutinesmodule now includes extensions for thekotlinx-coroutinesFlowtype, bringing the same Result-aware operations available onIterableto asynchronous streams. This was born out of the discussion in #78.Flowextensions forkotlin-coroutines(15d44a0)Result<Flow<V>, E>.toFlow()filterOk,filterErr,onEachOk,onEachErr,allOk,allErr,anyOk,anyErr,countOk,countErr,partition,combine,combineErrtryFilter,tryFilterNot,tryMap,tryMapNotNull,tryFlatMap,tryForEach,tryReduce,tryFold,tryFind,tryFindLast,tryAssociate,tryAssociateBy,tryAssociateWith,tryGroupBy,tryPartitionOther
onSuccess/onFailuretoonOk/onErr(a7c66c0)onEachOkIndexed,onEachErrIndexed) proved that theSuccess/Failurenaming becomes too verbose.Ok/Erris more readable.filterValues/filterErrorstofilterOk/filterErr(87f4c36)allOk/allErr/anyOk/anyErr/countOk/countErrconventionsonEachOk,onEachOkIndexed,onEachErr,onEachErrIndexedforIterable<Result>(a7c66c0)combineErrandcombineTo/combineErrToforIterable<Result>(1133e00,c06eeb3)coroutineBindingfailures by @dbottillo (d952b52)BindingExceptionpublic (549ed30)'internal' type accessed from public inline declarationwarning that will become an error in Kotlin 2.412ceff7)468b1a5)v2.1.0Compare Source
db45c67)Library consumers that directly access either
Result.valueorResult.error, e.g. in the situation they are extending the library to implement their own functionality, must now opt-in to unsafe access of these properties.Failure to do so will result in a compilation error:
There are three ways to opt-in:
On a function-level
On a file-level:
On a project-level in
build.gradle.ktskotlin { compilerOptions { optIn.add("com.github.michaelbull.result.annotation.UnsafeResultValueAccess") optIn.add("com.github.michaelbull.result.annotation.UnsafeResultErrorAccess") } }Configuration
📅 Schedule: (in timezone Asia/Tokyo)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, 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.