Migration Guide
The new branch of Koin 3.x is bringing latest features & fixes. It brings Multiplatform, Jetpack Compose and much more. You can use it even if you don't use those features, to benefit from the latest fixes.
Migrating to latest version 🚀
Koin v2
Android & AndroidX Module
The following modules are available for Android. Be sure to use the koin-androidx modules, as there are based on the latest AndroidX library support:
// Koin AndroidX Scope features
implementation "io.insert-koin:koin-androidx-scope:$koin_version"
// Koin AndroidX ViewModel features
implementation "io.insert-koin:koin-androidx-viewmodel:$koin_version"
// Koin AndroidX Fragment features
implementation "io.insert-koin:koin-androidx-fragment:$koin_version"
// Koin AndroidX WorkManager
implementation "io.insert-koin:koin-androidx-workmanager:$koin_version"
// Koin AndroidX Jetpack Compose
implementation "io.insert-koin:koin-androidx-compose:$koin_version"
// Koin AndroidX Experimental features
implementation "io.insert-koin:koin-androidx-ext:$koin_version"
Koin v3
The new Koin core is now Multiplatform. You can use it even if your project is not Kotlin Multiplatform.
Reimporting for new API
If you have seen unresolved Koin API import, you can try to remove/reimport the used API as some packages has been moved in the Koin core module. See new section
Kotlin Core & JVM features
KoinComponent and linked extension have been moved to package org.koin.core.component. Please reimport related APIs (KoinComponent,inject, get...).
Java/JVM Specific API are isolated in koin-core-jvm part of Koin core. Here are the following components:
PropertyRegistry:
savePropertiesloadPropertiesFromFileloadEnvironmentProperties
KoinJavaComponent
KoinApplication:
filePropertiesenvironmentProperties
Scope extensions for Java:
org.koin.core.scope.ScopeJVMKt
Android Modules
In v3, the koin-android modules is using AndroidX API, and merge also all Scope/Fragment/ViewModel API. You don't need anymore to specify koin-androidx-fragment, koin-androidx-viewmodel or koin-androidx-scope as there are all in the koin-android module:
// Koin main features for Android (Scope,ViewModel ...)
implementation "io.insert-koin:koin-android:$koin_version"
// Koin Java Compatibility
implementation "io.insert-koin:koin-android-compat:$koin_version"
// Koin for Jetpack WorkManager
implementation "io.insert-koin:koin-androidx-workmanager:$koin_version"
// Koin for Jetpack Compose
implementation "io.insert-koin:koin-androidx-compose:$koin_version"
Java Compat API has been extracted in koin-android-compat module.