Skip to content

build(deps): bump koin from 3.3.3 to 4.2.1#4866

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/gradle/koin-4.2.1
Open

build(deps): bump koin from 3.3.3 to 4.2.1#4866
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/gradle/koin-4.2.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github May 19, 2026

Copy link
Copy Markdown
Contributor

Bumps koin from 3.3.3 to 4.2.1.
Updates io.insert-koin:koin-android from 3.3.3 to 4.2.1

Release notes

Sourced from io.insert-koin:koin-android's releases.

Koin 4.2.1

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:

Koin 4.2.1-RC1

Bug Fixes

  • Fix ABI break on runOnKoinStarted (#2391) — The 4.2.0 refactor to move waitAllStartJobs to common code changed the JVM symbol for runOnKoinStarted from KoinWaitExtKt to KoinWaitExt_jvmKt, causing NoSuchMethodError at runtime for libraries compiled against 4.1.x. Fixed by adding @file:JvmName("KoinWaitExtKt") and @file:JvmMultifileClass to restore the original symbol.

  • Improved scope resolution error messages (#2379) — NoDefinitionFoundException now displays the full scope chain that was searched and indicates which scope qualifier is missing a definition, making scope resolution issues much easier to diagnose.

CI / Tooling

  • Added apiCheck to CI — The binary-compatibility-validator plugin was already configured but not running on PRs. apiCheck is now part of the CI build workflow, preventing accidental ABI breaks in future releases.
  • Updated .api dump files for all modules to reflect the current public API surface.

Still in progress for 4.2.1 final

  • PR #2389@Volatile on Scope._closed for concurrency fix
  • PR #2358 — Fix ClassCastException reading environment properties (#2348)
  • Documentation updates: #2339, #2336, #2328, #2218

4.2.0

... (truncated)

Commits
  • e7d9f0a 4.2.1 fixes
  • 4ff59ae bump 4.2.1
  • dea6fe7 Doc #2328 - parametersOf type-collision warning
  • 711fa1f Fix #2387 - CoreResolverV2 lost stacked-params lookup on linked scopes
  • b055036 Merge pull request #2389 from inemtsev/fix/scope-closed-volatile
  • e31f489 added tests for scoped ViewModel & SavedStateVM
  • d16503e rezvert back jvmToolchain
  • 4df4e4c 4.2.1-RC1 - Improve Scope resolution error message
  • 5e6c035 4.2.1-RC1 bump
  • 290f744 fix: restore ABI compatibility for runOnKoinStarted + add apiCheck to CI
  • Additional commits viewable in compare view

Updates io.insert-koin:koin-androidx-workmanager from 3.3.3 to 4.2.1

Release notes

Sourced from io.insert-koin:koin-androidx-workmanager's releases.

Koin 4.2.1

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:

Koin 4.2.1-RC1

Bug Fixes

  • Fix ABI break on runOnKoinStarted (#2391) — The 4.2.0 refactor to move waitAllStartJobs to common code changed the JVM symbol for runOnKoinStarted from KoinWaitExtKt to KoinWaitExt_jvmKt, causing NoSuchMethodError at runtime for libraries compiled against 4.1.x. Fixed by adding @file:JvmName("KoinWaitExtKt") and @file:JvmMultifileClass to restore the original symbol.

  • Improved scope resolution error messages (#2379) — NoDefinitionFoundException now displays the full scope chain that was searched and indicates which scope qualifier is missing a definition, making scope resolution issues much easier to diagnose.

CI / Tooling

  • Added apiCheck to CI — The binary-compatibility-validator plugin was already configured but not running on PRs. apiCheck is now part of the CI build workflow, preventing accidental ABI breaks in future releases.
  • Updated .api dump files for all modules to reflect the current public API surface.

Still in progress for 4.2.1 final

  • PR #2389@Volatile on Scope._closed for concurrency fix
  • PR #2358 — Fix ClassCastException reading environment properties (#2348)
  • Documentation updates: #2339, #2336, #2328, #2218

4.2.0

... (truncated)

Commits
  • e7d9f0a 4.2.1 fixes
  • 4ff59ae bump 4.2.1
  • dea6fe7 Doc #2328 - parametersOf type-collision warning
  • 711fa1f Fix #2387 - CoreResolverV2 lost stacked-params lookup on linked scopes
  • b055036 Merge pull request #2389 from inemtsev/fix/scope-closed-volatile
  • e31f489 added tests for scoped ViewModel & SavedStateVM
  • d16503e rezvert back jvmToolchain
  • 4df4e4c 4.2.1-RC1 - Improve Scope resolution error message
  • 5e6c035 4.2.1-RC1 bump
  • 290f744 fix: restore ABI compatibility for runOnKoinStarted + add apiCheck to CI
  • Additional commits viewable in compare view

Updates io.insert-koin:koin-core from 3.3.3 to 4.2.1

Release notes

Sourced from io.insert-koin:koin-core's releases.

Koin 4.2.1

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:

Koin 4.2.1-RC1

Bug Fixes

  • Fix ABI break on runOnKoinStarted (#2391) — The 4.2.0 refactor to move waitAllStartJobs to common code changed the JVM symbol for runOnKoinStarted from KoinWaitExtKt to KoinWaitExt_jvmKt, causing NoSuchMethodError at runtime for libraries compiled against 4.1.x. Fixed by adding @file:JvmName("KoinWaitExtKt") and @file:JvmMultifileClass to restore the original symbol.

  • Improved scope resolution error messages (#2379) — NoDefinitionFoundException now displays the full scope chain that was searched and indicates which scope qualifier is missing a definition, making scope resolution issues much easier to diagnose.

CI / Tooling

  • Added apiCheck to CI — The binary-compatibility-validator plugin was already configured but not running on PRs. apiCheck is now part of the CI build workflow, preventing accidental ABI breaks in future releases.
  • Updated .api dump files for all modules to reflect the current public API surface.

Still in progress for 4.2.1 final

  • PR #2389@Volatile on Scope._closed for concurrency fix
  • PR #2358 — Fix ClassCastException reading environment properties (#2348)
  • Documentation updates: #2339, #2336, #2328, #2218

4.2.0

... (truncated)

Commits
  • e7d9f0a 4.2.1 fixes
  • 4ff59ae bump 4.2.1
  • dea6fe7 Doc #2328 - parametersOf type-collision warning
  • 711fa1f Fix #2387 - CoreResolverV2 lost stacked-params lookup on linked scopes
  • b055036 Merge pull request #2389 from inemtsev/fix/scope-closed-volatile
  • e31f489 added tests for scoped ViewModel & SavedStateVM
  • d16503e rezvert back jvmToolchain
  • 4df4e4c 4.2.1-RC1 - Improve Scope resolution error message
  • 5e6c035 4.2.1-RC1 bump
  • 290f744 fix: restore ABI compatibility for runOnKoinStarted + add apiCheck to CI
  • Additional commits viewable in compare view

@dependabot dependabot Bot added Dependencies Pull requests that update a dependency file java Pull requests that update java code labels May 19, 2026
@dependabot dependabot Bot force-pushed the dependabot/gradle/koin-4.2.1 branch from 29eafb9 to f8964d6 Compare May 21, 2026 07:31
Bumps `koin` from 3.3.3 to 4.2.1.

Updates `io.insert-koin:koin-android` from 3.3.3 to 4.2.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Commits](InsertKoinIO/koin@core-3.3.3...4.2.1)

Updates `io.insert-koin:koin-androidx-workmanager` from 3.3.3 to 4.2.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Commits](InsertKoinIO/koin@core-3.3.3...4.2.1)

Updates `io.insert-koin:koin-core` from 3.3.3 to 4.2.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Commits](InsertKoinIO/koin@core-3.3.3...4.2.1)

---
updated-dependencies:
- dependency-name: io.insert-koin:koin-android
  dependency-version: 4.2.1
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: io.insert-koin:koin-androidx-workmanager
  dependency-version: 4.2.1
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: io.insert-koin:koin-core
  dependency-version: 4.2.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/gradle/koin-4.2.1 branch from f8964d6 to 4311401 Compare June 9, 2026 06:25

@DeepDiver1975 DeepDiver1975 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review — Koin 3.3.3 → 4.2.1 (major DI framework bump)

Reviewed as maintainer. This is a single-line version-catalog change, but it bumps the shared koin version ref that drives three artifacts (koin-core, koin-android, koin-androidx-workmanager) across a major version boundary (3.x → 4.x). Koin is the dependency-injection backbone here — org.koin.* is imported in 80+ source files — so a regression in the DI graph has app-wide blast radius (module definitions, KoinComponent injection, ViewModel/WorkManager scopes).

Blocking — CI is red. The Run Android Unit Tests check is failing on this PR (Detekt, instrumented data tests, validation all pass). A unit-test failure on a DI-framework major bump is exactly the signal that matters: it most likely reflects a compile/wiring break or a runtime DI-resolution change under Koin 4. This cannot be merged until that job is green and the failure root cause is understood (the expired logs should be re-run to capture it).

Koin 4 migration risks to verify before this can land (do not merge on a green-tests-alone basis without confirming these):

  • API surface changes between 3.x and 4.x (e.g. KoinPlatformTools, scope/KoinScopeComponent APIs, koin-androidx-workmanager wiring) — confirm no source still depends on removed/renamed 3.x symbols.
  • Min SDK / Kotlin / coroutines floors — Koin 4 raised its baselines; confirm this module's minSdk, Kotlin (1.9.20 here), and coroutines versions satisfy Koin 4.2.x requirements.
  • CoreResolverV2 resolver rewrite (4.2.0): the 4.2.1 release notes explicitly call out that the new resolver regressed stacked-params lookup on linked scopes — specifically breaking AndroidParametersHolder stacked by KoinViewModelFactory + SavedStateHandle resolution from a child ViewModel scope (fixed in 4.2.1). Any ViewModel that injects SavedStateHandle via Koin must be smoke-tested at runtime, not just compiled.
  • DI graph correctness at runtime — green unit tests alone don't prove the full module graph resolves; a checkModules/Koin verify test or a manual app-launch smoke test is warranted given the breadth of usage.

Verdict: changes-requested. Get Run Android Unit Tests green, identify the failure cause, and confirm the migration points above before re-review. Branch is also BEHIND main and needs a rebase. Holding off on approval/merge.

Automated maintainer review by Claude Code review agent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Dependencies Pull requests that update a dependency file java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant