As announced in Kotlin 1.3-M1 blog post coroutines are graduating and are becoming a stable feature in Kotlin 1.3. Migration to the graduated coroutines would require removing
experimental from all the package names as well as adjustments to the usages of certain low-level APIs like
Continuation and advanced functions from
We are releasing an updated version of all JetBrains libraries like
kotlinx.coroutines for graduated coroutines. However, if you happen to be using 3rd party library that exposes experimental coroutines in its APIs and the maintainers of that library would not perform a timely update to the Kotlin 1.3 graduated coroutines, then you’ll find that you cannot use the functions in those libraries that expose experimental coroutines if your project is configured with Kotlin language level 1.3 — Kotlin compiler will report an error on an attempt to use them.
Hereby we are gathering feedback to decide on what kind of support we would need to provide for that scenario in Kotlin 1.3 release. Please, respond if you are using any 3rd party non-JetBrains libraries that you do not control and which expose experimental Kotlin coroutines in their APIs. We are interested to know what libraries are those and how exactly the experimental coroutines are exposed by those libraries:
- They expose
- They receive or return
- They receive, return or otherwise expose types from
kotlinx.coroutines.experimentalpackage and thus would prevent you from fully migrating to the version of
kotlinx.coroutineslibrary for Kotlin 1.3 which removes
experimentalfrom all the package names.
Links to your applications and the corresponding libraries’ code (if possible, of course) would be extremely helpful.
Please, feel free to comment if you feel that you would be otherwise inconvenienced by inability to use code that was compiled with Kotlin language level 1.2 and exposes experimental coroutines from the code that is being compiled with Kotlin language level 1.3.