Update koin to v4.2.2 #13

Merged
renovate merged 1 commit from renovate/koin into main 2026-06-28 23:30:36 -07:00
Member

This PR contains the following updates:

Package Type Update Change
io.insert-koin:koin-compose-viewmodel (source) dependencies patch 4.2.14.2.2
io.insert-koin:koin-annotations (source) dependencies patch 4.2.14.2.2

Release Notes

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

v4.2.2: Koin 4.2.2

Compare Source

Maintenance release for the 4.2.x line — resolver regression fixes from the 4.2.0 CoreResolverV2 rewrite, ViewModel/scope fixes, a Ktor request-scope fix, plus new tvOS support and an R8/ProGuard guide.

Anyone hitting resolver issues on 4.2.0/4.2.1 should upgrade to 4.2.2.

Bug Fixes
  • Stacked params no longer shadow qualified dependencies (#​2370, #​2408) — A value passed via parametersOf could be returned for a get(named(...)) request of the same type, shadowing the qualified definition. Qualified lookups are now registry-only and never read the parameter stack — parameters carry no qualifier, so they can't satisfy a qualified request.

  • Root factory no longer resolves its scoped dependencies from _root_ (#​2379) — When a non-single factory defined in the root scope was resolved from a child scope, CoreResolverV2 resolved its scoped dependencies against _root_ instead of the requesting scope. Linked-scope resolution now runs the factory against the requesting scope (single instances keep their root-bound semantics, preserving #​2325).

  • viewModelScopeFactory scope is linked to its parent (#​2299) — A ViewModel scope created via viewModelScopeFactory() was not linked to the originating scope, so dependencies declared in the parent couldn't be resolved. The created scope is now linked to its parent (except when the parent is root).

  • Tolerate non-String environment properties (#​2348) — Loading environment/system properties whose values aren't String threw ClassCastException due to an unchecked map cast. Non-String values are now preserved as Any and only String keys are required.

  • Unique Ktor request-scope ids under concurrency (#​2410) — Concurrent requests could collide on request-scope ids. Ids are now generated from a monotonic counter seeded once at startup. Thanks @​lfavreli-betclic!

  • Actionable errors for SavedStateHandle / viewModelScope { } (#​2044, #​2417) — Resolving SavedStateHandle without the proper extras, or using viewModelScope { } without the viewModelScopeFactory() option, now produces a clear, actionable error message instead of an opaque failure.

Added
  • tvOS targets for koin-core-viewmodel (#​2426) — koin-core-viewmodel now publishes tvosArm64, tvosX64, and tvosSimulatorArm64, unblocking ViewModel usage on tvOS.

  • Consumer R8/ProGuard rules + guide — Android and ViewModel artifacts now ship consumer R8/ProGuard rules in their AARs, and a new R8 / ProGuard guide documents keep rules for minified builds.

Improvements
  • O(1) secondary-type registration in bind() / binds()bind/binds now append secondary types in O(1) instead of reallocating the type list per binding, removing quadratic cost when a definition declares many bindings. No user-visible behavior change.
Documentation
Contributors

Thanks to the following contributors for this release:


Configuration

📅 Schedule: (UTC)

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

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

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


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

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [io.insert-koin:koin-compose-viewmodel](https://insert-koin.io/) ([source](https://github.com/InsertKoinIO/koin)) | dependencies | patch | `4.2.1` → `4.2.2` | | [io.insert-koin:koin-annotations](https://insert-koin.io/) ([source](https://github.com/InsertKoinIO/koin)) | dependencies | patch | `4.2.1` → `4.2.2` | --- ### Release Notes <details> <summary>InsertKoinIO/koin (io.insert-koin:koin-compose-viewmodel)</summary> ### [`v4.2.2`](https://github.com/InsertKoinIO/koin/releases/tag/4.2.2): Koin 4.2.2 [Compare Source](https://github.com/InsertKoinIO/koin/compare/4.2.1...4.2.2) Maintenance release for the 4.2.x line — resolver regression fixes from the 4.2.0 `CoreResolverV2` rewrite, ViewModel/scope fixes, a Ktor request-scope fix, plus new tvOS support and an R8/ProGuard guide. > Anyone hitting resolver issues on 4.2.0/4.2.1 should upgrade to 4.2.2. ##### Bug Fixes - **Stacked params no longer shadow qualified dependencies** ([#&#8203;2370](https://github.com/InsertKoinIO/koin/issues/2370), [#&#8203;2408](https://github.com/InsertKoinIO/koin/issues/2408)) — A value passed via `parametersOf` could be returned for a `get(named(...))` request of the same type, shadowing the qualified definition. Qualified lookups are now registry-only and never read the parameter stack — parameters carry no qualifier, so they can't satisfy a qualified request. - **Root factory no longer resolves its scoped dependencies from `_root_`** ([#&#8203;2379](https://github.com/InsertKoinIO/koin/issues/2379)) — When a non-single factory defined in the root scope was resolved from a child scope, `CoreResolverV2` resolved its scoped dependencies against `_root_` instead of the requesting scope. Linked-scope resolution now runs the factory against the requesting scope (single instances keep their root-bound semantics, preserving [#&#8203;2325](https://github.com/InsertKoinIO/koin/issues/2325)). - **`viewModelScopeFactory` scope is linked to its parent** ([#&#8203;2299](https://github.com/InsertKoinIO/koin/issues/2299)) — A ViewModel scope created via `viewModelScopeFactory()` was not linked to the originating scope, so dependencies declared in the parent couldn't be resolved. The created scope is now linked to its parent (except when the parent is root). - **Tolerate non-`String` environment properties** ([#&#8203;2348](https://github.com/InsertKoinIO/koin/issues/2348)) — Loading environment/system properties whose values aren't `String` threw `ClassCastException` due to an unchecked map cast. Non-`String` values are now preserved as `Any` and only `String` keys are required. - **Unique Ktor request-scope ids under concurrency** ([#&#8203;2410](https://github.com/InsertKoinIO/koin/issues/2410)) — Concurrent requests could collide on request-scope ids. Ids are now generated from a monotonic counter seeded once at startup. Thanks [@&#8203;lfavreli-betclic](https://github.com/lfavreli-betclic)! - **Actionable errors for `SavedStateHandle` / `viewModelScope { }`** ([#&#8203;2044](https://github.com/InsertKoinIO/koin/issues/2044), [#&#8203;2417](https://github.com/InsertKoinIO/koin/issues/2417)) — Resolving `SavedStateHandle` without the proper extras, or using `viewModelScope { }` without the `viewModelScopeFactory()` option, now produces a clear, actionable error message instead of an opaque failure. ##### Added - **tvOS targets for `koin-core-viewmodel`** ([#&#8203;2426](https://github.com/InsertKoinIO/koin/issues/2426)) — `koin-core-viewmodel` now publishes `tvosArm64`, `tvosX64`, and `tvosSimulatorArm64`, unblocking ViewModel usage on tvOS. - **Consumer R8/ProGuard rules + guide** — Android and ViewModel artifacts now ship consumer R8/ProGuard rules in their AARs, and a new [R8 / ProGuard guide](https://insert-koin.io/docs/reference/koin-android/r8-proguard) documents keep rules for minified builds. ##### Improvements - **O(1) secondary-type registration in `bind()` / `binds()`** — `bind`/`binds` now append secondary types in O(1) instead of reallocating the type list per binding, removing quadratic cost when a definition declares many bindings. No user-visible behavior change. ##### Documentation - **Navigation 3 typed `entryProvider`** ([#&#8203;2336](https://github.com/InsertKoinIO/koin/issues/2336)) — Added guidance on using Koin with the typed `entryProvider` in the [Navigation 3 reference](https://insert-koin.io/docs/reference/koin-compose/navigation3). ##### Contributors Thanks to the following contributors for this release: - [@&#8203;arnaudgiuliani](https://github.com/arnaudgiuliani) (Arnaud Giuliani) - [@&#8203;lfavreli-betclic](https://github.com/lfavreli-betclic) (Loïc Favrelière) — unique Ktor request-scope ids under concurrency ([#&#8203;2432](https://github.com/InsertKoinIO/koin/pull/2432)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIzMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
renovate added 1 commit 2026-06-28 23:30:25 -07:00
Update koin to v4.2.2
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
Image Minimizer / try-minimize (pull_request) Failing after 1s
PR size labeler / Automatically labelling pull requests based on the changed lines count (pull_request_target) Failing after 1s
890452a8ef
renovate scheduled this pull request to auto merge when all checks succeed 2026-06-28 23:30:27 -07:00
renovate merged commit 6cfcaf3e83 into main 2026-06-28 23:30:36 -07:00
renovate deleted branch renovate/koin 2026-06-28 23:30:37 -07:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Sulkta-OSS/straw#13
No description provided.