chore(deps): update dependency io.insert-koin.compiler.plugin to v1#281
Open
renovate[bot] wants to merge 1 commit into
Open
chore(deps): update dependency io.insert-koin.compiler.plugin to v1#281renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.6.2→1.0.0Release Notes
InsertKoinIO/koin-compiler-plugin (io.insert-koin.compiler.plugin)
v1.0.0Compare Source
Koin Compiler Plugin 1.0.0
The first stable release. RC1 shipped in April 2026; over the following weeks the safety pass, incremental-compilation handling, and K2.3.20 compatibility came together. The compiler-plugin path is now ready for production: full-graph compile-time safety, cross-module call-site validation, IC-aware safe-defaults, and K2.3.20 support.
Requires: Kotlin 2.3.20+ (K2) | Koin 4.2.1+
What's New Since 1.0.0-RC2
Compile-time safety expanded (A2/A3/A4)
A → B → Aare caught during graph traversal in A2/A3, no longer waiting for runtime.get<T> { parametersOf(...) }and ViewModel/inject sites withparametersOf {}flows are validated against the assembled graph.koinViewModel<T>()inside@Composablebuilders is validated like any other call site.(raw class + qualifier)key, preventing silent last-wins overrides at runtime.KOIN-D007—@Factoryreturning a type that extends a suspendfun interfaceis now blocked at compile time (previously crashed Fir2Ir).koinConfiguration/koinApplication/startKoinno longer bypass A3 — the full-graph pass runs even without an explicit<T>type parameter.startKoin<T>()— A4 now sees DSLmodule { … }definitions declared in dependency JARs when the aggregator uses the typed entry point.Incremental compilation & build robustness
strictSafetyflag — auto-enabled on modules that containstartKoin,koinApplication, or@KoinApplication. Forces the full-graph safety pass to re-run on the aggregator each build, working around two K2 IC gaps: DSL changes insidemodule { }lambda bodies (not part of any declaration's ABI) and@ComponentScanpackage-scope discovery (no source-level edge). Library and feature modules stay fully incremental.Hints.ktcollisions during multi-platform builds.KtPsiSourceElement.psiprevents Fir2Ir crashes when the plugin runs alongside kapt or Hilt during migration.Kotlin 2.3.20 compatibility
HINTS_PACKAGEis now claimed unconditionally, fixing a regression when building against the latest K2.Annotation fixes
@Module(createdAtStart = true)— was silently ignored; now correctly forwards the flag to the generatedmodule { }.@Scope(name = "…")— previously produced no bean definition; the scope DSL is now generated as expected.@ScopeId(name = "…")— resolution behaviour locked in via regression coverage.Diagnostics
Performance
startKoinmodule discovery — repeated scans during a single compilation reuse the resolved module set.@ComponentScanfiltering — package-scope discovery now uses an indexed lookup instead of repeated linear scans, noticeably faster on large multi-module projects.Repo / docs
playground-apps/app-dsl,playground-apps/app-annotations) — single clone, single build, no separate repo to keep in sync.strictSafety, K2.3.20 minimum, circular-dep detection at compile time, KOIN-D007.Behaviour changes to note when upgrading
strictSafetyis on by default on aggregator modules. If your app containsstartKoin,koinApplication, or@KoinApplication, that module'scompileKotlintask will re-run the A3 safety pass on every build (library/feature modules unaffected). The cost is bounded, and it closes the IC gaps that previously let graph changes slip through cached builds. SetkoinCompiler { strictSafety = false }to opt out.Kotlin minimum bumped to 2.3.20 (was 2.3.0) — the Fir2Ir fix requires the newer compiler. If you're pinned to 2.3.0, stay on
1.0.0-RC2until you can upgrade.Closed issues since the project went public
Fixed
@ScopeId(@limuyang2)@Providedstill flagging missing dependencies (@kmbisset89)Scope.get()(@alex28sh).module()extension not recognized by IntelliJ (@DenAbr)@Factoryreturningfun interfaceextending suspend function type (@krzdabrowski) — now also blocked diagnostically via KOIN-D007@Single(binds = [...])provider function (@flaringapp)compileSafetymissing binding silently passes on incremental compilation (@j-bajon) — drove thestrictSafetydesign@Scope(name=…)+@Scoped(binds=[…])silently produce no bean definitions (@rduriancik)org.koin.plugin.hints(@0xMatthewGroves)compileSafetychecks bypassed when usingKoinApplicationComposable in CMP (@rajdeepvaghela)Won't fix / deferred
module()extension (@JordanLongstaff) — documented as a known limitation pending IDE-side supportCross-repo fixes
@ScopeId(name = "…")resolution behaviourstartKoin<T>+@KoinApplication(modules=[…])+ scanned@KoinViewModelincludes(...)reachability@KoinApplication(modules = [...])overrides discovered@ConfigurationContributors
Project lead: @arnaudgiuliani (Arnaud Giuliani)
Code contributions (commit authors and merged PRs across all releases):
@Moduleprovider functions (PR #23)@ComponentScanhints without@Configuration(PR #25)Credits for techniques:
LookupTrackerandExpectActualTrackerpatterns from MetroIssue reporters — the high-quality reproductions made all of this possible. See the closed-issues list above for the full set; everyone there contributed time and detail that shortened diagnosis significantly.
Internal feedback: Francois Dabonot (Kotzilla) — RC2.3 missing-artifact compile error came from his migration feedback.
Full changelog
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ 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.
This PR was generated by Mend Renovate. View the repository job log.