All Versions
37
Latest Version
Avg Release Cycle
47 days
Latest Release
462 days ago

Changelog History
Page 3

  • v0.9.3

    Gradle & Continuous Integration

    🔖 version published with new build chain

  • v0.9.2

    Core

    • ⚡️ [UPDATED] build updated to Kotlin 1.2.31
    • ⚡️ [UPDATED] dissociate overload with dynamic parameters on get() and inject() for better autocomplete suggestions
    • 🛠 [FIXED] fix startKoin() property loading from boolean loadProperties
    • 🛠 [FIXED] inject by name take now care of injected type #92

    Android

    • 🛠 [FIXED] startKoin() doesn't break RestrictMode anymore and you can avoid properties load directly from koin.properties #96
    • ⚡️ [UPDATED] dissociate overload with dynamic parameters on get() and inject() for better autocomplete suggestions

    Android Architecture

    • ⚡️ [UPDATED] dissociate overload with dynamic parameters on viewModel(),getViewModel()andgetSharedViewModel()` for better autocomplete suggestions
    • ⚡️ [UPDATED] now exclude gradle dependency against LiveData

    Samples

    • 🛠 FIXED Ktor hello appp sample
  • v0.9.1

    DSL

    • 🛠 [FIXED] Parameter propagation - You can now reuse params in get() to propagate it #66

    Core

    • [ADDED] Parameters are now expressed via Kotlin function to allow lazy evaluation #67
    • ⚡️ [UPDATED] Parameter propagation #66
    • 🛠 [FIXED] Stack resolution engine fixed #72
    • 🔊 [FIXED] Better Logs, Error & Stacktraces
    • 🛠 [FIXED] Properties loading from external properties file can read values as String/Integer/Float

    Android

    • [ADDED] get() direct dependency eager fetching function for Activity/Fragment/Service #78

    Android Architecture

    • [ADDED] To help misuse the Koin ViewModel API, we introduce the getSharedViewModel() and sharedViewModel() from Fragment, to reuse ViewModel from parent Activity. getViewModel() and viewModel() now creates ViewModel instance (no FromActivity parameter anymore)
    • ⚡️ [UPDATED] ViewModel factory logs to see what Activity/Fragment is getting ViewModel instance
  • v0.9.0

    DSL

    • 🗄 [DEPRECATED] - provide - can be directly replace with bean
    • ⚡️ [UPDATED] - bean and factory can now use bind
    • [ADDED] - defintion function inside bean or factory can now have parameters

    Core

    • 🛠 [FIXED] Context resolution and modulePath isolation reworked - now fully functionnal
    • 🛠 [FIXED] Stack resolution
    • [ADDED] StandAloneContext function loadKoinModules to load Koin modules whether Koin is already started
    • [ADDED] StandAloneContext function loadProperties to load Koin properties whether Koin is already started
    • [ADDED] by inject() function handle parameters to definition (#59)
    • 🛠 [FIXED] Logging with class name need introspection
    • 🚀 [ADDED] Context lifecycle notification callback - to allow a callback when releaseContext() is called on a context. You can register with StandAloneContext.registerContextCallBack() (#58)

    Android

    • 0️⃣ [FIXED] StartKoin have a logger parameter, with default as AndroidLogger(), to allow specify logging implementation to use with Koin (#50) - allow no logging at startKoin of logger is set to EmptyLogger()
    • [ADDED] by inject() function handle parameters to definition (#49)

    Android Architecture

    • 🛠 [FIXED] fix viewModel extensions rewritten from LifecycleOwner interface
    • 🛠 [FIXED] fix by viewModel() API to allow use KClass object argument instead of type inference - offers now getViewModelByclass() and viewModelByClass() (#56)
    • [ADDED] by viewModel() function handle parameters to definition (#49)
    • [ADDED] by viewModel() function handle key instance for Android ViewModelFactory (#49)
  • v0.8.2

    Core

    • 🛠 fix internal instance registry due to compat error with Kolin 1.1.61 & 1.2.21 - broke Koin API for app using jdk 7 under the hood - issue #43
  • v0.8.1

    Android Architecture

    Now declare your ViewModel lazyly in attributes, with by viewModel() like by inject()

    • by viewModel() lazy function call the getViewModel() function and allow val attribute declaration of your ViewModel (like with by inject()) - (issue #37)
    • 👍 Better support to share ViewModel between Activity and Fragments
    • ⚡️ android.arch.lifecycle:extensions updated to 1.1.0

    Spark

    start and startKoin functions have been merged

    • startSpark {} has been renamed to start {} and have a modules arguments to list all of your modules
    • 🔀 start() and startKoin has been merged to start( modules = <List of modules>)
    • stopSpark{} has been renamed to stop {} and include closeKoin()

    Core

    • Kotlin 1.2.21
    • 🛠 Internal fixes around Bean definition lookup / Duplicated defintion (issue #39)
    • 🛠 Fixed loading from koin.properties (for embedded jar)
  • v0.8.0

    Introducing new modules: koin-spark and koin-android-architecture

    Android Architecture

    • viewModel DSL keyword (specialized provide alias for ViewModel), to declare an Architecture Components ViewModel
    • getViewModel() function in Activities and Fragments, to get and bind ViewModel components

    Spark

    • controller {} DSL keyword (specialized provide alias), to declare Spark controllers classes
    • start() {} function to start Spark server (optional port number) - lambda expression to allow the start of Koin and any controller instantiation
    • runControllers() function to instantiate all spark controllers, declared with controller keyword DSL

    Core

    • 👍 Better logging and error display
    • 🛠 Some fixes about internals resolution for bound types
  • v0.7.1

    ⚠ ⚡️ This 0.7.x branch brings great simplifications in DSL and API. Users from Koin 0.6.x may check the What's new in 0.7.x guide 👍

    Kotlin compilation has been updated to 1.1.61

    Core

    • Simplified DSL modules: no more need of Module class. Now use directly the applicationContextfunction
    • 0️⃣ Default Koin Logger to PrintLogger instead of EmptyLogger
    • a definition can be overriden (with a definition same name and type)
    • DSL provide aliases with bean and factory
    • 💅 direct interface binding writing style (avoid to use bind keyword)
    • Koin instances resolution is now thread safe and compatible with coroutines
    • 👍 starter chain reviewed to allow better extension of startKoin()
    • 👍 better logs to display how instance and reoslution are made
    • 0️⃣ Context isolation disabled by default. Can be activitaed later

    Android

    ⚠ Android ContextAware components have been dropped. Please, check the migration guide

    • 0️⃣ Default Koin Logger to AndroidLogger instead of EmptyLogger
    • No need anymore of AndroidModule, just use applicationContext to declare a module
    • 👍 Android extensions have been reworked to avoid need of support Library
    • androidApplication() is a DSL extension to provide Android Application resolution (can also be done with get<Application>())

    Samples

    • ⚡️ Updated Android weather app, with multiple Activity and better demo for property usage
    • Simple Kotlin app sample added
  • v0.6.1

    Core

    • ➕ Added context/sub-contexts visibility checks
    • startKoin() is now part of standAloenContext
    • closeKoin() now close actual Koin context
    • KoinComponent has get() and getProperty()

    Android

    • reworked starKoin() function
    • reviewed android base extensions to find high-level extension point

    Samples

    • ➕ added kotlin-simpleapp - sample application for pure Kotlin
    • ➕ added ktor-starter - for demoing Koin for Ktor web app development

    Ktor

    • koin-ktor module has been started
  • v0.6.0

    🚀 The target of this release was to simplify and make clearer the syntax of Koin.

    DSL

    • 0️⃣ getProperties can now have a default value

    Core

    • Stand alone complex & KoinComponent have been reviewed
    • 📇 renamed startContext functions to startKoin()
    • KoinComponent

      • inject/property
      • setProperty
      • release context or properties
      • startKoin
    • Koin can load properties from koin.properties file or system properties

    • startKoin() have now a properties parameter to give additional properties at startup

    No more getKoin() !

    ✅ KoinTest

    • directly extends KoinComponent
    • ✅ context assert/test tools & extensions
    • dryRun() is usable in a Kointest component, after a startKoin

    Android

    • 🛠 fix/better extensions for Android
    • bindProperty() renamed to setProperty()
    • startAndroidContext() has been renamed to startKoin()
    • 🔧 ContextAware Components can be configured for drop stratgey (onDestroy or onPause). Default method is onPause
    • 🍱 load assets/koin.properties if present