-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
1.4.0 experimentality #2316
1.4.0 experimentality #2316
Conversation
… removing them, warning was not strict enough
* CoroutineDispatcher.invoke * ReceiveChannel.consume and ReceiveChannel.consumeEach * Flow core operators: onStart, onCompletion, onEmpty * CompletableDeferred.completeWith * awaitCancellation * Add experimentality notes where applicable
397a080
to
21d82f3
Compare
Please, don't stabilize |
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.
+1 to make StateFlow/SharedFlow stable. There've been quite extensive community testing already, bugs were found and fixed. Note, that should also include stabilizing BufferOverflow
enum.
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.
👍
@@ -27,7 +27,7 @@ internal expect fun assert(value: () -> Boolean) | |||
* Copy mechanism is used only on JVM, but it might be convenient to implement it in common exceptions, | |||
* so on JVM their stacktraces will be properly recovered. | |||
*/ | |||
@ExperimentalCoroutinesApi | |||
@ExperimentalCoroutinesApi // Since 1.2.0, no ETA on stability |
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.
What is needed for CopyableThrowable
to become stable? Is there any issue to watch? Can we help somehow?
This came to my attention, because Retrofit now produces not very helpful stacktraces from suspending calls and the corresponding fix is blocked because this is experimental: square/retrofit#3474
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 best way is to let us know and file an issue. Filed #2367
A notable addition to this release is the below: "StateFlow, SharedFlow and corresponding operators are promoted to stable API (Kotlin/kotlinx.coroutines#2316)."
Matters to discuss/TODO list:
StateFlow
,ShareFlow
and co. Let's lift experimentality right now?callbackFlow
/channelFlow
. TBD, but seems like it's time to stabilize itResolution: left as is, deprecate with(Conflated)BroadcasChannel
. It's definitely time to mark them asObsolete
, but if we agree on p. 1, let's deprecate it with a warning for future removal (hiding, at least).WARNING
in 1.5.0 when shared/state flows are well-used and widespread