Koin 3.5.0, Koin Compose 1.1.0 and Koin Annotations 1.3.0 on the field

Arnaud Giuliani
Koin developers
Published in
3 min readSep 13, 2023

--

Koined from https://unsplash.com/fr/photos/LqKhnDzSF-8

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:

Usage of koin-bom

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
Documentation from insert-koin.io

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 functionKoinIsolatedContext help run child composables using an isolated Koin context
  • KoinContext & KoinAndroidContext with check over CompositionLocalProvider 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:

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:

A missed repository component

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 👍

--

--

Arnaud Giuliani
Koin developers

Creator/Maintainer of Koin framework -- Kotlin Google Dev Expert -- Cofounder @ Kotzilla.io