-
Notifications
You must be signed in to change notification settings - Fork 451
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
CU-yrnj0u Fix binary comp of 0.13.2 #2472
Conversation
# Conflicts: # arrow-libs/core/arrow-annotations/api/arrow-annotations.api
@@ -819,9 +854,8 @@ public final class arrow/core/OptionKt { | |||
public static final fun sequence (Larrow/core/Option;)Ljava/util/List; | |||
public static final fun sequenceEither (Larrow/core/Option;)Larrow/core/Either; | |||
public static final fun sequenceValidated (Larrow/core/Option;)Larrow/core/Validated; | |||
public static final fun singleOrNone (Ljava/lang/Iterable;)Larrow/core/Option; | |||
public static final fun singleOrNone (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Larrow/core/Option; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
those missing in Option.kt just moved to Iterable.kt
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The easiest thing we can do here is to add them for binary compat only.
Small effort, only for a single release. I can add these if you want.
@Deprecated("This is only here for binary compat", level = DeprecationLevel.HIDDEN)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see I'll do that
@@ -402,22 +443,22 @@ public final class arrow/fx/coroutines/Schedule$Companion { | |||
public final fun duration ()Larrow/fx/coroutines/Schedule; | |||
public final fun exponential (DD)Larrow/fx/coroutines/Schedule; | |||
public static synthetic fun exponential$default (Larrow/fx/coroutines/Schedule$Companion;DDILjava/lang/Object;)Larrow/fx/coroutines/Schedule; | |||
public final fun exponential-VtjQ1oo (DD)Larrow/fx/coroutines/Schedule; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure what the DD
, D
means here @nomisRev ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure. Seems like random identifiers. Can't find anything in their docs about this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Besides that, I think it looks good! No other breakages I could spot.
@@ -819,9 +854,8 @@ public final class arrow/core/OptionKt { | |||
public static final fun sequence (Larrow/core/Option;)Ljava/util/List; | |||
public static final fun sequenceEither (Larrow/core/Option;)Larrow/core/Either; | |||
public static final fun sequenceValidated (Larrow/core/Option;)Larrow/core/Validated; | |||
public static final fun singleOrNone (Ljava/lang/Iterable;)Larrow/core/Option; | |||
public static final fun singleOrNone (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Larrow/core/Option; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The easiest thing we can do here is to add them for binary compat only.
Small effort, only for a single release. I can add these if you want.
@Deprecated("This is only here for binary compat", level = DeprecationLevel.HIDDEN)
@@ -402,22 +443,22 @@ public final class arrow/fx/coroutines/Schedule$Companion { | |||
public final fun duration ()Larrow/fx/coroutines/Schedule; | |||
public final fun exponential (DD)Larrow/fx/coroutines/Schedule; | |||
public static synthetic fun exponential$default (Larrow/fx/coroutines/Schedule$Companion;DDILjava/lang/Object;)Larrow/fx/coroutines/Schedule; | |||
public final fun exponential-VtjQ1oo (DD)Larrow/fx/coroutines/Schedule; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure. Seems like random identifiers. Can't find anything in their docs about this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
arrow-xxx-test
we're ignorning for now. Api baseline will be tracked from 1.0.0
On the 0.13.3
release branch we can move the Option/Iterable
methods back, and then we don't have a binary compat break between 0.13.2
and 0.13.3
.
This way the binary breakage is only between 0.13.3
and 1.0.0
for those methods, whilst the Kotlin API is never broken.
Looks great to me @i-walker!! Thank you so much for taking care of this!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @i-walker !
Minor binary incompatibilities:
raceN
f*
functions have the CoroutineScope as a receiverIterable.kt
and are moved out of the data type files, likeOption.kt
,ParTraverse
,