-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Version 1.3.8 #2142
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
Merged
Merged
Version 1.3.8 #2142
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Gradle 6.3 * Enable Gradle module metadata in all modules * Workaround for gradle/gradle#11412 * Fix invalid mutation of a tasks's dependsOn w/Gradle 6.3 * Rename root MPP module and publish the JVM JAR within * Rename the JVM module: empty suffix -> '-jvm'; * Rename the root MPP module: '-native' -> empty suffix; * Publish the JVM JAR and POM in the root MPP module, so that consumers who can't read Gradle module metadata, such as Maven or old Gradle versions, get the JVM resolution result from the root MPP module. * Enable HMPP * Add jvm attribute to detached configuration Otherwise variant-aware resolution fails to find compatible variant in kotlinx-coroutines-core * Enable HMPP conditionally for Kotlin 1.4.x and not 1.3.7x * Workaround KT-39037 * Disable PrecompiledDebugProbesTest test in train builds * Conditionally hack out the Gradle module metadata with Kotlin 1.3.7x * Conditionally rename Kotlin metadata module to *-metadata with Kotlin 1.4.x * Conditionally rename the root & JVM modules with Kotlin 1.4.x Co-authored-by: Dmitry Savvinov <[email protected]> Co-authored-by: Vsevolod Tolstopyatov <[email protected]>
* Prepare for 1.4-M2 Kotlin/JS * Compatibility with 1.3.70 * Fix check for irTarget
…ule (#2061) The rule -keepnames class kotlinx.coroutines.android.AndroidDispatcherFactory {} is present in kotlinx.coroutines.android/META-INF/proguard/coroutines.pro and should therefore is not needed.
Introduced by #2015
* Improve the docs and guide on flow cancellation * Remove outdated phrase on "flow infrastructure does not introduce additional cancellation points". They were introduced by #2028 * Add a section on "Flow cancellation check" with examples on `Flow.cancellable()`` operator. * Add a bit more detail in `flow` and `cancellable` docs with links to `ensureActive()`.
Ignored change in interface ReceiveChannel interface is: - public abstract fun receiveOrClosed (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun receiveOrClosed-ZYPwvRU (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; This change is planned in 1.4.0 compiler.
* Recognizable toString implementation in default dispatchers * Fast-path for disabled debug probes
…l signal handler. (#2118) Otherwise, it may lead to obscure error messages in the console when users are on Windows and are not aware about signals.
Co-authored-by: Thibault SEISEL <[email protected]>
Also, most flow-truncating operators are refactored via a common internal collectWhile operator that properly uses AbortFlowException and checks for its ownership, so that we don't have to look for bugs in interactions between all those operators (and zip, too, which is also flow-truncating). But `take` operator still users a custom highly-tuned implementation. Fixes #2065 Co-authored-by: EdwarDDay <[email protected]> Co-authored-by: Louis CAD <[email protected]>
…andard library. (#2139) foldReduce is not introduced to see how it goes in the standard library first. For the full rationale of renaming, please refer to KT-38060
The race was leading to emitting more items via onNext than requested, the corresponding stress-test was added, too Fixes #2109
So that is shows as "Dispatchers.Main" and "Dispatchers.Main.immediate". Also remove hardcoded "Main" name in places of code where it is not needed anymore.
qwwdfsad
approved these changes
Jul 16, 2020
…#2129) It should not prevent garbage-collection of coroutines that were otherwise lost, which included the following practically-useful cases: * Synchronous coroutines (iterator/sequence). * Lazy coroutines that were not started. * Abandoned coroutines that suspend forever without strong references to them in GlobalScope. Two kinds of tests cover this functionality: * A test via FieldWalker ensures that debugger impl does not keep a strong reference. This tests works fast and provides good diagnostics if anything goes wrong, but it is fragile, as futures changes to debugger my introduce static references to running coroutines elsewhere. * A stress-test that ensures that no OOM indeed happens when you run a lot of such lost coroutines. Longer-running, more stable to code change, but fragile in a difference sense as it may accidentally start passing in the future if lots of memory get allocated for tests. Fixes #2117
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
TODO
Changelog
New experimental features
Flow.transformWhile operator
(Flow.transformWhile operator #2065).scanReduce
withrunningReduce
to be consistent with the Kotlin standard library (Replace scanReduce with runningReduce to be consistent with Kotlin st… #2139).Bug fixes and improvements
Flow.asPublisher
(Kotlin 1.3.72 - Race Condition when using FlowAsPublisher with a multi-threaded consumer #2109).ensureActive
to work in the empty context case to fixIllegalStateException
when using flow fromsuspend fun main
(Flow builder does not work from suspend fun main (IllegalStateException) #2044).AbortFlowException
in theFlow.first
operator to avoid erroneousNoSuchElementException
(Flow<T>.first operator throws NoSuchElementException where CancellationException must be thrown #2051).kotlinx.coroutines.android
from core module (Remove keep rules mentioning kotlinx.coroutines.android #2061 by @mkj-gram).6.3
(it only affects multiplatform artifacts in this release).