https://kotlinlang.org logo
#coroutines
Title
# coroutines
v

Vsevolod Tolstopyatov [JB]

09/28/2018, 5:49 PM
📣 📣 📣
kotlinx.coroutines
version
0.30.0
. We are happy to announce the last release for Kotlin 1.2.70 and the last
0.x.x
release. The next release will be 1.0.0-RC for Kotlin 1.3-RC and all deprecated API will be removed. Changelist: * [Major]
async
and async-like builders cancel parent on failure, making parallel decomposition completely exception-safe. No more unnecessary
awaitAll
in structured concurrency! * [Major] Coroutine scheduler is used for
Dispatchers.Default
instead of deprecated
CommonPool
. * Supervisor job and supervisor scope for more controlled cancellation of coroutines hierarchies. *
Job()
with parent now also cancels parent on failure consistently with other scopes. * Various bug fixes and improvements. See the full changelog here: https://github.com/Kotlin/kotlinx.coroutines/releases/tag/0.30.0. To properly prepare your application to 1.0.0 release, do the following steps: 1) Update
kotlinx.coroutines
to
0.30.0
version. 2) Inspect compiler warnings about deprecated API and migrate it to a proposed alternative. Most of deprecated API has a corresponding replacement which can be applied from IDEA with quickfix. 3) Update Kotlin version to 1.3-RC and
kotlinx.coroutines
to
0.30.0-eap13
. 4) Update
kotlinx.coroutines
to
1.0.0
when it’s released 🙂 Compatibility and migration policy: https://github.com/Kotlin/kotlinx.coroutines/blob/master/COMPATIBILITY.md
🎉 14
0.30.0-eap13
will be released on Monday
👍 2
c

cbruegg

09/28/2018, 5:53 PM
One thing I was wondering: IIRC, it was discouraged in Kotlin to create an
object
singleton just for the sake of namespacing, while
Dispatchers
is doing pretty much that, right? Is there any specific reason behind the dispatchers not simply being top-level `val`s? (I'd actually be in favor of using `object`s for namespacing, but I don't want to violate style guides.)
l

louiscad

09/28/2018, 5:54 PM
@cbruegg I'm not certain where you read/heard that. The stdlib itself uses this with
Delegates
c

cbruegg

09/28/2018, 5:57 PM
e

elizarov

09/28/2018, 6:36 PM
The decision was based on readability. There are many context elements and it is convenient to see that one is adding a dispatcher at a glance.
👍 1
2 Views