Skip to content
This repository was archived by the owner on Jun 10, 2026. It is now read-only.

Update koin.compose to v4.2.1#536

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/koin.compose
Open

Update koin.compose to v4.2.1#536
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/koin.compose

Conversation

@renovate

@renovate renovate Bot commented Aug 11, 2025

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
io.insert-koin:koin-compose (source) 4.0.24.2.1 age confidence

Release Notes

InsertKoinIO/koin (io.insert-koin:koin-compose)

v4.2.1: Koin 4.2.1

Compare Source

Support for Compile Safety with Koin Compiler 1.0.0-RC1
Bug Fixes
  • Fix stacked-params lookup on linked scopes (#​2387) — The 4.2.0 resolver rewrite (CoreResolverV2) walked linked scopes but dropped the per-parent stacked-parameters check that 4.1.x performed via recursion. This broke patterns where AndroidParametersHolder is stacked on the factory scope by KoinViewModelFactory and SavedStateHandle is then resolved from a child ViewModel scope. Linked-scope resolution now also checks stacked params on each parent scope.

  • Restore ABI compatibility for runOnKoinStarted (#​2391) — The 4.2.0 release inadvertently broke binary compatibility for runOnKoinStarted on JVM. Fixed by restoring the original JVM class name via @JvmName/@JvmMultifileClass annotations.

  • Fix scope _closed concurrency issue (#​2389) — The Scope._closed flag was not volatile, which could cause stale reads under concurrent access.

Improvements
  • Improved Scope resolution error messagesCoreResolverV2 now provides clearer error messages when scope resolution fails, making it easier to diagnose misconfigured scopes.

  • Added apiCheck to CI — Binary compatibility validation (kotlinx.binary-compatibility-validator) now runs on every PR to prevent future ABI breaks.

Documentation
  • parametersOf type-collision warning (#​2328) — Added a caution note explaining that when a value passed via parametersOf has the same type as the requested definition, Koin returns the value directly and skips the factory block. Suggests using a wrapper type as a workaround.
Contributors

Thanks to the following contributors for this release:

v4.2.0

Compare Source

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

v4.1.1

Compare Source

Koin 4.1.1 Changelog

🐛 Bug Fixes

  • Logger Constraint Revert - Reverted logger constraint due to compatibility issues causing errors across projects
  • Maven Central Publication - Fixed publication issues for Maven Central distribution

💥 Breaking Changes for Internal

  • Compose Scope Resolution - Fixed scope resolution issues in Compose integration with proper context handling, introduced ComposeContextWrapper to help manage internal scope state

🚀 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

👥 Contributors

https://github.com/arnaudgiuliani - Project Lead & Core Developer
https://github.com/rfaturriza - Community Contributor

New Contributors

Full Changelog: InsertKoinIO/koin@4.1.0...4.1.1

v4.1.0

Compare Source

What's Changed
New Contributors

Full Changelog: InsertKoinIO/koin@4.0.4...4.1.0

v4.0.4

Compare Source

What's Changed

Full Changelog: InsertKoinIO/koin@4.0.3...4.0.4

v4.0.3

Compare Source

What's Changed
New Contributors

Full Changelog: InsertKoinIO/koin@4.0.2...4.0.3


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot enabled auto-merge (squash) August 11, 2025 10:37
@renovate renovate Bot requested a review from hoc081098 August 11, 2025 10:37
@renovate renovate Bot force-pushed the renovate/koin.compose branch from 8b6ddbe to 87ea5aa Compare September 3, 2025 22:09
@renovate renovate Bot changed the title Update dependency io.insert-koin:koin-compose to v4.1.0 Update dependency io.insert-koin:koin-compose to v4.1.1 Sep 3, 2025
@renovate renovate Bot force-pushed the renovate/koin.compose branch 2 times, most recently from 693a05e to f9f344c Compare October 9, 2025 10:55
@renovate renovate Bot changed the title Update dependency io.insert-koin:koin-compose to v4.1.1 Update dependency io.insert-koin:koin-compose to v4.2.0 Mar 17, 2026
@renovate renovate Bot force-pushed the renovate/koin.compose branch from f9f344c to b56c577 Compare March 17, 2026 17:47
| datasource | package                     | from  | to    |
| ---------- | --------------------------- | ----- | ----- |
| maven      | io.insert-koin:koin-compose | 4.0.2 | 4.2.1 |
@renovate renovate Bot force-pushed the renovate/koin.compose branch from b56c577 to 3dabd5e Compare April 9, 2026 18:39
@renovate renovate Bot changed the title Update dependency io.insert-koin:koin-compose to v4.2.0 Update dependency io.insert-koin:koin-compose to v4.2.1 Apr 9, 2026
@renovate renovate Bot changed the title Update dependency io.insert-koin:koin-compose to v4.2.1 Update koin.compose to v4.2.1 Jun 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant