Koin 3.5.0, Koin Compose 1.1.0 and Koin Annotations 1.3.0 on the field
Hello dear Koin users community 👋
I’m happy to announce the new Koin release: 3.5.0
🎉 This release brings new important updates & features. Find all the details in the GitHub release link of the project: https://github.com/InsertKoinIO/koin/releases/tag/3.5.0
Let’s go through some announcements quickly together 🚀
First, Koin 3.5 is launching the new main active version of the project. It brings important library updates:
- Kotlin & all 3rd parts are up to dates
1.9.x
- Android
androidx.activity:activity-ktx:1.7.2
,androidx.fragment:fragment-ktx:1.6.1
,androidx.navigation:navigation-fragment-ktx:2.7.1
In terms of version, the other good thing is the deployment of koin-bom
project, to lets you automatically drive versions with Bills of Materials for Koin. This means that you don’t have to care anymore about each library update:
Additionally, this version includes many internal optimizations and important fixes:
- Parallel scope and arguments resolution, via thread local storage
- New loading options to drive eager instance creation
- Modules include tree optimization
- Better logs messages for Koin and Verify() API
And on the backend side, Koin is powering Ktor with new cool features 🚀
- Updated to the latest version of Ktor:
2.3.3
- better context isolation
- Request scope to allow injection for request duration
Compose is getting on fire with some new features 🔥
- Jetpack & JetBrains Compose compiler to
1.5.0
- Android lib update for compose —
androidx.compose.runtime:runtime:1.5.0
,androidx.navigation:navigation-compose:2.7.1
- Composable function
KoinIsolatedContext
help run child composables using an isolated Koin context KoinContext
&KoinAndroidContext
with check overCompositionLocalProvider
to avoid outdated context links
Those context APIs will help you run white-label applications and SDK really easily with Compose. All the composable hierarchies will benefit from the specified Koin, without overriding anything else:
Finally, Koin Annotations 1.3 is hitting the ground with serious game-changer stuff 🤘 Take a look at the whole release note here: https://github.com/InsertKoinIO/koin-annotations/releases/tag/1.3.0
In a nutshell:
- Koin annotations have now a BOM project:
koin-annotations-bom
(drive all koin-annotations modules) - Multiplatform Compile time configuration check — https://insert-koin.io/docs/reference/koin-annotations/start#compile-safety---check-your-koin-config-at-compile-time-since-130
- Constructor with default arguments detection
- Unlock Kotlin/JS support
- new
@ScopeId
annotation to resolve dependency in a target scope
Just add a KSP option, to activate compile time safety:
The compiler will tell you if you forgot to declare a component in a few milliseconds:
All the documentation is already updated on insert-koin.io 👍
Continue to give us your feedback on Github, Slack, or X (Twitter). This really helps us to create great open source 😊
Thanks to all contributors 🙏🙏🙏
I will dive deeper into some next articles and videos. Let’s keep in touch 👍