koin v2.2.0 Release Notes

  • koin-androidx-scope

    • [ADDED] New ScopeActivity. ScopeFragment, ScopeService to enable Scope API direclty into Android components. Offers injection directly from tied Scope.
    • ๐Ÿ—„ [BREAKING] Old Scope API extensions are deprecated: scope, lifecycleScope

    koin-android-scope

    • [ADDED] New ScopeActivity. ScopeFragment, ScopeService to enable Scope API direclty into Android components. Offers injection directly from tied Scope.
    • ๐Ÿ—„ [BREAKING] Old Scope API extensions are deprecated: scope, lifecycleScope

    koin-androidx-viewmodel

    • [ADDED] New ViewModelOwnerDefinition API definition for lazy define ViewModelStore & SavedStateRegistryOwner
    • ๐Ÿ‘ [BREAKING] rewrite ViewModel API to better use StateViewModel factory and allow to use ViewModelOwnerDefinition = () -> ViewModelOwner ViewModelOwner lazy definition. Bundle is now used as state lazy attributes, BundleDefinition = () -> Bundle
    • [ADDED] verification to help check parameter injection for SavedStateRegistryOwner, as the right argument (misplaced injection param)
    • [ADDED] New ViewModelOwnerDefinition API definition for lazy define ViewModelStore & SavedStateRegistryOwner
    • ๐Ÿ‘ [BREAKING] rewrite ViewModel API to better use StateViewModel factory and allow to use ViewModelOwnerDefinition = () -> ViewModelOwner ViewModelOwner lazy definition. Bundle is now used as state lazy attributes, BundleDefinition = () -> Bundle
    • [ADDED] verification to help check parameter injection for SavedStateRegistryOwner, as the right argument (misplaced injection param)

    koin-android-viewmodel

    • [ADDED] New ViewModelOwnerDefinition API definition for lazy define ViewModelStore
    • [BREAKING] rewrite ViewModel API and allow to use ViewModelOwnerDefinition = () -> ViewModelOwner ViewModelOwner lazy definition
    • [ADDED] New ViewModelOwnerDefinition API definition for lazy define ViewModelStore
    • [BREAKING] rewrite ViewModel API and allow to use ViewModelOwnerDefinition = () -> ViewModelOwner ViewModelOwner lazy definition

    koin-core

    • ๐Ÿ›  [FIXED] fixed time API - Kotlin 1.4
    • ๐Ÿ— [ADDED] New KoinScopeComponent to help build component with Koin scopes
    • ๐Ÿšš [REMOVED] removed generic Scope API extensions, was preivously on any class. Please use now KoinScopeComponent
    • ๐Ÿ—„ [DEPRECATED] KoinContextHandler in favor of GlobalContext
    • ๐Ÿ”Œ [ADDED] Better Definition to help further Kotlin Compiler Plugin, simplify Module loading process (API to help declare definition without DSL)
    • ๐Ÿšš [REMOVED] ScopeDefinition internal from module, and prefer qualifier to avoid create stucture outside of registry
    • ๐Ÿ”€ [REMOVED] removed inconsistent synchronized calls
    • ๐Ÿ”€ [ADDED] cleaned synchronized API - better call from GlobalContext to ensure synced call
    • [BREAKING] empty scope is not taken in account anymore, a scope definition is created only if there is at least one scoped definition
    • ๐Ÿ— [ADDED] Injection parameters can be used directly as a dependency and can be resolved as get() or directly with builder API
    • ๐Ÿ—„ [FIXED] fixed starting context effect (deprecating KoinContextHanlder for GlobalContext)

    โœ… koin-test

    • ๐Ÿคก [FIXED] fixed checkModules to use Mock for injected parameters or default origin value of a Scope
    • [ADDED] setup detault values for injected parameters, for checkModules
    • ๐Ÿšš [BREAKING] AutoCloseKoinTest is now an interface, please remove any constructor
    • โšก๏ธ [UPDATED] fixed DefinitionParameters to add the ability to know the injected type value

    โœ… koin-test-junit5

    • โœ… [ADDED] JUnit5 test module