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

Version 1.3.0-RC2 #1431

Merged
merged 34 commits into from
Aug 9, 2019
Merged

Version 1.3.0-RC2 #1431

merged 34 commits into from
Aug 9, 2019

Conversation

qwwdfsad
Copy link
Collaborator

@qwwdfsad qwwdfsad commented Aug 9, 2019

No description provided.

qwwdfsad and others added 30 commits July 22, 2019 11:46
… on completed deferred in StackTraceRecoveryTest
This anticipates a new mechanism in a future
Android Gradle Plugin (3.6.0+) that enables
version targeting of ProGuard/R8 rules.

It does not change any behavior for current users
of the library.

Once the new plugin is used, the R8 optimization
will be read automatically.

It also contains tests.

Co-authored-by: Wojtek Kaliciński <[email protected]>
Co-authored-by: Jake Wharton <[email protected]>
* Mention in the guide that `-ea` turns it on.
* Give a link to DEBUG_PROPERTY_NAME instead of newCoroutineContext.
  The later does not have details on its page anymore, since
  the details were only mentioned in JVM version.
* Move description in of debugging facilities to DEBUG_PROPERTY_NAME
  in the code.
Concurrent work is already properly decomposed and does not expose an "partial cancellation" behaviour as other operators may do

Fixes #1334
…of users who depend on any reactive library and kotlinx.coroutines
These exclusions are obsolete since Kotlin 1.3.40.
Resolves #1405
  * Implementation detail (launch on each value) is leaking into upstream behaviour
  * The overhead is negligible compared to launching a new coroutines and sending to channel, but it provides a much approachable mental model when no suspension in the upstream flow happens (note: upstream never sends elements to the channel)

Fixes #1392
#1409)

* Use setTimeout-based dispatcher when process is not available on the target runtime

Fixes #1404
  * Improved documentation
  * Detailed error messages
This will make Flow API surface more orthogonal with less operators to
remember. Both of them can be easily written without too much additional
code and still produce quite readable and easy to understand code:

delayFlow(time) = onStart { delay(time) }
delayEach(time) = onEach { delay(time) }

Fixes #1429
…race recovery to properly deal with Android's minifier

Fixes #1416
#1426)

* Properly enforce flow invariant when flow is used from "suspend fun main" or artificially started coroutine (e.g. by block.startCoroutine(...))

Fixes #1421
#1420)

Get rid of NonRecoverableThrowable, mention way to opt-out stacktrace recovery in debugging.md
…duce. Previously it was not possible due to not implemented #1235
* Allocate underlying buffer in ArrayChannel in on-demand manner

Rationale:
Such change will allow us to use huge buffers in various flow operators without having a serious footprint in suspension-free scenarios
…#1377)

* Propagation of the coroutine context of await calls into
  Mono/Flux builder
* Publisher.asFlow propagates coroutine context from `collect`
  call to the Publisher
* Flow.asFlux transform
* Optimized FlowSubscription
* kotlinx.coroutines.reactor.flow package is replaced with kotlinx.coroutines.reactor

Fixes #284
#1368)

* Fully copy CoroutineInfo for DebugProbes.dumpCoroutinesInfo, it is required for IDEA integration (field is left as internal deliberately)
* Make CoroutineInfo non-data class
  * Operator renamed to combine
  * Introduced combineTransform operator with custom transformer
  * Decouple API and implementation details to improve user experience from IDE
  * combine(Iterable<Flow>) and combineTransform(Iterable<Flow>) are introduced

Fixes #1224
Fixes #1262
…nd to have a consistent and meaningful naming scheme for the rest of the 'latest' operators

    * Make flatMapLatest pure, do not leak cancellation behaviour to downstream
    * Make *latest buffered by default to amortize constant re-dispatch cost
    * Introducing transformLatest
    * Introducing mapLatest

Fixes #1335
@qwwdfsad qwwdfsad requested a review from elizarov August 9, 2019 15:27
@qwwdfsad qwwdfsad changed the title Version 1.3.0 rc2 Version 1.3.0-RC2 Aug 9, 2019
@qwwdfsad qwwdfsad marked this pull request as ready for review August 9, 2019 15:41
@elizarov
Copy link
Contributor

elizarov commented Aug 9, 2019

Ship it!

@LouisCAD
Copy link
Contributor

LouisCAD commented Aug 9, 2019

That typo in my mailbox @elizarov 😆 🙈

@fvasco
Copy link
Contributor

fvasco commented Aug 9, 2019

It's not a bug, it's a feature 🙃

@qwwdfsad qwwdfsad merged commit 0d7f3fb into master Aug 9, 2019
@elizarov
Copy link
Contributor

That typo in my mailbox @elizarov 😆 🙈

I knew you were watching.

@qwwdfsad qwwdfsad deleted the version-1.3.0-RC2 branch September 26, 2019 09:42
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

8 participants