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.4.0-M1 #2297

Merged
merged 30 commits into from Oct 13, 2020
Merged

Version 1.4.0-M1 #2297

merged 30 commits into from Oct 13, 2020

Commits on Aug 17, 2020

  1. Configuration menu
    Copy the full SHA
    bbc99b9 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2020

  1. Remove redundant and flaky (due to its nature, not implementation pro…

    …blems) DebugLeaksStressTest
    qwwdfsad committed Aug 19, 2020
    Configuration menu
    Copy the full SHA
    0436576 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2020

  1. Configuration menu
    Copy the full SHA
    230ade7 View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2020

  1. Cherry-picks from native-mt branch to reduce maintenance burden (#2204)

    * Immediate dispatcher on JS, test added
    * Style fixes
    qwwdfsad committed Aug 24, 2020
    Configuration menu
    Copy the full SHA
    a8bfc0e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3cbf4ad View commit details
    Browse the repository at this point in the history
  3. Add space staging repository

    qwwdfsad committed Aug 24, 2020
    Configuration menu
    Copy the full SHA
    63156a8 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2020

  1. Transition to the Gradle kts

    Non-deprecated 'jmhJar' configuration (#2032) (+9 squashed commits)
    Squashed commits:
    [8d07d36] Use new Kotlin/JS plugin (#1983)
    * Use new Kotlin/JS plugin
    * Support legacy DCE mode for 1.4-M2
    [d224640] Add Dokka configuration method
    [56e1c9b] Dokka plugin in 'buildSrc'
    [dfdd202] Remove unused repositories
    [4cf1d02] Kotlin DSL - 'javafx'
    [d8f7d50] Avoid task name duplication
    [f06a56b] Avoid task name duplication
    [a09df3d] Separate 'UnpackAar' action
    [fd5bf6b] Separate 'RunR8' task
    turansky authored and qwwdfsad committed Aug 25, 2020
    Configuration menu
    Copy the full SHA
    964cd92 View commit details
    Browse the repository at this point in the history
  2. Migrate examples to new JS plugin

        * General cleanup and TODOs
    
    Co-authored with: ilya.goncharov@jetbrains.com
    qwwdfsad committed Aug 25, 2020
    Configuration menu
    Copy the full SHA
    fcaa6df View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2020

  1. Configuration menu
    Copy the full SHA
    fe2fedc View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2020

  1. Fixed CoroutinesScope.ensureActive docs (#2242)

    This is leftover from #2044 fix.
    
    Fixes #2241
    elizarov committed Sep 11, 2020
    Configuration menu
    Copy the full SHA
    879881e View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2020

  1. Add awaitCancellation (#2225)

    Fixes #2213
    LouisCAD authored and elizarov committed Sep 14, 2020
    Configuration menu
    Copy the full SHA
    2d0686b View commit details
    Browse the repository at this point in the history
  2. Support JetBrains cache-redirector service for stable CI builds (#2247)

    On CI set CACHE_REDIRECTOR=true environment property.
    elizarov committed Sep 14, 2020
    Configuration menu
    Copy the full SHA
    85b1a2b View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2020

  1. Add Publisher.awaitSingleOrDefault|Null|Else extensions (#2260)

    This commit adds awaitSingle variants similar to awaitFirst ones, but
    always emitting the value during onComplete().
    
    Fixes #1993
    sdeleuze committed Sep 22, 2020
    Configuration menu
    Copy the full SHA
    5dd94a3 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2020

  1. Lint settings for 1.4 (#2038)

    The latest part of #2026
    qwwdfsad committed Sep 30, 2020
    Configuration menu
    Copy the full SHA
    5b71210 View commit details
    Browse the repository at this point in the history
  2. Remove parent.start() from CancellableContinuationImpl.kt (#2036)

    It seems to be the legacy from times when CC was a Job, in order to observe behaviour change, a specific example should be accurately made
    qwwdfsad committed Sep 30, 2020
    Configuration menu
    Copy the full SHA
    f02aadc View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2020

  1. Fix wrong Proguard rules (#2273)

    Fixes #2046 
    Fixes #2266
    dkhalanskyjb committed Oct 1, 2020
    Configuration menu
    Copy the full SHA
    d2ed1d8 View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2020

  1. Kts transition (#2261)

    * Kotlin DSL - 'reactive:reactor'
    * Kotlin DSL - 'reactive:jdk9'
    * Kotlin DSL - 'kotlinx-coroutines-slf4j'
    * Kotlin DSL - 'kotlinx-coroutines-guava'
    * Plugin repo management in 'pluginManagement' block
    * Remove redundant stdlib dependencies (#2253)
    
    Co-authored-by: Victor Turansky <victor.turansky@gmail.com>
    qwwdfsad and turansky committed Oct 5, 2020
    Configuration menu
    Copy the full SHA
    3af136f View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2020

  1. Configuration menu
    Copy the full SHA
    d4c55ce View commit details
    Browse the repository at this point in the history
  2. Provide asFlowable and asObservable by their names in binary instead … (

    #2285)
    
    * Provide asFlowable and asObservable by their names in binary instead of 'from' function to prevent naming clash for Java users.
    * Do not provide @jvmoverloads for convenience of Java interop
    * Deprecate ReceiveChannel.asObservable by the way
    
    Fixes #2182
    qwwdfsad committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    448106a View commit details
    Browse the repository at this point in the history
  3. Pr/2230 (#2287)

    * Allow nullable types in Flow.firstOrNull
    * Allow nullable types in Flow.singleOrNull
    * Align Flow.single and Flow.singleOrNull with Kotlin standard library
    
    Fixes #2229
    Fixes #2289
    
    Co-authored-by: Nicklas Ansman Giertz <nicklas@ansman.se>
    qwwdfsad and ansman committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    7897f70 View commit details
    Browse the repository at this point in the history
  4. Update Flow.sample KDoc example timings, add tests (#2259)

    * All Flow.debounce/sample KDoc example code snippets are automatically tested with Knit.
    * Flow.sample timings are made larger, so that they produce an expected output when run under the real time, too.
    
    Fixes #2243
    elizarov committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    b97ebfc View commit details
    Browse the repository at this point in the history
  5. Added docs on withTimeout asynchrony and its use with resources (#2252)

    This is a tricky gotcha that needs additional explanation. There are two examples added, one showing the bad code and explaining why it does not work, and the other showing the correct way to write it.
    
    Fixes #2233
    elizarov committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    20ca97a View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2020

  1. Document problems with building coroutines-using Android projects (#2288

    )
    
    Added instructions to work around #2023 
    Also, the answer to #2274 is now documented.
    
    Co-authored-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
    dkhalanskyjb and qwwdfsad committed Oct 9, 2020
    Configuration menu
    Copy the full SHA
    b82439e View commit details
    Browse the repository at this point in the history
  2. Cancel current Job on RejectedExecutionException (#2012)

    When the Executor that was used with Executor.asCoroutineDispatcher() extension rejects the submitted task, it means that it had reached its capacity and so the executing current Job should be canceled to terminate it as soon as possible. This way RejectedExecutionException works as a rate-limiter just like it serves this purpose in executor-based Java code.
    
    Fixes #2003
    elizarov committed Oct 9, 2020
    Configuration menu
    Copy the full SHA
    20341f2 View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2020

  1. Refactor mpp/native build, introduce "concurrent" source set, test la…

    …uncher (#2074)
    
    New source sets:
    * "concurrent" source set is shared between "jvm" and "native"
    * "native" source set is subdivided into "nativeDarwin" (Apple) and "nativeOther" (Linux, etc)
    
    Native tests are launched in two variants:
    * A default "test" task runs tests with memory leak checker from "mainNoExit" entry point.
    * A special "backgroundTest" task runs tests in a background worker from "mainBackground" entry point.
    
    Other build improvement:
    * Modernize old-style IDEA-active hacks to kts helper.
    * Extract versions of JS test runner dependencies.
    * Remove redundant google repo reference from android tests.
    elizarov committed Oct 12, 2020
    Configuration menu
    Copy the full SHA
    738f5a2 View commit details
    Browse the repository at this point in the history
  2. Breaking: Get rid of atomic cancellation and provide a replacement (#…

    …1937)
    
    This is a problematic for Android when Main dispatcher is cancelled on destroyed activity.
    Atomic nature of channels is designed to prevent loss of elements,
    which is really not an issue for a typical application, but creates problem when used with channels.
    
    * Internal suspendAtomicCancellableCoroutine -> suspendCancellableCoroutine
    * Internal suspendAtomicCancellableCoroutineReusable -> suspendCancellableCoroutineReusable
    * Remove atomic cancellation from docs
    * Ensures that flowOn does not resume downstream after cancellation.
    * MODE_ATOMIC_DEFAULT renamed into MODE_ATOMIC
    * Introduced MODE_CANCELLABLE_REUSABLE to track suspendCancellableCoroutineReusable
    * Better documentation for MODE_XXX constants.
    * Added stress test for proper handling of MODE_CANCELLABLE_REUSABLE
      and fixed test for #1123 bug with job.join (working in MODE_CANCELLABLE) that was not
      properly failing in the absence of the proper code in CancellableContinuationImpl.getResult
    * Added test for Flow.combine that should be fixed
    * Support extended invokeOnCancellation contract
    * Introduced internal tryResumeAtomic
    * Channel onUnderliveredElement is introduced as a replacement.
    
    Fixes #1265
    Fixes #1813
    Fixes #1915
    Fixes #1936
    
    Co-authored-by: Louis CAD <louis.cognault@gmail.com>
    Co-authored-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
    3 people committed Oct 12, 2020
    Configuration menu
    Copy the full SHA
    8773a26 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    030aee4 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2020

  1. Introduce SharedFlow and sharing operators (#2069)

    * Introduce SharedFlow and sharing operators
    
    Summary of changes:
    * SharedFlow, MutableSharedFlow and its constructor.
    * StateFlow implements SharedFlow.
    * SharedFlow.onSubscription operator, clarified docs in other onXxx operators.
    * BufferOverflow strategy in kotlinx.coroutines.channels package.
    * shareIn and stateIn operators and SharingStarted strategies for them.
    * SharedFlow.flowOn error lint (up from StateFlow).
    * Precise cancellable() operator fusion.
    * Precise distinctUntilChanged() operator fusion.
    * StateFlow.compareAndSet function.
    * asStateFlow and asSharedFlow read-only view functions.
    * Consistently clarified docs on cold vs hot flows.
    * Future deprecation notice for BroadcastChannel, ConflatedBroadcastChannel, broadcast, and broadcastIn.
    * Channel(...) constructor function has onBufferOverflow parameter.
    * buffer(...) operator has onBufferOverflow parameter.
    * shareIn/stateIn buffer and overflow strategy are configured via upstream buffer operators.
    * shareIn/stateIn fuse with upstream flowOn for more efficient execution.
    * conflate() is implemented as buffer(onBufferOverflow=KEEP_LATEST), non-suspending strategies are reasonably supported with 0 and default capacities.
    * Added reactive operator migration hints.
    * WhileSubscribed with kotlin.time.Duration params
    
    Fixes #2034
    Fixes #2047
    
    Co-authored-by: Ibraheem Zaman <1zaman@users.noreply.github.com>
    Co-authored-by: Thomas Vos <thomasjsvos@gmail.com>
    Co-authored-by: Travis Wyatt <travis.i.wyatt@gmail.com>
    4 people committed Oct 13, 2020
    Configuration menu
    Copy the full SHA
    34c3464 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c92cec3 View commit details
    Browse the repository at this point in the history
  3. Version 1.4.0-M1

    qwwdfsad committed Oct 13, 2020
    3 Configuration menu
    Copy the full SHA
    f3a9b60 View commit details
    Browse the repository at this point in the history