Releases: InsertKoinIO/koin
4.1.1
Koin 4.1.1 Changelog
🐛 Bug Fixes
- Logger Constraint Revert - Reverted logger constraint due to compatibility issues causing errors across projects
- Compose Scope Resolution - Fixed scope resolution issues in Compose integration with proper context handling
- Maven Central Publication - Fixed publication issues for Maven Central distribution
🚀 Features & Improvements
- Compose ViewModel Navigation - Added optional navGraphRoute parameter to sharedKoinViewModel for better navigation support
- Compose Context Handling - Reworked LocalKoinApplication/LocalKoinScope with ContextWrapper to properly handle:
- Scope closing lifecycle
- Context restart scenarios
- Better memory management
⚡ Performance & Core
- Core Resolver Optimization - Avoid unnecessary flattening operations when dealing with single scope resolution
- Scope Debugging - Enhanced scope debugging by showing linked scope IDs for better development experience
- Library Updates - Updated underlying dependencies to latest stable versions
📚 Library Updates
- Kotlin - Updated to 2.1.21 (from 2.1.20)
- Binary Validator - Updated to 0.18.1 (from 0.16.3)
- Ktor - Updated to 3.2.3 (from 3.1.3)
- Jetbrains Compose - Updated to 1.8.2 (from 1.8.0)
- AndroidX Libraries:
- Fragment 1.8.9 (from 1.8.8)
- WorkManager 2.10.3 (from 2.10.1)
- Lifecycle 2.9.3 (from 2.9.0)
- Navigation 2.9.3 (from 2.9.0)
- JB Navigation RC01 (from Beta01)
- Testing:
- Robolectric 4.15.1 (from 4.14.1)
- Benchmark 0.4.14 (from 0.4.13)
- Build Tools - Added NMCP 1.1.0 for improved publication workflow
📦 Publication
- Multi-platform Artifacts - Ensured all platform variants are properly published
- Version Consistency - Synchronized all module versions across the ecosystem
🔧 Development
- Test Coverage - Added ActivityScopeArchetypeTest for better scope lifecycle testing
- API Stability - Maintained backward compatibility while fixing internal issues
---Migration Notes: This is a maintenance release - no breaking changes. Direct upgrade from 4.1.0 is recommended.
👥 Contributors
https://github.com/arnaudgiuliani - Project Lead & Core Developer
https://github.com/rfaturriza - Community Contributor
New Contributors
- @rfaturriza made their first contribution in #2262
Full Changelog: 4.1.0...4.1.1
4.1.0
What's Changed
- Add Ktor3 Package by @chrisjenx in #1978
- Ktor requestscope function dsl by @arnaudgiuliani in #2075
- KoinApplication Multiplatform Config - Logger + Androic context automatic injection by @arnaudgiuliani in #2086
- [Maintenance] Github actions migrations by @GrzegorzBobryk in #2109
- KoinMultiplatformApplication - Compose Application Start + Native Context binding by @arnaudgiuliani in #2114
- Fix koininject signature by @arnaudgiuliani in #2154
- Wasm use std UUID by @arnaudgiuliani in #2159
- Feat - scope archetypes for Activity, Fragment & ViewModel by @arnaudgiuliani in #2169
- Feat - Shared ViewModel in navigation by @arnaudgiuliani in #2170
- remove toolchain param + gradle 8.9 + remove unused deps by @arnaudgiuliani in #2172
- Update Compose Multiplatform to 1.8.0-rc01 by @zsmb13 in #2179
- check optional parameters during dependency verification by @luozejiaqun in #2105
- Feat - AutoCloseable usage for VM Scope closure + ViewModel Scope creation at VM Factory (ctor injection) + Options activation by @arnaudgiuliani in #2181
- Feat - New Compose Preview function to help local preview with parallel … by @arnaudgiuliani in #2182
- Continue Compose Multiplatform 1.8 version upgrade by @zsmb13 in #2183
- Migration to lifecycle 2.9 by @MatkovIvan in #2184
- [CI] Introduce reusable action for job initialization by @GrzegorzBobryk in #2110
- [Maintenance] removal of
@OptIn
and@Suppress
by @GrzegorzBobryk in #1996 - Fix - 4.1.0 beta8 build by @arnaudgiuliani in #2185
- [Feat] Module Configuration + lazy modules verification (global configuration consistency) + Verification API updates by @arnaudgiuliani in #2188
- [Merge] koin-ktor3 to koin-ktor by @arnaudgiuliani in #2190
- Add missing minSdk config for koin-compose-viewmodel modules by @zsmb13 in #2192
- Fix lib setup for android manifest + withJava by @arnaudgiuliani in #2193
- [Feat] Ktor 3.2 DI extension for Koin (Ktor EAP) by @arnaudgiuliani in #2196
- [Feat] Make ktor usable in Multiplatform (Ktor EAP) by @arnaudgiuliani in #2197
- [merge] ktor 3.2 eap integrations by @arnaudgiuliani in #2198
- [Maintenance] Clean up in
AndroidManifest.xml
files by @GrzegorzBobryk in #2191 - Fix Compose rotation/Koin application setup & reattached Koin instance by @arnaudgiuliani in #2206
- Add koinActivityViewModel to help inject ViewModel for Activity by @arnaudgiuliani in #2207
- Fix #2092 by adding an explicit JVM target for bom by @arnaudgiuliani in #2208
- Fix override create at start by @arnaudgiuliani in #2211
- Fix typo by @samet404 in #2149
- Fix different typos in docs. by @zainulhassan815 in #2144
- Fix misspelling in android.md by @evansmj in #2137
- Update dsl.md by @BdN3504 in #2131
- Removed usages of old "compile" gradle dependency configuration in docs by @k4k7us23 in #2123
- Update scope.md by @AlexBeggs in #2102
- Update scope.md by @AlexBeggs in #2101
- Update scopes.md by @AlexBeggs in #2100
- fix break links in start-koin.md by @synix in #2057
- update
KoinExtension
interface in doc by @synix in #2056 - [documentation] Fix link to junit5 extensions in testing.md by @Calfur in #1745
- Downgrade to Ktor 3.1 - Keep 3.2 for next patch by @arnaudgiuliani in #2224
- Feat - Extend Ktor DI support by @arnaudgiuliani in #2212
- fix workmananger initialization to avoid re-init + add android test by @arnaudgiuliani in #2226
New Contributors
- @chrisjenx made their first contribution in #1978
- @luozejiaqun made their first contribution in #2105
- @MatkovIvan made their first contribution in #2184
- @samet404 made their first contribution in #2149
- @zainulhassan815 made their first contribution in #2144
- @evansmj made their first contribution in #2137
- @BdN3504 made their first contribution in #2131
- @k4k7us23 made their first contribution in #2123
- @AlexBeggs made their first contribution in #2102
- @synix made their first contribution in #2057
- @Calfur made their first contribution in #1745
Full Changelog: 4.0.4...4.1.0
4.1.0-RC1
Ktor EAP
This version is using Ktor EAP
maven("https://maven.pkg.jetbrains.space/public/p/ktor/eap") {
mavenContent {
includeGroupAndSubgroups("io.ktor")
}
}
What's Changed
- Add Ktor3 Package by @chrisjenx in #1978
- Ktor requestscope function dsl by @arnaudgiuliani in #2075
- KoinApplication Multiplatform Config - Logger + Androic context automatic injection by @arnaudgiuliani in #2086
- [Maintenance] Github actions migrations by @GrzegorzBobryk in #2109
- KoinMultiplatformApplication - Compose Application Start + Native Context binding by @arnaudgiuliani in #2114
- Fix koininject signature by @arnaudgiuliani in #2154
- Wasm use std UUID by @arnaudgiuliani in #2159
- Feat - scope archetypes for Activity, Fragment & ViewModel by @arnaudgiuliani in #2169
- Feat - Shared ViewModel in navigation by @arnaudgiuliani in #2170
- remove toolchain param + gradle 8.9 + remove unused deps by @arnaudgiuliani in #2172
- Update Compose Multiplatform to 1.8.0-rc01 by @zsmb13 in #2179
- check optional parameters during dependency verification by @luozejiaqun in #2105
- Feat - AutoCloseable usage for VM Scope closure + ViewModel Scope creation at VM Factory (ctor injection) + Options activation by @arnaudgiuliani in #2181
- Feat - New Compose Preview function to help local preview with parallel … by @arnaudgiuliani in #2182
- Continue Compose Multiplatform 1.8 version upgrade by @zsmb13 in #2183
- Migration to lifecycle 2.9 by @MatkovIvan in #2184
- [CI] Introduce reusable action for job initialization by @GrzegorzBobryk in #2110
- [Maintenance] removal of
@OptIn
and@Suppress
by @GrzegorzBobryk in #1996 - Fix - 4.1.0 beta8 build by @arnaudgiuliani in #2185
- [Feat] Module Configuration + lazy modules verification (global configuration consistency) + Verification API updates by @arnaudgiuliani in #2188
- [Merge] koin-ktor3 to koin-ktor by @arnaudgiuliani in #2190
- Add missing minSdk config for koin-compose-viewmodel modules by @zsmb13 in #2192
- Fix lib setup for android manifest + withJava by @arnaudgiuliani in #2193
- [Feat] Ktor 3.2 DI extension for Koin (Ktor EAP) by @arnaudgiuliani in #2196
- [Feat] Make ktor usable in Multiplatform (Ktor EAP) by @arnaudgiuliani in #2197
- [merge] ktor 3.2 eap integrations by @arnaudgiuliani in #2198
- [Maintenance] Clean up in
AndroidManifest.xml
files by @GrzegorzBobryk in #2191
Added patches - [Fix] Fix CoreResolver linked scopes resolution by @arnaudgiuliani b83c572
- [Feat] Koin logger internal protection to avoid redeclaration by @arnaudgiuliani c0fea5a
New Contributors
- @chrisjenx made their first contribution in #1978
- @luozejiaqun made their first contribution in #2105
- @MatkovIvan made their first contribution in #2184
Full Changelog: 4.0.4...4.1.0-RC1
4.1.0-Beta13-KTOR-EAP
For Ktor 3.2 EAP Testing ⚠️
Require to use following maven repository:
maven("https://maven.pkg.jetbrains.space/public/p/ktor/eap") {
mavenContent {
includeGroupAndSubgroups("io.ktor")
}
}
Will use the final public version of Ktor 3.2 once public 👍
To be merged for 4.1 📌
What's Changed
- [Feat] Ktor 3.2 DI extension for Koin (Ktor EAP) by @arnaudgiuliani in #2196
- [Feat] Make koin-ktor usable in Multiplatform (Ktor EAP) by @arnaudgiuliani in #2197
Full Changelog: 4.1.0-Beta11...4.1.0-Beta13-KTOR-EAP
4.1.0-Beta11
What's Changed
- Fix lib setup for android manifest + withJava by @arnaudgiuliani in #2193
Full Changelog: 4.1.0-Beta10...4.1.0-Beta11
4.1.0-Beta10
What's Changed
- [CI] Introduce reusable action for job initialization by @GrzegorzBobryk in #2110
- [Maintenance] removal of
@OptIn
and@Suppress
by @GrzegorzBobryk in #1996 - Fix - 4.1.0 beta8 build by @arnaudgiuliani in #2185
- [Feat] Module Configuration + lazy modules verification (global configuration consistency) + Verification API updates by @arnaudgiuliani in #2188
- [Merge] koin-ktor3 to koin-ktor by @arnaudgiuliani in #2190
- Add missing minSdk config for koin-compose-viewmodel modules by @zsmb13 in #2192
Full Changelog: 4.1.0-Beta8...4.1.0-Beta10
4.1.0-Beta8
What's Changed
- Feat - Shared ViewModel in navigation by @arnaudgiuliani in #2170
- remove toolchain param + gradle 8.9 + remove unused deps by @arnaudgiuliani in #2172
- Update Compose Multiplatform to 1.8.0-rc01 by @zsmb13 in #2179
- check optional parameters during dependency verification by @luozejiaqun in #2105
- Feat - AutoCloseable usage for VM Scope closure + ViewModel Scope creation at VM Factory (ctor injection) + Options activation by @arnaudgiuliani in #2181
- Feat - New Compose Preview function to help local preview with parallel … by @arnaudgiuliani in #2182
- Continue Compose Multiplatform 1.8 version upgrade by @zsmb13 in #2183
- Migration to lifecycle 2.9 by @MatkovIvan in #2184
New Contributors
- @luozejiaqun made their first contribution in #2105
- @MatkovIvan made their first contribution in #2184
Full Changelog: 4.1.0-Beta7...4.1.0-Beta8
4.1.0-Beta7
What's Changed
- Feat - scope archetypes for Activity, Fragment & ViewModel by @arnaudgiuliani in #2169
Full Changelog: 4.1.0-Beta6...4.1.0-Beta7
4.1.0-Beta6
What's Changed
- fix documentation KoinStartup by @el-qq in #2112
- Fix #2034 ViewModel Navigation restoring SavedStateHandle by @arnaudgiuliani in #2128
- Fix koininject signature by @arnaudgiuliani in #2154
- Remove unnecessary workmanager dependency by @MycroftWong in #2151
- Wasm use std UUID by @arnaudgiuliani in #2159
- AndroidX ViewModel Compat - 3.5 / 4.0 by @arnaudgiuliani in #2164
- API Library bump to last versions by @arnaudgiuliani 1f2d378
New Contributors
- @el-qq made their first contribution in #2112
- @MycroftWong made their first contribution in #2151
Full Changelog: 4.1.0-Beta5...4.1.0-Beta6
4.0.4
What's Changed
- Old Jetpack Compose API Compat - 3.5 / 4.0 by @arnaudgiuliani in #2164
- Koin Embedded documentation page
Full Changelog: 4.0.3...4.0.4