All kotlinx.coroutines
API comes into five flavors: stable, experimental, obsolete, internal and deprecated.
@Deprecated
and will be removed in 1.0.0
release.@InternalCoroutinesApi
. It is intended to be used only by kotlinx.coroutines
machinery and can (will) be broken without a warning. If you are using internal API, please tell us what problem you are trying to solve, so we can provide a stable alternative.ExperimentalCoroutinesApi
. Such API may have (known) design issues or we are unsure about its semantics. Roughly speaking, there is a chance that those declarations will be deprecated in the near future or the semantics of their behavior may change in the way that may break some code. In that case, proper migration aid will be provided for next several releases alongside with a stable alternative.@ObsoleteCoroutinesApi
. This API is known to have some serious issues, so it will be replaced with a better alternative. In the sense of migration and deprecation, it is equal to experimental.The main difference between Kotlin 1.2 and 1.3 is that coroutines are now stable public API, and thus kotlinx.coroutines
is leaving its "experimental" status. For that reason, future releases of kotlinx.coroutines
will be available only for Kotlin 1.3. Version 1.0.0
(starting with its release candidate build) will have all its deprecated declarations removed and kotlinx.coroutines.experimental
package will be renamed to kotlinx.coroutines
without functional changes. In order to migrate kotlinx.coroutines
to 1.0.0
, follow these steps:
kotlinx.coroutines
to 0.30.2
version.1.3.0
or to the latest 1.3.0-rc
and kotlinx.coroutines
to version 0.30.2-eap13
. Then just get rid of experimental
suffix in all imports.kotlinx.coroutines
to version 1.0.0
or to the corresponding release candidate of it).