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

1.4.0 experimentality #2316

Merged
merged 4 commits into from Oct 26, 2020
Merged

1.4.0 experimentality #2316

merged 4 commits into from Oct 26, 2020

Conversation

qwwdfsad
Copy link
Member

@qwwdfsad qwwdfsad commented Oct 19, 2020

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 it
  • Reactive integrations experimentality. A lot of open issues regarding lifecycle management, let's leave it as is
  • (Conflated)BroadcasChannel. It's definitely time to mark them as Obsolete, but if we agree on p. 1, let's deprecate it with a warning for future removal (hiding, at least). Resolution: left as is, deprecate with WARNING in 1.5.0 when shared/state flows are well-used and widespread

… 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
@LouisCAD
Copy link
Contributor

Please, don't stabilize callbackFlow/channelFlow before #974 is addressed.

Copy link
Contributor

@elizarov elizarov left a 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.

Copy link
Contributor

@elizarov elizarov left a comment

Choose a reason for hiding this comment

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

👍

@qwwdfsad qwwdfsad merged commit e16eb9d into develop Oct 26, 2020
@qwwdfsad qwwdfsad deleted the 1.4.0-experimentality branch October 26, 2020 14:05
@@ -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

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

Copy link
Member Author

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

ParaskP7 added a commit to ParaskP7/sample-code-movies that referenced this pull request Nov 9, 2020
A notable addition to this release is the below:

"StateFlow, SharedFlow and corresponding operators are promoted to
stable API (Kotlin/kotlinx.coroutines#2316)."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants