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

Fix usage of startCoroutineUninterceptedOrReturn #2789

Merged
merged 7 commits into from Aug 6, 2022

Conversation

nomisRev
Copy link
Member

@nomisRev nomisRev commented Aug 4, 2022

In #2783 we replaced startCoroutineUninterceptedOrReturn to createCoroutineUnintercepted + resume(Unit) but this creates an additional Continuation state-machine nested inside the existing state-machine and thus causing a lot of overhead. This overhead is occurring potentially on every fold, so not ideal.

While investigating if the issue of startCoroutineUninterceptedOrReturn was in our code, or in the compiler I discovered that it was indeed a mistake in our code.

The problem happens in following sequencing where we run the Effect<R, A>.

suspendCoroutineUninterceptedOrReturn { cont ->
  val token = Token()
  val effectScope: EffectScope<R> = ...
  
  try {
    suspend { transform(f(effectScope)) }
      .startCoroutineUninterceptedOrReturn(FoldContinuation(token, cont.context, cont))
  } catch (e: Suspend) {
    if (token == e.token) {
      val f: suspend () -> B = { e.recover(e.shifted) as B }
      f.startCoroutineUninterceptedOrReturn(cont)
    } else throw e
  }
}
  1. We create the EffectScope and the Token
  2. We create the program suspend { transform(f(effectScope)) }
  3. We start the computation with startCoroutineUninterceptedOrReturn.

startCoroutineUninterceptedOrReturn immediately returns COROUTINE_SUSPENDED, B or throws an exception.
If COROUTINE_SUSPENDED is returned then we have to complete the cont using resume. If COROUTINE_SUSPENDED is returned it also means we'll go inside the FoldContinuation path.

In the original code we did not catch any immediate exceptions, meaning we were throwing an exception within suspendCoroutineUninterceptedOrReturn where we already returned COROUTINE_SUSPENDED earlier. Instead we need to capture the exception, and pass it to cont#resume or the exception will get lost in the Coroutine state machine.

when (val res = f.startCoroutineUninterceptedOrReturn(parent)) {
        COROUTINE_SUSPENDED -> Unit
        else -> parent.resume(res as B)
}

@nomisRev
Copy link
Member Author

nomisRev commented Aug 4, 2022

Tests for catch and attempt in #2782 exposed another bug.. The Throwable path was not properly covered everywhere, the fix and a test for it has also been included in this PR. It touches upon the same area, and involves similar code.

I can split it into a second PR if that is better for history/reviewing.

The problem:

Not the entire Throwable path was covered, and thus error lambda was sometimes not applied and the exception was thrown even though it was handled in the error lambda. The fix sequences the error lambda correctly.

Copy link
Member

@raulraja raulraja left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @nomisRev

Copy link
Member

@i-walker i-walker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👏🏾

@nomisRev nomisRev merged commit 2da6142 into main Aug 6, 2022
@nomisRev nomisRev deleted the sv-revert-to-startCoroutineUninterceptedOrReturn branch August 6, 2022 15:17
sgammon added a commit to elide-dev/elide that referenced this pull request Jan 15, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [io.arrow-kt:arrow-fx-coroutines](https://togithub.com/arrow-kt/arrow)
| `1.0.1` -> `1.1.3` |
[![age](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-fx-coroutines/1.1.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-fx-coroutines/1.1.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-fx-coroutines/1.1.3/compatibility-slim/1.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-fx-coroutines/1.1.3/confidence-slim/1.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.arrow-kt:arrow-optics-ksp-plugin](https://togithub.com/arrow-kt/arrow)
| `1.0.1` -> `1.1.3` |
[![age](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-optics-ksp-plugin/1.1.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-optics-ksp-plugin/1.1.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-optics-ksp-plugin/1.1.3/compatibility-slim/1.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-optics-ksp-plugin/1.1.3/confidence-slim/1.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
| [io.arrow-kt:arrow-optics](https://togithub.com/arrow-kt/arrow) |
`1.0.1` -> `1.1.3` |
[![age](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-optics/1.1.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-optics/1.1.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-optics/1.1.3/compatibility-slim/1.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-optics/1.1.3/confidence-slim/1.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
| [io.arrow-kt:arrow-core](https://togithub.com/arrow-kt/arrow) |
`1.0.1` -> `1.1.3` |
[![age](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-core/1.1.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-core/1.1.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-core/1.1.3/compatibility-slim/1.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-core/1.1.3/confidence-slim/1.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
| [io.arrow-kt:arrow-stack](https://togithub.com/arrow-kt/arrow) |
`1.0.1` -> `1.1.3` |
[![age](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-stack/1.1.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-stack/1.1.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-stack/1.1.3/compatibility-slim/1.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/maven/io.arrow-kt:arrow-stack/1.1.3/confidence-slim/1.0.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### ⚠ Dependency Lookup Warnings ⚠

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

---

### Release Notes

<details>
<summary>arrow-kt/arrow</summary>

### [`v1.1.3`](https://togithub.com/arrow-kt/arrow/releases/tag/1.1.3)

[Compare
Source](https://togithub.com/arrow-kt/arrow/compare/1.1.2...1.1.3)

#### What's Changed

- Fix license url by [@&#8203;i-walker](https://togithub.com/i-walker)
in
[arrow-kt/arrow#2712
- Add new workflow for publishing the landing page by
[@&#8203;franciscodr](https://togithub.com/franciscodr) in
[arrow-kt/arrow#2716
- Fix publish sync by
[@&#8203;JavierSegoviaCordoba](https://togithub.com/JavierSegoviaCordoba)
in
[arrow-kt/arrow#2717
- invert resource release order by
[@&#8203;tKe](https://togithub.com/tKe) in
[arrow-kt/arrow#2714
- Fix traversal code samples of docs by
[@&#8203;b-schwab](https://togithub.com/b-schwab) in
[arrow-kt/arrow#2719
- Adding kotlin-js-store folder by
[@&#8203;franciscodr](https://togithub.com/franciscodr) in
[arrow-kt/arrow#2724
- rename traverseX and sequenceX functions in core by
[@&#8203;i-walker](https://togithub.com/i-walker) in
[arrow-kt/arrow#2715
- feat: contravariance for R, A in Effect, EagerEffect and `in` for
\*EffectScope by [@&#8203;i-walker](https://togithub.com/i-walker) in
[arrow-kt/arrow#2722
- deprecate flatMap and map in EagerEffect by
[@&#8203;i-walker](https://togithub.com/i-walker) in
[arrow-kt/arrow#2726
- add Continuations and programs to overview section in arrow core by
[@&#8203;i-walker](https://togithub.com/i-walker) in
[arrow-kt/arrow#2723
- Update all dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[arrow-kt/arrow#2709
- revert java setup by [@&#8203;i-walker](https://togithub.com/i-walker)
in
[arrow-kt/arrow#2730
- Add command to install bundler by
[@&#8203;franciscodr](https://togithub.com/franciscodr) in
[arrow-kt/arrow#2729
- Improve Nel constructor by
[@&#8203;nomisRev](https://togithub.com/nomisRev) in
[arrow-kt/arrow#2728
- improve generate-tag workflow by
[@&#8203;i-walker](https://togithub.com/i-walker) in
[arrow-kt/arrow#2731
- revert arrow-gradle-config to 0.10.1 by
[@&#8203;i-walker](https://togithub.com/i-walker) in
[arrow-kt/arrow#2738
- Rename duplicated test by [@&#8203;wojda](https://togithub.com/wojda)
in
[arrow-kt/arrow#2740
- Fix some compilation and test warnings by
[@&#8203;wojda](https://togithub.com/wojda) in
[arrow-kt/arrow#2741
- Convert Arrow core effect into a non-inline function by
[@&#8203;franciscodr](https://togithub.com/franciscodr) in
[arrow-kt/arrow#2734
- add merge to validated by
[@&#8203;agusotto96](https://togithub.com/agusotto96) in
[arrow-kt/arrow#2739
- Fix compilation warnings by replacing usages of deprecated methods by
[@&#8203;wojda](https://togithub.com/wojda) in
[arrow-kt/arrow#2742
- Bump versions by [@&#8203;nomisRev](https://togithub.com/nomisRev) in
[arrow-kt/arrow#2745
- Add `kotlin.mpp.enableCompatibilityMetadataVariant=true` by
[@&#8203;JavierSegoviaCordoba](https://togithub.com/JavierSegoviaCordoba)
in
[arrow-kt/arrow#2747
- fix alpha tag build task by
[@&#8203;i-walker](https://togithub.com/i-walker) in
[arrow-kt/arrow#2749
- Fix build, inject kotlin.mpp.enableCompatibilityMetadataVariant in CI
by [@&#8203;nomisRev](https://togithub.com/nomisRev) in
[arrow-kt/arrow#2751
- add merge function for \*Effect by
[@&#8203;i-walker](https://togithub.com/i-walker) in
[arrow-kt/arrow#2752
- Small docs fix for widen function by
[@&#8203;lenguyenthanh](https://togithub.com/lenguyenthanh) in
[arrow-kt/arrow#2754
- max and min methods for NonEmptyList by
[@&#8203;dorians](https://togithub.com/dorians) in
[arrow-kt/arrow#2622
- Deprecate arrow test modules by
[@&#8203;i-walker](https://togithub.com/i-walker) in
[arrow-kt/arrow#2753
- Update kotlin-js-store/yarn.lock by
[@&#8203;serras](https://togithub.com/serras) in
[arrow-kt/arrow#2756
- Update all dependencies except the compiler version by
[@&#8203;serras](https://togithub.com/serras) in
[arrow-kt/arrow#2757
- Resource deprecate traverseResource, fixes arity-4 by
[@&#8203;nomisRev](https://togithub.com/nomisRev) in
[arrow-kt/arrow#2750
- Fix [#&#8203;2764](https://togithub.com/arrow-kt/arrow/issues/2764) &
[#&#8203;2760](https://togithub.com/arrow-kt/arrow/issues/2760) by
[@&#8203;nomisRev](https://togithub.com/nomisRev) in
[arrow-kt/arrow#2765
- \[2761] Add explicit visibility modifier for all the generated optics
by [@&#8203;aangairbender](https://togithub.com/aangairbender) in
[arrow-kt/arrow#2763
- catch for EffectScope by [@&#8203;serras](https://togithub.com/serras)
in
[arrow-kt/arrow#2746
- Refine the Arrow version selector by
[@&#8203;franciscodr](https://togithub.com/franciscodr) in
[arrow-kt/arrow#2770
- update gradle wrapper by
[@&#8203;i-walker](https://togithub.com/i-walker) in
[arrow-kt/arrow#2771
- Consent management osano by
[@&#8203;israelperezglez](https://togithub.com/israelperezglez) in
[arrow-kt/arrow#2755
- Add ruby setup for publication task by
[@&#8203;i-walker](https://togithub.com/i-walker) in
[arrow-kt/arrow#2774
- fix ruby set up by [@&#8203;i-walker](https://togithub.com/i-walker)
in
[arrow-kt/arrow#2775
- Fix [#&#8203;2779](https://togithub.com/arrow-kt/arrow/issues/2779) by
[@&#8203;nomisRev](https://togithub.com/nomisRev) in
[arrow-kt/arrow#2783
- deprecate orNull Either extension function by
[@&#8203;i-walker](https://togithub.com/i-walker) in
[arrow-kt/arrow#2773
- Support generics and inner classes in `@optics` by
[@&#8203;serras](https://togithub.com/serras) in
[arrow-kt/arrow#2776
- Generalized copy for optics by
[@&#8203;serras](https://togithub.com/serras) in
[arrow-kt/arrow#2777
- Fix usage of startCoroutineUninterceptedOrReturn by
[@&#8203;nomisRev](https://togithub.com/nomisRev) in
[arrow-kt/arrow#2789
- Fix example in documentation by
[@&#8203;obecker](https://togithub.com/obecker) in
[arrow-kt/arrow#2790
- Backport flattening token/shift into Cont by
[@&#8203;nomisRev](https://togithub.com/nomisRev) in
[arrow-kt/arrow#2791
- Enable builder inference for optics `copy` by
[@&#8203;serras](https://togithub.com/serras) in
[arrow-kt/arrow#2792
- Update API compatibility validator version by
[@&#8203;serras](https://togithub.com/serras) in
[arrow-kt/arrow#2794
- \[BUGFIX] Result.zip by
[@&#8203;nomisRev](https://togithub.com/nomisRev) in
[arrow-kt/arrow#2804
- Update docs from version 1.0.1 to 1.1.2 by
[@&#8203;Dobiasd](https://togithub.com/Dobiasd) in
[arrow-kt/arrow#2808
- add separateEither and separateValidated test by
[@&#8203;hoc081098](https://togithub.com/hoc081098) in
[arrow-kt/arrow#2814
- Refactor -
[#&#8203;2812](https://togithub.com/arrow-kt/arrow/issues/2812) iterable
separate performance by [@&#8203;Khepu](https://togithub.com/Khepu) in
[arrow-kt/arrow#2815
- Add Resource.allocated() to decompose Resource into it's allocate and…
by [@&#8203;custommonkey](https://togithub.com/custommonkey) in
[arrow-kt/arrow#2820

#### New Contributors

- [@&#8203;tKe](https://togithub.com/tKe) made their first contribution
in
[arrow-kt/arrow#2714
- [@&#8203;b-schwab](https://togithub.com/b-schwab) made their first
contribution in
[arrow-kt/arrow#2719
- [@&#8203;wojda](https://togithub.com/wojda) made their first
contribution in
[arrow-kt/arrow#2740
- [@&#8203;agusotto96](https://togithub.com/agusotto96) made their first
contribution in
[arrow-kt/arrow#2739
- [@&#8203;dorians](https://togithub.com/dorians) made their first
contribution in
[arrow-kt/arrow#2622
- [@&#8203;aangairbender](https://togithub.com/aangairbender) made their
first contribution in
[arrow-kt/arrow#2763
- [@&#8203;obecker](https://togithub.com/obecker) made their first
contribution in
[arrow-kt/arrow#2790
- [@&#8203;Dobiasd](https://togithub.com/Dobiasd) made their first
contribution in
[arrow-kt/arrow#2808
- [@&#8203;hoc081098](https://togithub.com/hoc081098) made their first
contribution in
[arrow-kt/arrow#2814
- [@&#8203;Khepu](https://togithub.com/Khepu) made their first
contribution in
[arrow-kt/arrow#2815
- [@&#8203;custommonkey](https://togithub.com/custommonkey) made their
first contribution in
[arrow-kt/arrow#2820

**Full Changelog**:
arrow-kt/arrow@1.1.2...1.1.3

### [`v1.1.2`](https://togithub.com/arrow-kt/arrow/releases/tag/1.1.2)

[Compare
Source](https://togithub.com/arrow-kt/arrow/compare/1.1.0...1.1.2)

#### What's Changed

- Update all dependencies to v1.6.21-1.0.5
([#&#8203;2708](https://togithub.com/arrow-kt/arrow/issues/2708)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)

**Full Changelog**:
arrow-kt/arrow@1.1.0...1.1.2

### [`v1.1.0`](https://togithub.com/arrow-kt/arrow/releases/tag/1.1.0)

[Compare
Source](https://togithub.com/arrow-kt/arrow/compare/1.0.1...1.1.0)

#### What's Changed

- Define Dsl as public
([#&#8203;2706](https://togithub.com/arrow-kt/arrow/issues/2706)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Update all dependencies
([#&#8203;2705](https://togithub.com/arrow-kt/arrow/issues/2705)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- Update link to Arrow Analysis documentation
([#&#8203;2701](https://togithub.com/arrow-kt/arrow/issues/2701)) by
[@&#8203;franciscodr](https://togithub.com/franciscodr)
- Update all dependencies
([#&#8203;2703](https://togithub.com/arrow-kt/arrow/issues/2703)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- Update plugin dokka to v1.6.20
([#&#8203;2702](https://togithub.com/arrow-kt/arrow/issues/2702)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- Update stefanzweifel/git-auto-commit-action action to v4.14.1
([#&#8203;2700](https://togithub.com/arrow-kt/arrow/issues/2700)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- Update all dependencies
([#&#8203;2699](https://togithub.com/arrow-kt/arrow/issues/2699)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- Update all dependencies
([#&#8203;2696](https://togithub.com/arrow-kt/arrow/issues/2696)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- Update
([#&#8203;2698](https://togithub.com/arrow-kt/arrow/issues/2698)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Update libs.versions.toml
([#&#8203;2697](https://togithub.com/arrow-kt/arrow/issues/2697)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Fix Either#isNotEmpty()'s KDoc sample
([#&#8203;2694](https://togithub.com/arrow-kt/arrow/issues/2694)) by
[@&#8203;ChristianGarcia](https://togithub.com/ChristianGarcia)
- Update gradle/gradle-build-action action to v2.1.5
([#&#8203;2695](https://togithub.com/arrow-kt/arrow/issues/2695)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- Update all dependencies
([#&#8203;2665](https://togithub.com/arrow-kt/arrow/issues/2665)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- Rename traverseX and sequenceX for Iterable
([#&#8203;2692](https://togithub.com/arrow-kt/arrow/issues/2692)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Rename Sequence sequenceX, traverseX and deprecate Sequence.some
([#&#8203;2686](https://togithub.com/arrow-kt/arrow/issues/2686)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Deprecate combineAll in favour of fold
([#&#8203;2687](https://togithub.com/arrow-kt/arrow/issues/2687)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- rm snapshot and update Kotlin label
([#&#8203;2690](https://togithub.com/arrow-kt/arrow/issues/2690)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Resource tap deprecation
([#&#8203;2684](https://togithub.com/arrow-kt/arrow/issues/2684)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Update Set up Documentation
([#&#8203;2685](https://togithub.com/arrow-kt/arrow/issues/2685)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Fix TOC
([#&#8203;2688](https://togithub.com/arrow-kt/arrow/issues/2688)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Generate optics based on targets or all
([#&#8203;2683](https://togithub.com/arrow-kt/arrow/issues/2683)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Schedule.repeatAsFlow
([#&#8203;2676](https://togithub.com/arrow-kt/arrow/issues/2676)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- File name generation fix
([#&#8203;2681](https://togithub.com/arrow-kt/arrow/issues/2681)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Update all dependencies (major)
([#&#8203;2673](https://togithub.com/arrow-kt/arrow/issues/2673)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- fix imports for ksp plugin
([#&#8203;2678](https://togithub.com/arrow-kt/arrow/issues/2678)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- add Nullable proposal
([#&#8203;2675](https://togithub.com/arrow-kt/arrow/issues/2675)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Resource.asFlow
([#&#8203;2677](https://togithub.com/arrow-kt/arrow/issues/2677)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- remove design doc of Effect
([#&#8203;2674](https://togithub.com/arrow-kt/arrow/issues/2674)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Fix typos reorg resource computation block
([#&#8203;2671](https://togithub.com/arrow-kt/arrow/issues/2671)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- deprecate signatures in computations and add Result for continuations
([#&#8203;2669](https://togithub.com/arrow-kt/arrow/issues/2669)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Fix bug in the transaction example
([#&#8203;2667](https://togithub.com/arrow-kt/arrow/issues/2667)) by
[@&#8203;SaberCon](https://togithub.com/SaberCon)
- deprecate arrow.continuation
([#&#8203;2672](https://togithub.com/arrow-kt/arrow/issues/2672)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- fix sitemap titles
([#&#8203;2670](https://togithub.com/arrow-kt/arrow/issues/2670)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Transfer Cont from [@&#8203;nomisrev](https://togithub.com/nomisrev)
to arrow
([#&#8203;2661](https://togithub.com/arrow-kt/arrow/issues/2661)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Non throwing Retrofit Either adapter
([#&#8203;2621](https://togithub.com/arrow-kt/arrow/issues/2621)) by
[@&#8203;lukaszkalnik](https://togithub.com/lukaszkalnik)
- Retrofit adapter: allow null response body for methods returning Unit
([#&#8203;2625](https://togithub.com/arrow-kt/arrow/issues/2625)) by
[@&#8203;lukaszkalnik](https://togithub.com/lukaszkalnik)
- Fix broken build main Optics Reflect
([#&#8203;2666](https://togithub.com/arrow-kt/arrow/issues/2666)) by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Update documentation links in README
([#&#8203;2664](https://togithub.com/arrow-kt/arrow/issues/2664)) by
[@&#8203;fo2rist](https://togithub.com/fo2rist)
- Optics based on kotlin.reflect
([#&#8203;2612](https://togithub.com/arrow-kt/arrow/issues/2612)) by
[@&#8203;serras](https://togithub.com/serras)
- \[Optics] Optional getter
([#&#8203;2611](https://togithub.com/arrow-kt/arrow/issues/2611)) by
[@&#8203;serras](https://togithub.com/serras)
- Update all dependencies
([#&#8203;2663](https://togithub.com/arrow-kt/arrow/issues/2663)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- Fix link to /patterns/error_handling/
([#&#8203;2627](https://togithub.com/arrow-kt/arrow/issues/2627)) by
[@&#8203;IlyaPomaskin](https://togithub.com/IlyaPomaskin)
- Update all dependencies
([#&#8203;2659](https://togithub.com/arrow-kt/arrow/issues/2659)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- Update gradle/gradle-build-action action to v2.1.1
([#&#8203;2653](https://togithub.com/arrow-kt/arrow/issues/2653)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- \[Optics KSP] Update docs to talk about IDEs
([#&#8203;2655](https://togithub.com/arrow-kt/arrow/issues/2655)) by
[@&#8203;serras](https://togithub.com/serras)
- Use first, .. instead of a,..
([#&#8203;2654](https://togithub.com/arrow-kt/arrow/issues/2654)) by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Update README.md
([#&#8203;2631](https://togithub.com/arrow-kt/arrow/issues/2631)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- CU-23dm3ye support maven publication
([#&#8203;2652](https://togithub.com/arrow-kt/arrow/issues/2652)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Update arrow gradle version
([#&#8203;2651](https://togithub.com/arrow-kt/arrow/issues/2651)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Move Arrow Optics KSP to main/test hierarchy
([#&#8203;2649](https://togithub.com/arrow-kt/arrow/issues/2649)) by
[@&#8203;serras](https://togithub.com/serras)
- Update libs.versions.toml
([#&#8203;2648](https://togithub.com/arrow-kt/arrow/issues/2648)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Link Analysis from home page
([#&#8203;2595](https://togithub.com/arrow-kt/arrow/issues/2595)) by
[@&#8203;serras](https://togithub.com/serras)
- Clean up README after gradle upgrade
([#&#8203;2642](https://togithub.com/arrow-kt/arrow/issues/2642)) by
[@&#8203;felixdivo](https://togithub.com/felixdivo)
- Update plugin kotest-multiplatform to v5.1.0
([#&#8203;2645](https://togithub.com/arrow-kt/arrow/issues/2645)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- Update libs.versions.toml
([#&#8203;2644](https://togithub.com/arrow-kt/arrow/issues/2644)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Update all dependencies to v5.1.0
([#&#8203;2643](https://togithub.com/arrow-kt/arrow/issues/2643)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- revert ksp plugin to jvm only
([#&#8203;2640](https://togithub.com/arrow-kt/arrow/issues/2640)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- update arrow gradle
([#&#8203;2639](https://togithub.com/arrow-kt/arrow/issues/2639)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Update all dependencies
([#&#8203;2638](https://togithub.com/arrow-kt/arrow/issues/2638)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- fix typo comment of circuitbreaker
([#&#8203;2637](https://togithub.com/arrow-kt/arrow/issues/2637)) by
larryjung
- Fixes a few typos on the Fx docs
([#&#8203;2620](https://togithub.com/arrow-kt/arrow/issues/2620)) by
[@&#8203;legzo](https://togithub.com/legzo)
- Update contributing guide with Knit
([#&#8203;2634](https://togithub.com/arrow-kt/arrow/issues/2634)) by
[@&#8203;lukaszkalnik](https://togithub.com/lukaszkalnik)
- \[Optics] Show error for generic classes in KSP plug-in
([#&#8203;2636](https://togithub.com/arrow-kt/arrow/issues/2636)) by
[@&#8203;serras](https://togithub.com/serras)
- Pass Arrow version to publish_doc job
([#&#8203;2633](https://togithub.com/arrow-kt/arrow/issues/2633)) by
[@&#8203;franciscodr](https://togithub.com/franciscodr)
- Fix 404 error in the Core library documentation
([#&#8203;2623](https://togithub.com/arrow-kt/arrow/issues/2623)) by
[@&#8203;devmarkpro](https://togithub.com/devmarkpro)
- Fix Retrofit adapter test configuration
([#&#8203;2624](https://togithub.com/arrow-kt/arrow/issues/2624)) by
[@&#8203;lukaszkalnik](https://togithub.com/lukaszkalnik)
- Update all dependencies
([#&#8203;2628](https://togithub.com/arrow-kt/arrow/issues/2628)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- run on windows only windows test
([#&#8203;2630](https://togithub.com/arrow-kt/arrow/issues/2630)) by
[@&#8203;i-walker](https://togithub.com/i-walker)
- Update CONTRIBUTING.md with the new build guide
([#&#8203;2600](https://togithub.com/arrow-kt/arrow/issues/2600)) by
[@&#8203;lukaszkalnik](https://togithub.com/lukaszkalnik)
- Bump Arrow Gradle Config to 0.6.1-rc.4 by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- \[Github Action] Run build on all platforms
([#&#8203;2626](https://togithub.com/arrow-kt/arrow/issues/2626)) by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Disable Gradle scan, and Gradle daemon by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Update all dependencies
([#&#8203;2617](https://togithub.com/arrow-kt/arrow/issues/2617)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- Disable ksp, and ksp test in Arrow Optics by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Use gradle action everywhere, revery permSize, and add
--full-stacktrace everywhere by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Make KSP plugin a JVM module by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Use gradle action, and add --full-stacktrace by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Bump to arrow gradle config rc3 by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Revert back to ./gradlew by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Fix publish file by [@&#8203;nomisRev](https://togithub.com/nomisRev)
- Use gradle action for publish, and increase timeout time by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Setup Java publish.yml by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Update publish workflow by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Run ./gradlew before get-arrow-version by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Update publish.yml by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Add lib_version
([#&#8203;2616](https://togithub.com/arrow-kt/arrow/issues/2616)) by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Bump Gradle Config to 0.6.1-RC.1
([#&#8203;2615](https://togithub.com/arrow-kt/arrow/issues/2615)) by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Update all dependencies
([#&#8203;2566](https://togithub.com/arrow-kt/arrow/issues/2566)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- Disable parallel gradle
([#&#8203;2614](https://togithub.com/arrow-kt/arrow/issues/2614)) by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Fix Gradle an existing connection was forcibly closed by the remote
host ([#&#8203;2610](https://togithub.com/arrow-kt/arrow/issues/2610))
by [@&#8203;nomisRev](https://togithub.com/nomisRev)
- Update publish gradle opts, and remove gradle cache from tag workflows
by [@&#8203;nomisRev](https://togithub.com/nomisRev)
- Remove gradle cache from publish workflow by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Fix Windows env settings in publish workflow
([#&#8203;2609](https://togithub.com/arrow-kt/arrow/issues/2609)) by
[@&#8203;raulraja](https://togithub.com/raulraja)
- Fix `publish` and `pull_request` workflows
([#&#8203;2608](https://togithub.com/arrow-kt/arrow/issues/2608)) by
[@&#8203;JavierSegoviaCordoba](https://togithub.com/JavierSegoviaCordoba)
- Change Java memory settings by
[@&#8203;JavierSegoviaCordoba](https://togithub.com/JavierSegoviaCordoba)
- Add Java and Gradle settings for both generate tag workflows by
[@&#8203;JavierSegoviaCordoba](https://togithub.com/JavierSegoviaCordoba)
- Add `generate-alpha-tag` by
[@&#8203;JavierSegoviaCordoba](https://togithub.com/JavierSegoviaCordoba)
- Change `tags` regex by
[@&#8203;JavierSegoviaCordoba](https://togithub.com/JavierSegoviaCordoba)
- Merge remote-tracking branch 'origin/main' into
rr-js-add-versioning-plugin by
[@&#8203;JavierSegoviaCordoba](https://togithub.com/JavierSegoviaCordoba)
- Re-organize Optics docs
([#&#8203;2583](https://togithub.com/arrow-kt/arrow/issues/2583)) by
[@&#8203;serras](https://togithub.com/serras)
- Fixing documentation workflow
([#&#8203;2594](https://togithub.com/arrow-kt/arrow/issues/2594)) by
[@&#8203;franciscodr](https://togithub.com/franciscodr)
- Upgrade to kotlinx-coroutines 1.6.0
([#&#8203;2606](https://togithub.com/arrow-kt/arrow/issues/2606)) by
[@&#8203;serras](https://togithub.com/serras)
- Job to update the API files
([#&#8203;2605](https://togithub.com/arrow-kt/arrow/issues/2605)) by
[@&#8203;serras](https://togithub.com/serras)
- Rename arrow-optics-ksp to arrow-optics-ksp-plugin
([#&#8203;2604](https://togithub.com/arrow-kt/arrow/issues/2604)) by
[@&#8203;serras](https://togithub.com/serras)
- Remove legacy Meta, bring Optics KSP
([#&#8203;2599](https://togithub.com/arrow-kt/arrow/issues/2599)) by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- docs(Either): describe the `all` method
([#&#8203;2551](https://togithub.com/arrow-kt/arrow/issues/2551)) by
[@&#8203;codymikol](https://togithub.com/codymikol)
- Make sure listHead set works properly
([#&#8203;2589](https://togithub.com/arrow-kt/arrow/issues/2589)) by
[@&#8203;lenguyenthanh](https://togithub.com/lenguyenthanh)
- Code block style
([#&#8203;2596](https://togithub.com/arrow-kt/arrow/issues/2596)) by
[@&#8203;israelperezglez](https://togithub.com/israelperezglez)
- Add `JAVA_OPTS` and `GRADLE_OPTS` to `publish` and `pull_request` by
[@&#8203;JavierSegoviaCordoba](https://togithub.com/JavierSegoviaCordoba)
- Refactor `publish` and `pull-request` workflows by
[@&#8203;JavierSegoviaCordoba](https://togithub.com/JavierSegoviaCordoba)
- Fix tag regex in `publish` workflow by
[@&#8203;JavierSegoviaCordoba](https://togithub.com/JavierSegoviaCordoba)
- Refactor `publish.yml` workflow and add `generate-tag` workflow by
[@&#8203;JavierSegoviaCordoba](https://togithub.com/JavierSegoviaCordoba)
- Refactor `publish.yml` workflow by
[@&#8203;JavierSegoviaCordoba](https://togithub.com/JavierSegoviaCordoba)
- Add `vcs.xml` by
[@&#8203;JavierSegoviaCordoba](https://togithub.com/JavierSegoviaCordoba)
- versioning plugin by [@&#8203;raulraja](https://togithub.com/raulraja)
- Remove base directory for gradle.properties file
([#&#8203;2585](https://togithub.com/arrow-kt/arrow/issues/2585)) by
[@&#8203;franciscodr](https://togithub.com/franciscodr)
- Simplify Gradle layout, + KNIT, - ANK and fix site code fences
([#&#8203;2584](https://togithub.com/arrow-kt/arrow/issues/2584)) by
[@&#8203;raulraja](https://togithub.com/raulraja)
- Fix bug cancellation parMap
([#&#8203;2579](https://togithub.com/arrow-kt/arrow/issues/2579)) by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- Resource computation block
([#&#8203;2571](https://togithub.com/arrow-kt/arrow/issues/2571)) by
[@&#8203;nomisRev](https://togithub.com/nomisRev)
- make Semigroup a fun interface
([#&#8203;2569](https://togithub.com/arrow-kt/arrow/issues/2569)) by
[@&#8203;brezinajn](https://togithub.com/brezinajn)
- Update all dependencies (major)
([#&#8203;2567](https://togithub.com/arrow-kt/arrow/issues/2567)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)
- Configure Renovate
([#&#8203;2533](https://togithub.com/arrow-kt/arrow/issues/2533)) by
[@&#8203;renovate-bot](https://togithub.com/renovate-bot)

#### New Contributors

- [@&#8203;brezinajn](https://togithub.com/brezinajn) made their first
contribution in
[arrow-kt/arrow#2569
- [@&#8203;devmarkpro](https://togithub.com/devmarkpro) made their first
contribution in
[arrow-kt/arrow#2623
- [@&#8203;IlyaPomaskin](https://togithub.com/IlyaPomaskin) made their
first contribution in
[arrow-kt/arrow#2627
- [@&#8203;felixdivo](https://togithub.com/felixdivo) made their first
contribution in
[arrow-kt/arrow#2642
- [@&#8203;fo2rist](https://togithub.com/fo2rist) made their first
contribution in
[arrow-kt/arrow#2664
- [@&#8203;SaberCon](https://togithub.com/SaberCon) made their first
contribution in
[arrow-kt/arrow#2667
- [@&#8203;ChristianGarcia](https://togithub.com/ChristianGarcia) made
their first contribution in
[arrow-kt/arrow#2694

**Full Changelog**:
arrow-kt/arrow@1.0.1...1.1.0

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/elide-dev/v3).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMDIuMCIsInVwZGF0ZWRJblZlciI6IjM0LjEwMi4wIn0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants