:mega: :mega: :mega: `kotlinx.coroutines` 1.2.0-al...
# coroutines
v
📣 📣 📣
kotlinx.coroutines
1.2.0-alpha is here! This is an alpha version of the major release with a lot of improvements in debuggability, diagnostics and performance. Changelog: * Debug agent now merges real stacktraces with coroutine stacktraces, its API is cleaned up and debug agent is on its road to stabilization *
CoroutineTimeout
test rule for JUnit4 to simplify testing and debugging with coroutines * Futures are now integrated with structured concurrency *
Dispatchers.Unconfined
,
MainCoroutineDispatcher.immediate
,
MainScope
and
CoroutineScope.cancel
are promoted to stable API *
CompletableJob
is introduced,
Job()
and
SupervisorJob()
are now completable *
ensurePresent
and
isPresent
extensions for
ThreadLocal
*
ensureActive
extensions for
CoroutineContext
,
CoroutineScope
and
Job
* Operator
invoke
on
CoroutineDispatcher
...and a lot more, full changelog: https://github.com/Kotlin/kotlinx.coroutines/releases/tag/1.2.0-alpha
🎉 17
⏸️ 8
d
I think the link for
Structured concurrency is integrated into futures and listenable futures
is wrong - it goes to https://github.com/Kotlin/kotlinx.coroutines/issues/1008
v
Thanks! Off-by-one errors 🙂 It was #1007
p
congrats on the new release!
s
Empty Android project with implementation 'org.jetbrains.kotlinxkotlinx coroutines core1.2.0-alpha' Execution failed for task 'apptransformResourcesWithMergeJavaResForDebug'.
More than one file was found with OS independent path 'META-INF/atomicfu.kotlin_module' when build project.
r
@Slava Glushenkov you can safely add the following to your Android app build.gradle:
Copy code
android {
    ...
    packagingOptions {
            ...
            exclude 'META-INF/*.kotlin_module'
    }
}
These files are needed when you consume Kotlin library, but there's no need for them in final APK file.
s
Thnx. It works.