GitPedia
michaelbull

michaelbull/kotlin-result

A multiplatform Result monad for modelling success or failure operations.

30 Releases
Latest: 3mo ago
2.3.1Latest
michaelbullmichaelbull·3mo ago·March 14, 2026
GitHub

📋 Changes

  • Add fallible running accumulation functions (b319b1000e54e5d152f6e76616d53be62714f79f)
  • `Iterable.tryRunningFold`
  • `Iterable.tryRunningFoldIndexed`
  • `Iterable.tryRunningReduce`
  • `Iterable.tryRunningReduceIndexed`
  • `Iterable.tryScan` (alias of `tryRunningFold`)
  • `Iterable.tryScanIndexed` (alias of `tryRunningFoldIndexed`)
  • Add destination collection variants for partition functions (4cfeec270193acef3da062f490bda28943686f5f)
  • + 6 more
2.3.0
michaelbullmichaelbull·3mo ago·March 12, 2026
GitHub

📋 Changes

  • Enable Kotlin unused return value checker by @rileymichael (753785c7cacad2a158962822ce5bbf9b8fa6645e)
  • Closes [#134](https://github.com/michaelbull/kotlin-result/issues/134) and [#135](https://github.com/michaelbull/kotlin-result/issues/135)
  • Add `@BindingDsl` marker to prevent implicit outer-scope `bind()` (520d36460ebfb8f5438d321ef88515de47ac9d12)
  • Shadow `async` on `CoroutineBindingScope` to auto-bind `Result` (103ac8819eee3bd86e548c2ae8c9128e032152e4)

📦 Warnings for unused `Result` return values

  • Side-effect functions whose return value exists only for optional chaining (`onOk`, `onErr`, `onEachOk`, `onEachErr`, and their indexed/`Flow` variants) are marked `@IgnorableReturnValue`.
  • <img width="635" height="151" src="https://github.com/user-attachments/assets/2dc96ec4-8f32-4bd6-9a22-244816dfb564" />

📦 Preventing implicit outer-scope `bind()` in nested bindings

  • ```kotlin
  • val outer: Result<Int, String> = binding {
  • val inner: Result<Int, Int> = binding {
  • "hello".toErr().bind() // silently resolves to outer scope's bind()
  • }
  • inner.getOrElse { 0 } // never reached
  • }
  • ```

📦 Auto-binding `async` in `coroutineBinding`

  • Previously, the correct way to run concurrent operations in `coroutineBinding` required placing `bind()` _inside_ the `async` lambda:
  • ```kotlin
  • suspend fun provideX(): Result<Int, ExampleErr> { ... }
  • suspend fun provideY(): Result<Int, ExampleErr> { ... }
  • val result: Result<Int, ExampleErr> = coroutineBinding {
  • val x: Deferred<Int> = async { provideX().bind() }
  • val y: Deferred<Int> = async { provideY().bind() }
  • x.await() + y.await()
  • + 22 more
2.2.0
michaelbullmichaelbull·3mo ago·March 11, 2026
GitHub

📦 Fallible Operations (`try*`)

  • Rename `mapResult*` functions to `tryMap*`, `mapAll` to `tryMap`, `fold`/`foldRight` to `tryFold`/`tryFoldRight` (d052cf5c4c2cad12f9bb04686d5ecbf82fbf8ec6)
  • The previous names are deprecated with `@Deprecated` + `ReplaceWith` for easy migration
  • Add `tryFind`, `tryFindLast`, `tryForEach`, `tryForEachIndexed`, `tryReduce`, `tryReduceIndexed` for `Iterable` (d2011f025873286cc550cab4174a5280560a01cd)
  • Add `tryFilter`, `tryAssociate`, `tryFlatMap`, `tryGroupBy`, `tryPartition` + variants for `Iterable` (f32985e4c9bafa0f4356aaca710245889b5acc15)

📦 Flow Extensions

  • Add `Flow` extensions for `kotlin-coroutines` (15d44a0c86795de5aa1899d68db2f2991cd9324a)
  • Factory: `Result<Flow<V>, E>.toFlow()`
  • Flow: `filterOk`, `filterErr`, `onEachOk`, `onEachErr`, `allOk`, `allErr`, `anyOk`, `anyErr`, `countOk`, `countErr`, `partition`, `combine`, `combineErr`
  • Try: `tryFilter`, `tryFilterNot`, `tryMap`, `tryMapNotNull`, `tryFlatMap`, `tryForEach`, `tryReduce`, `tryFold`, `tryFind`, `tryFindLast`, `tryAssociate`, `tryAssociateBy`, `tryAssociateWith`, `tryGroupBy`, `tryPartition`

📦 Other

  • Rename `onSuccess`/`onFailure` to `onOk`/`onErr` (a7c66c0d8750c2602c748007a32b613a4e3c3220)
  • The new indexed variants (`onEachOkIndexed`, `onEachErrIndexed`) proved that the `Success`/`Failure` naming becomes too verbose. `Ok`/`Err` is more readable.
  • Rename `filterValues`/`filterErrors` to `filterOk`/`filterErr` (87f4c36364b849313644fb8465f6e9091983117d)
  • Aligns naming with existing `allOk`/`allErr`/`anyOk`/`anyErr`/`countOk`/`countErr` conventions
  • Add `onEachOk`, `onEachOkIndexed`, `onEachErr`, `onEachErrIndexed` for `Iterable<Result>` (a7c66c0d8750c2602c748007a32b613a4e3c3220)
  • Add `combineErr` and `combineTo`/`combineErrTo` for `Iterable<Result>` (1133e00a8ac14d7d45a2c492f779c55ae5198f07, c06eeb373f81f582da9c101629ba50afb6f558f3)
  • Propagate nested `coroutineBinding` failures by @dbottillo (d952b52141608f653855883f1cc6274d121341a2)
  • Closes [#128](https://github.com/michaelbull/kotlin-result/issues/128) and [#133](https://github.com/michaelbull/kotlin-result/issues/133)
  • + 4 more
2.1.0
michaelbullmichaelbull·10mo ago·August 3, 2025
GitHub

📋 Changes

  • Annotate Result#{value,error} direct access as unsafe by @hoc081098 (db45c677ff77d581bd08168d81df8ee5ab2c391b)
  • For full context and discussion on this topic, please read through the PR by @hoc081098 at #123, and the initial discussion presented by @kirillzh in #104.
2.0.3
michaelbullmichaelbull·10mo ago·August 3, 2025
GitHub

📋 Changes

  • Add `parZip` by @hoc081098 (b205cf2f06d06936d71edb2c19301b7f414c01ec)
  • Fix compiler warning for expect/actual classes by @hoangchungk53qx1 (dcb85a60ad5f42c9da0f34258aceb568159111c8)
  • Add Haskell reference documentation to `combine` functions by @hoc081098 (544cc1780cdce3c620e93d3853d76c5e6a5cf9a2)
  • Add arrow-kt `Either` benchmarks by @alphaho (826224973ffa52dbac96507487e0a4932626fa59)
  • Results on my machine are available in the [PR comments](https://github.com/michaelbull/kotlin-result/pull/129#issuecomment-3148453508)
2.0.2
michaelbullmichaelbull·10mo ago·August 3, 2025
GitHub

📋 Changes

  • Fix typo in README (ba7a982566b222d0319a554e379887459cb8eea3) by @nakamuraraika
  • Update dependencies (f00e1200a4c4c1eaf70bb6dca01fe3105dfed551)
  • Kotlin to 2.2.0
  • Kotlin Coroutines to 1.10.2
  • Update Java on CI to 11 (bed111a72b427601433e46886d62c8dd80772fce)
  • Adopt [gradle-maven-publish-plugin](https://github.com/vanniktech/gradle-maven-publish-plugin) (260d2c26d895de5842bda5f89da36f89bc50064e)
  • Publishing via OSSRH is deprecated, see #127
2.0.1
michaelbullmichaelbull·1y ago·December 22, 2024
GitHub

📋 Changes

  • Prevent zipOrAccumulate from executing lambdas twice by @rhirai-line (03704eb30d4373fd3344ddc2b50b89fde0d2ed31)
  • Fix Arrow link in README by @hoangchungk53qx1 (aa0c0ac53ac89fadc157d29a41ca29edf8bf39e2)
  • Fix InvocationKind contract warnings by @Daiji256 (4a0c7ddc1e7235ee4cc9b68520fbd3f65c7d1720)
  • Fix broken link in README by @kaleidot725 (f27e020bc35eb5b0e1e25a5a3aeb838d1b86a00f)
  • Build on Zulu instead of Temurin by @eichisanden (ac929a3aaad931b440a1122b479690ccaa94c0fd, 144c58e657bad40622ec10eaba96321103c634a6)
  • Update Gradle to 8.12 (a074f2669fb5a46d3bef73fa6ad0d564f48adc59)
2.0.0
michaelbullmichaelbull·2y ago·March 16, 2024
GitHub

📋 Changes

  • The Result type is now an [inline value class](https://kotlinlang.org/docs/inline-classes.html) for reduced runtime overhead (981fbe2812185f5083f44854409601bb42fcfb3c)
  • Before & After comparisons outlined below
  • Also see the [Overhead](https://github.com/michaelbull/kotlin-result/wiki/Overhead) design doc on the wiki
  • Previously deprecated behaviours have been removed (eecd1b7d9946f541af3f5d453905024ff97e7c26)

📦 `Ok`/`Err` as Types

  • The migration to an inline value class means that using `Ok`/`Err` as types is no longer valid.
  • Before:
  • ```kotlin
  • public inline fun <V, E, U> Result<V, E>.mapOrElse(default: (E) -> U, transform: (V) -> U): U {
  • return when (this) {
  • is Ok -> transform(value)
  • is Err -> default(error)
  • }
  • + 11 more

📦 Type Casting

  • The example below calls `asErr` which unsafely casts the `Result<V, E` to `Result<Nothing, E>`, which is acceptable given the `isOk` check, which satisfies the `Result<U, E>` return type.
  • The `asOk`/`asOk` functions should not be used outside of a manual type guard via `isOk`/`isErr` - the cast is unsafe.
  • ```kotlin
  • public inline infix fun <V, E, U> Result<V, E>.map(transform: (V) -> U): Result<U, E> {
  • return when {
  • isOk -> Ok(transform(value))
  • else -> this.asErr() // unsafely typecasts Result<V, E> to Result<Nothing, E>
  • }
  • + 2 more

🗑️ Removal of Deprecations

  • The following previously deprecated behaviours have been removed in v2.
  • `binding` & `SuspendableResultBinding`, use `coroutineBinding` instead
  • `and` without lambda argument, use `andThen` instead
  • `ResultBinding`, use `BindingScope` instead
  • `getOr` without lambda argument, use `getOrElse` instead
  • `getErrorOr` without lambda argument, use `getErrorOrElse` instead
  • `getAll`, use `filterValues` instead
  • `getAllErrors`, use `filterErrors` instead
  • + 254 more
1.1.21
michaelbullmichaelbull·2y ago·March 16, 2024
GitHub

📋 Changes

  • Add `flatMapEither`, `flatMapBoth` (4e5cdeede7b5dbecc96ea8f561bbec4ae96e407b)
  • Add `mapCatching` (15fc1ff0139306b640a38f00922748b34e2e1d5b)
  • See: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/map-catching.html
  • Add `Iterable.allOk`, `Iterable.allErr`, `Iterable.anyOk`, `Iterable.anyErr`, `Iterable.countOk`, `Iterable.countErr` (6e62d9f97df43c7d2e10fe407ddc110aeb85840d)
  • Add `Iterable.filterValues`, `Iterable.filterValuesTo`, `Iterable.filterErrors`, `Iterable.filterErrorsTo` (f091f507d97a0d3f565945ef9c97ae1eb28bfe59)
  • Add `transpose` (c46a2925b17a87b98081b7b10214e1468ffc483d)
  • See: https://doc.rust-lang.org/std/result/enum.Result.html#method.transpose
  • Return `List` of errors for all variants of `zipOrAccumulate` by @YuitoSato (716109aa84ba3d5975b964351b6b0c5bec251ee5)
  • + 10 more
1.1.20
michaelbullmichaelbull·2y ago·March 3, 2024
GitHub

📋 Changes

  • Pin GitHub actions by commit hash (8893187a3ae864bf05e6baaad1e6cc99b7d49689)
  • See: https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions
  • Add more build targets for coroutines extensions (a522fbd3e7a3464d3b83ebdc9c1b1cb47acc076d)
  • `kotlinx-coroutines` has since started publishing more native build targets since we first became multiplatform. This release ensures we also build native targets for the platforms that were previously missing, namely:
  • `androidNativeArm32`
  • `androidNativeArm64`
  • `androidNativeX64`
  • `androidNativeX86`
  • + 3 more
1.1.19
michaelbullmichaelbull·2y ago·March 3, 2024
GitHub

📋 Changes

  • Document the order of output lists in Iterable.kt by @peter-cunderlik-kmed (e81f581436ec2fb5c45296465ac84176807a33d2)
  • Add `zipOrAccumulate` by @YuitoSato (27f0a63847a0522686a67bc3672b4c4b73f4c449)
  • Update Kotlin to 1.9.20 (05a1e91298296c39f008bd233b179b107d2cf61c)
  • _"In Kotlin 1.9.20, we've also removed a number of previously deprecated targets, namely:"_
  • iosArm32
  • watchosX86
  • wasm32
  • mingwX86
  • + 8 more
1.1.18
michaelbullmichaelbull·3y ago·May 24, 2023
GitHub

📋 Changes

  • Improve type constraint on toErrorIfNull by @kirillzh (d7dbf35bcf305ea3dcfbe4f22e02b2fa5d6ee43d)
1.1.17
michaelbullmichaelbull·3y ago·April 3, 2023
GitHub

📋 Changes

  • Add `recoverCatching` by @berikv (a6eb86da71e0db1386f2b013eba31f12c53cc6b5)
  • Add more multiplatform build targets by @05nelsonm (6f86d20d53adaa814ca68cbb91946abcf7be2c2a)
  • Migrate to IR-based JavaScript compiler (cc3b3cea05ee7f93c61c9b431090a2e122ae74ca)
  • Disable compatibility with non-hierarchical multiplatform projects (c1c50369917f45b1d8b136992a6d6b7cbd4b4ea8)
  • See https://github.com/michaelbull/kotlin-result/issues/71#issuecomment-1138645759
  • Migrate to Gradle version catalog by @bitPogo (41fff9eb9c2f2aba3d526d531a868a52976d4c06)
  • Update Gradle to 8.0.2 (8229a29f6217497874ecdeb6e8e5e5f8ab6719cb)
  • Update dependencies (6e1c4dd5f1b28332472727420a5fec306af10b3b)
  • + 2 more
1.1.16
michaelbullmichaelbull·4y ago·April 20, 2022
GitHub

📋 Changes

  • Enable compatibility with non-hierarchical multiplatform projects (f0195b5d3f68784f21c5e14aeefc737bd2fc59cb)
  • See: https://github.com/michaelbull/kotlin-result/issues/71#issuecomment-1101608230
1.1.15
michaelbullmichaelbull·4y ago·April 15, 2022
GitHub

📋 Changes

  • Add iosSimulatorArm64 and macosArm64 targets by @dimsuz (fe30193d7c03c97f6a471adf251f71deb12152fb)
  • Update dependencies (96a84b227b1cbbe91a67bd1f0b2616da7e1a030a)
  • Update Gradle to 7.4.2 (ead48285598af63749ceb1056658fe85b4cc5ff9)
  • Include LICENSE file in META-INF directories of jar files (07ad45929f74dc207f7acf33eab6074c2bbaadb0)
1.1.14
michaelbullmichaelbull·4y ago·January 8, 2022
GitHub

📋 Changes

  • Add `getOrThrow` by @Nimelrian (d07bd589edd24e55d18ec03036ac554e18fae025)
  • See #68
  • Migrate example project to Ktor 2 (6a5523c9983fb7852373b427e4f1c6a209cd9a64)
  • Update Gradle to 7.3.3 (7e89f1b6a6d2b09a5417893d352f8e557b05fc85)
  • Update dependencies (4b9ca158fc129c207a8f742b5fa7375879895f70)
  • Migrate to new `kotlinx-coroutines-test` API (72df4c0ff60979a3782ea8806ad853ee39c962b0)
  • See #69
1.1.13
michaelbullmichaelbull·4y ago·November 2, 2021
GitHub

📋 Changes

  • Update Kotlin to 1.5.31 by @pablisco (b8d4109eee92655745fd7750660ceea4def2cd50)
  • Replace usages of `useExperimentalAnnotation` by @grodin (4e1bb9d8de06ad30c3f3ca84bc6c00810587a72d)
  • Update Gradle to 7.2 (98c8eaead34fab3f1ae06cb357ebdc9761a555bc)
  • Add `Result#orElseThrow` (f236e2674bf98f12f50fa740e1f70aa65b5464d5)
  • Add `Result#{throwIf,throwUnless}` by @grodin (3b87373b238df613605cee0a82ee1e0def879507)
  • Add `runSuspendCatching` and `T#runSuspendCatching` by @grodin (2667273015dd18350d23f7a8de965cb49c184a8d)
  • See #64
1.1.12
michaelbullmichaelbull·5y ago·June 12, 2021
GitHub

📋 Changes

  • Add Linux, Windows and MacOS targets (c4c70b4d984c96693fe49ad5fa25035a6d99c965) by @avently
  • https://repo.maven.apache.org/maven2/com/michael-bull/kotlin-result/kotlin-result-coroutines-linuxx64/
  • https://repo.maven.apache.org/maven2/com/michael-bull/kotlin-result/kotlin-result-coroutines-macosx64/
  • https://repo.maven.apache.org/maven2/com/michael-bull/kotlin-result/kotlin-result-coroutines-mingwx64/
  • Set JS compiler to BOTH (77942019c2eb8ccdff375819c97326c62e736948) by @gsteckman
  • Correctly cancel child jobs in suspending variant of binding (f2bd9aaa11915f2b20a41adc2543b98722b80027) by @Munzey
  • Fix typo in mapOr KDoc (32b1a9edb641c88249f0790420598e675c6ee4bf) by @mguelton
  • Update Kotlin to 1.5.10 (d64837f2f8171749ab391f9b40dcf10c11ec65f9) by @MrBergin
1.1.11
michaelbullmichaelbull·5y ago·February 11, 2021
GitHub

📋 Changes

  • Update Kotlin to 1.4.30 (d9662cc8e73cb4d843c2a6bfc9c2758551988675)
  • Add iOS build targets (ccb9c5b3aa567fdc33267ffb2fc420a6dbcd72b7) by @Munzey
  • https://repo.maven.apache.org/maven2/com/michael-bull/kotlin-result/kotlin-result-iosx64/
  • https://repo.maven.apache.org/maven2/com/michael-bull/kotlin-result/kotlin-result-iosarm64/
  • https://repo.maven.apache.org/maven2/com/michael-bull/kotlin-result/kotlin-result-coroutines-iosx64/
  • https://repo.maven.apache.org/maven2/com/michael-bull/kotlin-result/kotlin-result-coroutines-iosarm64/
  • Move benchmarks to separate subproject (0df4c62d4f755d8e60197ad46d28bbf658c8173f) by @Munzey
  • Fix typo in `recoverUnless` kdoc (754aa5aaa4da22f875dac733c1fb51bbf21f2b92)
1.1.10
michaelbullmichaelbull·5y ago·January 30, 2021
GitHub

📋 Changes

  • Releases are now automated via GitHub actions. Every push to master will produce a SNAPSHOT build available at:
  • https://oss.sonatype.org/content/repositories/snapshots/com/michael-bull/kotlin-result/kotlin-result/
  • Fixed links in README (3d40c7070837359a1e9884c56c1c6a7ec4dccb65) by @gregoryinouye
  • Eagerly cancel async bindings (c8372a052218a6d76a31b256968586093d0c03fb) by @Munzey
  • Add `Result.recoverIf` and `Result.recoverUnless` (0fdd0f2c2bccf3fdc6eb0615a145da4b6ee12ed5) by @oddsund
  • Publish JS multiplatform artifacts (0f90bb8b90c4fa224207ac40858856bce02b94fe) by @DerYeger
1.1.9
michaelbullmichaelbull·5y ago·August 29, 2020
GitHub

📋 Changes

  • Coroutine `binding` support moved to `kotlin-result-coroutines` module (b16fb559a14dcd77139fb907db213184581e6bd6) by @Munzey
  • See: https://github.com/michaelbull/kotlin-result/pull/28, https://github.com/michaelbull/kotlin-result/pull/29
  • Add Scala's `merge` (09d341ae6dc5222a15430e10adae5bcebd64f436)
  • Calling `.merge()` on a `Result<List<Int>, Set<Int>>` will return a `Collection<Int>` (their most common supertype).
  • Remove deprecation of eager-evaluating functions (a76768fa42ba0f0cc8ba07265d739007d4cd2370)
  • Rust includes these eager evaluating variants with a simple warning in their comments with regards to using the lazy variants for heavy lifting.
  • Update Gradle to 6.6.1 (30d2778d006c59c6b0a3faaee9cab5c4ab7fb3f1)
  • Update Kotlin to 1.4.0 (a662ebc0a7c838688e5b3e2d01707a29cde70456)
  • + 1 more
1.1.8
michaelbullmichaelbull·5y ago·July 19, 2020
GitHub

📋 Changes

  • Add suspend variant of binding function (bd7e1244b31e59e7d26479d7673d24716f70be0d) by @Munzey
  • Allows calls to `binding` to be passed a block that suspends
  • Addresses #24
1.1.7
michaelbullmichaelbull·5y ago·June 28, 2020
GitHub

📋 Changes

  • Add Result#toErrorIf (cf9582075db6b2e86e7c8bf09f18d255fe314443) by @Globegitter
  • Facilitates transforming an Ok to an Err if the value satisfies a given predicate.
  • Add Result#toErrorUnless (1000c588c01a6f1fa9133329c11681ecda112a95)
  • Facilitates transforming an Ok to an Err unless the value satisfies a given predicate.
  • Add monad comprehensions via binding block (9bcaa974ca03b9f518a1e84717f79272f4d090c2) by @Munzey
  • See the _Binding_ section on the [README](https://github.com/michaelbull/kotlin-result#binding-monad-comprehension) for an introduction to this concept
  • Add benchmarking framework (0910e9ffe477a1daafbe1dd3fede452f2ae60bca) by @Munzey
  • Update Gradle to 6.5 (b4b2224ed24e63d9b26c4ed14dbbf2e751f91371)
  • + 2 more
1.1.6
michaelbullmichaelbull·6y ago·February 12, 2020
GitHub

📋 Changes

  • Update gradle to 6.2-rc-2 (e4da8cf75f7568d2cc4469a241d89e8f8aca8448)
  • Replace bintray with maven central (68cabd7a1e7967168211823679161bc7be1d7242)
1.1.5
michaelbullmichaelbull·6y ago·January 31, 2020
GitHub

📋 Changes

  • Add `kotlin.code.style=official` to gradle.properties (6651b18905feebdbc445741168ee7128e18c5b5e)
  • Fix typo in Result#unwrap exception message (434b8aa7fbca71a0c234bb87e94f5d8e376fc36c)
  • Fixes #8
  • Add Rust's `mapOr` & `mapOrElse` (43ebd5753a2fb3810408c573fa09505e16930f4b)
  • See: https://blog.rust-lang.org/2020/01/30/Rust-1.41.0.html#library-changes
  • Replace code blocks in comments with variable references (4ed42cc40793eb485e1c61f7a082b6cea2a99c27)
1.1.4
michaelbullmichaelbull·6y ago·December 20, 2019
GitHub

📋 Changes

  • Support destructuring declarations (1bf21253276c1715682e4c34be6284ec66a28158)
  • `val (value: String?, error: Throwable?) = runCatching(yourFunction)`
  • Update dependencies (782fac0cedddb102357888e6769ad61dd3d61fdb)
  • Replace travis with github actions (b3dbc36b7623afe5dea18d2090444bcf926bfd83)
1.1.3
michaelbullmichaelbull·6y ago·August 24, 2019
GitHub

📋 Changes

  • Deprecate `Result.of` in favour of `runCatching` factory function (586b260683007d3a949d746c616ebc1abcdac449)
  • Matches Kotlin's stdlib and becomes top-level
  • Update Gradle to 5.6 (db00e6154211cfa111b19ef9b2b1c718fdb5d259)
  • Update dependencies (31808eb99cd0290da7f3850952c7ef1df7a92b9c)
  • Update "Creating Results" section in README (ed430c4eca1388da70d3f9c79c5ee0a3d7c46ff9)
1.1.2
michaelbullmichaelbull·6y ago·August 9, 2019
GitHub

📋 Changes

  • Add compiler contracts (66f1122efb689172ed53d36a72f6586aeab998f5)
1.1.1
michaelbullmichaelbull·7y ago·November 1, 2018
GitHub

📋 Changes

  • Migrate to Kotlin Gradle DSL(80bd9dd69221ddec35cd81607ecacaa9cb28c96c)
  • Remove jdk dependency of kotlin stdlib (722ddd7c1fa353a13ba76e65cbdfb03796e88b70)
  • Update Kotlin to 1.3.0 (7e45bfb7f2d47cf43f2b1dd91e80979d144dc588)
  • Add `fold` as an alias to `mapBoth` (4eb5d80f9115578c63ce8360c240caaea2897e0c)
  • Return the Result in `on{Success,Failure}` (3a3b5415a748ad75bc133097e9d7b7cfd0d73cb8)
  • This facilitates chaining `onSuccess`/`onFailure` calls that may perform arbitrary side-effects, such as logging.
  • Add `Result.recover` (b5aab62af4f74a9a642f53a3c8f27bd47501bc32)
  • Similar to `getOrElse` but returns an `Ok` of the transformed error
1.1.0
michaelbullmichaelbull·7y ago·September 18, 2018
GitHub

📦 Now published on Bintray

  • ```groovy
  • repositories {
  • maven { url = 'https://dl.bintray.com/michaelbull/maven' }
  • }
  • dependencies {
  • compile 'com.michael-bull.kotlin-result:kotlin-result:1.1.0'
  • }
  • ```
  • + 17 more