Kotlin 2.3.20
New Features
- Ktor 3.4 DI Bridge — Full integration with Ktor's new DI system (ktor-server-di), bridging Ktor ↔ Koin dependency injection both ways
- Dagger Bridge (koin-dagger-bridge) — New module to help inject Koin components from Dagger side
- AndroidX Navigation 3 support — Entry point provider with metadata parameter passing (animations, etc.), generic EntryProvider, and navigation scopes
- Navigation Scope for Compose Nav 2 — Added scoped navigation support for Compose Navigation 2
- Lazy Modules — Parallel loading at startup for improved performance, with benchmarks
- strictOverride option — New definition option to override explicitly
- koinActivityInject — Helper to retrieve dependencies against Activity scope
- Koin Compiler Stubs — Added stubs for KoinApplication.modules() functions
- KoinApplication.withConfiguration() — New configuration support
Performance & Stability
- Core Resolver V2 — Fixed parameter stack propagation, injected params handling, and child scope/ViewModel scope resolution
- Scope Resolution & Thread Safety — Performance optimization with safer ScopeFactory protecting all operations from parallel calls
- ThreadLocal loading optimization — Avoid cost per Scope (#2306)
- getAll no longer sorted by default — Instances come as declared; sort on purpose if needed
- Params stack access optimization
Bug Fixes
- Fix sharedKoinViewModel with type-safe navigation routes (#2293)
- Fix qualified name usage in WASM (#2312)
- Fix premature release of scope & context in Compose — don't drop in onForgotten (#2274)
- Fix crashing declarations for LocalKoinScope & LocalKoinApplication
- Fix Compose Koin Context Loader and Entry Points (#2327)
- Fix CoreResolution with Child Scopes / ViewModelScope (#2325)
- Fix Scope Archetypes Qualifier in plugin support functions
- Fix qualifier conversion
Breaking Changes
- minSdk raised to 23 for Android
- module renamed to lazyModule in some contexts
- BeanDef constructor change (API signature update)
Dependencies
- Kotlin 2.3.20
- Ktor 3.4
- JetBrains Compose 1.10.2
- AndroidX Lifecycle 2.10.0
- AndroidX Navigation 2.9.7 / Nav3 1.0.1