Kodein

Painless Kotlin Dependency Injection

MIT License

Stars
3.1K

Bot releases are visible (Hide)

Kodein - 7.11.0

Published by romainbsl over 2 years ago

  • CORE
    • Documentation improvements (thanks to the contributors!).
    • Deprecation cycle
  • COMPOSE
    • JB Compose 1.1.0 Alpha5
    • Introduce rememberDI Composable function
    • Fix rememberX functions` behavior
    • Update documentation
Kodein - 7.10.0

Published by romainbsl almost 3 years ago

  • Core
    • Kotlin 1.6.10
  • Compose
    • JB Compose 1.0.1-rc2
    • Compose for the Web
Kodein - 7.9.0

Published by romainbsl almost 3 years ago

  • Core
    • Gradle 7.2
    • AGP 7
    • Kotlin 1.5.31
    • Apple Silicon support
  • Compose
    • JB Compose beta1
    • Android : remember ViewModel helper
Kodein - 7.8.0

Published by romainbsl about 3 years ago

  • Kotlin 1.5.30
Kodein - 7.7.0

Published by romainbsl about 3 years ago

  • CORE
    • Kotlin 1.5.21
  • ANDROID
    • 2 new modules have been created to support ViewModel retrieval with ease (thanks to @carltonwhitehead for his contribution).
      • kodein-di-framework-android-x-viewmodel : Injection and retrieval of plain View Models with by viewModel() delegate.
      • kodein-di-framework-android-x-viewmodel-savedstate : Injection and retrieval of View Models with SavedStateHandle with by viewModelWithSavedStateHandle() delegate.
      • See documentation here.
  • COMPOSE: kodein-di-framework-compose module is now align with the stable version of Compose compiler (compatible with Kotlin 1.5.21)
Kodein - 7.5.1

Published by romainbsl over 3 years ago

  • Add Compose 1.0.0-beta07 compatibility (with Kotlin 1.4.32)
Kodein - 7.6.0

Published by romainbsl over 3 years ago

Kodein - 7.5.0

Published by romainbsl over 3 years ago

  • CORE
    • Direct binding by adding bind(tag: Any?, overrides: Boolean?, createBinding: () -> DIBinding)
      • bind { singleton { Person("Romain") } } is equivalent to bind() from singleton { Person("Romain") }
      • bind<IPerson> { singleton { Person("Romain") } } is equivalent to bind<IPerson>() with singleton { Person("Romain") }
      • bind { scoped(SessionScope).singleton { Person("Romain") } } is equivalent to bind() with scoped(SessionScope).singleton { Person("Romain") }
      • etc.
    • Simplified binding APIs
      • bindFactory / bindProvider / bindSingleton / bindMultiton / bindInstance / bindConstant
      • bindSingleton { Person("Romain") } is equivalent to bind() from singleton { Person("Romain") }
      • bindSingleton<IPerson> { Person("Romain") } is equivalent to bind<IPerson>() with singleton { Person("Romain") }
      • etc.
    • Documentation
  • FRAMEWORK
    • Adding Compose support for both Android (Jetpack) and Desktop (JetBrains).
  • Android
    • Deprecate functions di() in favor of closestDI() to avoid import conflicts
  • Ktor
    • Deprecate functions di() in favor of closestDI() to avoid import conflicts
Kodein - 7.4.0

Published by romainbsl over 3 years ago

  • Kotlin 1.4.31
  • Maven Central publication
Kodein - 7.3.1

Published by romainbsl over 3 years ago

Enable new JS IR backend

Kodein - 7.3.0

Published by romainbsl over 3 years ago

  • CORE
    • Kotlin 1.4.30
    • Documentation
Kodein - 7.2.0

Published by romainbsl almost 4 years ago

  • CORE
    • Kotlin 1.4.20
    • Fix memory leak with DI context
    • Context finder and translator can now access DI container's bindings
    • Kodein-Type 1.4 + other dependencies
Kodein - 7.1.0

Published by romainbsl about 4 years ago

  • DOCUMENTATION

  • CORE

    • Kotlin 1.4.0
    • Explicit public API mode
    • Fixed possible memory leak with DI context
    • Deprecation cycle
  • BUILD

    • Gradle 6.5.1
    • New Internal Gradle Plugin
    • New snapshot workflow
Kodein -

Published by romainbsl over 4 years ago

  • DOCUMENTATION

  • CORE

    • Modules refactoring: org.kodein.di.generic-jvm / org.kodein.di.erased combined into org.kodein.di
    • New type system with typeOf to handle generics, for non JVM targets only.
    • Package deprecation: org.kodein.di.generic, org.kodein.di.erased.
    • Internals: non nullable context types / test re-organization
    • Deprecation cycle
  • FRAMEWORKS

    • Android / Ktor / TornadoFX : Migration from 6 to 7
  • DEMOS

  • BUILD

    • Gradle 6.3
    • New Internal Gradle Plugin
    • Github Actions
Package Rankings
Top 19.81% on Repo1.maven.org
Badges
Extracted from project README
Maven Central Kotlin MIT License Slack channel
Related Projects