All Versions
61
Latest Version
Avg Release Cycle
62 days
Latest Release
396 days ago
Changelog History
Page 4
Changelog History
Page 4
-
v5.3.0 Changes
October 03, 2018CORE
- Introducing non-synced singletons & multitons (can be used with the
sync = false
parameter).
- Introducing non-synced singletons & multitons (can be used with the
NATIVE
- New
kotlin-platform-native
plugin
- New
ANDROID
- Fixed a memory leak in
AndroidLifecycleScope
(Thanks to Eliezer Graber). - Fixed a crash when binding arrays.
- Fixed a memory leak in
INTERNALS
- Builders are interfaces
-
v5.2.0 Changes
April 20, 2018CORE
- Named Modules cannot be imported more than once.
- Introducing
importOnce
that allows to import a named module if it has not already been imported: see documentation. - Introducing
newScopeRegistry
that creates either a single or a multime item registry. - ANDROID
- Android support has been split between
kodein-di-framework-android-core
,kodein-di-framework-android-support
(for the Android Support library) andkodein-di-framework-android-x
(for the AndroidX library): see documentation.
-
v5.1.1 Changes
April 20, 2018- ANDROID
- Fixed
ActivityRetainedScope
NullPointerException regression.
- Fixed
- ANDROID
-
v5.1.0 Changes
April 16, 2018CORE
- BREAKING CHANGE: updated the
ScopeRegistry
andScope
interfaces to get anA
generic argument that allows to create scopes specialized for a type of factory argument. - Introduced the
ScopeCloseable
interface that allows singletons / multitons objetcs to be closed when they are removed from the scope: see documentation. - The
SingleItemScopeRegistry
class now allows for key change, which closes the previous value and keeps the new. This allows forscoped(SingleItemScopeRegistry<Any?>()).multiton
: see documentation. - Unnamed module creation deprecated (in favour of named modules).
- BREAKING CHANGE: updated the
ANDROID
activityRetainedScope
deprecated in favour ofActivityRetainedScope
.ActivityRetainedScope
is compatible withScopeCloseable
.androidScope
deprecated in favour ofAndroidComponentsWeakScope
.- Introducing
AndroidLifecycleScope
: a scope that uses LifecycleOwner components to close properly close instances.
-
v5.0.1 Changes
April 16, 2018FRAMEWORK
- The Kodein-DI library is officially part of the in-progress Kodein Framework!
GRADLE
- Project is entirely configured with Gradle Kotlin DSL
- Project relies configuration relies heavily on
kodein-internal-gradle-plugin
which abstracts the configuration of all Kodein Framework components.
CORE
- Added
factoryX
functions to enable to directly retrieve a multi-argument function(A1, A2) -> T
when using multi-argument bindings. - ANDROID
- Corrected a stack overflow error when using generic types on SDK 19 and lower
- Added
NATIVE
- Using new native distribution model to allow gradle dependency retrieval
-
v5.0.0 Changes
April 10, 2018DOCUMENTATION
- Fragmented documentation: http://kodein.org/Kodein-DI/
- Getting started: http://kodein.org/Kodein-DI/?5.0/getting-started
- Migration from version 4 to 5: http://kodein.org/Kodein-DI/?5.0/migration-4to5
CORE
- Package change:
org.kodein.di
,org.kodein.di.generic
,org.kodein.di.erased
. - Everything is lazy by default.
- Distribution via Bintray's JCenter.
- Compatible with Kotlin/Native (Huge thanks to Nikolay Igotti and his amazing Kotlin/Native team!).
- Support for subtype bindings: see documentation.
- Ability to retrieve
allInstances
,allProviders
orallFactories
that match subtypes of a given type. - Support for multi-argument factories & multiton.
- Changed the
extend
semantic to manage copy of state-holding bindings. see documentation. - Complete rewrite of custom scopes.
- Better recursion error messages.
- Better currying syntax:
kodein.instance(arg = whatever)
. - Injector has been replaced with
KodeinTrigger
andLateInitKodein
, each taking a part of the responsibility. - Introducing
LateInitKodein
. scopeSingleton
andrefSingleton
are now options ofsingleton
. Same goes formultiton
.- Support for non state-holding bindings to access the
receiver
. - Support for an external source that will be queried when Kodein has no answer.
- Package change:
ANDROID
- Full rewrite of the android components, effectively removing them, replacing them with a much lighter system. See documentation
INTERNALS
- Full rewrite of the retrieval engine, introducing
KodeinTree
to select the matching binding according to a query.
- Full rewrite of the retrieval engine, introducing
-
v4.1.0 Changes
July 28, 2017CORE
- Kotlin 1.1.3
- Introducing
CompositeTypeToken
,erasedComp1
,erasedComp2
anderasedComp3
to describe generic types in an erased-only environment. - Introducing the
SetBinding
binding for Set multi-binding.
ANDROID
KodeinSharedPreferencesInfo
is now outside of autoAndroidModule.- Added
KodeinPreferenceFragment
.
INTERNALS
JxInjector
now delegates to the internalJxInjectorContainer
.- Refactored
TypeToken
-
v4.0.0 Changes
June 08, 2017FEATURES
- Kotlin 1.1.2-4.
- The
generic
function is now 40% faster.
BUG FIX
- Kodein JS now intercept type reflection failure (which happens when reflecting on primitive types on older versions of Kotlin).
REMOVAL
- Removed the
sequence
coroutine binder (too experimental).
- Removed the
-
v4.0.0-beta2 Changes
April 24, 2017FEATURES
- Kotlin 1.1.0.
- Javascript modules (
kodein-js
&kodein-js-conf
). Uses the erased methods as JS does not support generic type reflection. - The Kodein binding DSL is now protected with
@DslMarker
to prevent weird things from happenning. - New binding factory:
sequence
which uses coroutines to bind a sequence. - ๐ฅ BREAKING CHANGES
- Removed all
erased*
andgeneric*
methods. Each core method now takes type parameters that are obtained with eithergeneric()
orerased()
. - Functions and classes that were part of the internal system, but declared public (because inline function references) are now truly internal.
- Removed all deprecated API: new major version means clean slate.
- STRUCTURE CHANGES
- Every type is now represented with a
TypeToken<T>
instead of aType
. - ๐ BUG FIX
- issue #61: FullTypeStringer failed on a type with no package.
-
v3.4.1 Changes
April 24, 2017- ๐ BUG FIX
- issue #61: FullTypeStringer failed on a type with no package.
- ๐ BUG FIX