-
API
- Better event bus API with Kotlinx Coroutines Flow support.
-
CORE
- The Model Cache now checks for mutations between insertion & retrieval (with hashcode). This is far from foolproof, but it's something!
-
API
- Support encryption (see documentation).
org.kodein.db.model.*Primitive
types are deprecated (you should create your won model).- Support for multiple value in the same index (which is different from composite value - see documentation).
- Operation options are now specialized for each operation (
Options.Read
andOptions.Write
are deprecated).
-
CORE
- Kotlin 1.5
- Kodein Memory 0.10.0
- Kodein Log 0.11.0
- KotlinX Atomic Fu 0.16.1
- KotlinX Serialization 1.2.0
- Windows JNI DLL is now built with Visual Studio.
-
INTERNALS
- New version of Index value & ref value storage. This is backward compatible, and previous version is handled correctly.
- API
db.key(vararg id: Any)
is renameddb.keyById(vararg id: Any)
to align withgetById
&deleteById
- A
Key
can now be serialized as aValue
, and therefore be part of an index.
-
API
Value.ofAscii
is replaced byValue.of
which supporte UTF-8.
-
CORE
- Kotlin
1.4.31
. - KotlinX Serialization
1.1.0
. - kodein-Log
0.10.0
. - Kodein-Memory
0.7.0
.
- Kotlin
-
BREAKING CHANGES
Value.ofAny
andValue.ofAll
are removed in favour ofModelDB.valueOf
andModelDB.valueOfAll
(to allow the use of ValueConverters). This change should only affect middlewares as regular users should use models instead of values.- Removed the
Index
type asSet<Index>
is less correct thanMap<String, Any>
since there can be no two indexes with the same name. - Because of the transient dependency to
KotlinX-DateTime
by the new version ofKodein-Log
, the KotlinX maven repositories is temporarily needed (https://kotlin.bintray.com/kotlinx).
-
API
DBListener
now receivesKey<M>
instead ofKey<*>
.- Added
DB.getById
&DB.deleteById
. - Introducing
ValueConverter
, which allows to add to the database new types that can be used as values (i.e used in IDs or indexes).
-
ANDROID
- Fixed native compilation.
-
CORE
- Kotlin
1.4.21
. - KotlinX Serialization
1.0.1
. - kodein-Log
0.8.0
. - Kodein-Memory
0.5.0
.
- Kotlin
- CORE
- Kotlin
1.4.20
. - KotlinX Serialization
1.0.0
. - Kodein-Log
0.7.0
. - Kodein-Memory
0.4.1
.
- Kotlin
-
BREAKING CHANGES
- JNI for desktop JVM artifacts renamed to
kodein-db-jni-jvm
,kodein-db-jni-jvm-linux
,kodein-db-jni-jvm-macos
&kodein-db-jni-jvm-windows
(added-jvm-
). DB.factory
renamed toDB.default
. Not a breaking change if you are usingDB.open
&DB.destroy
utilities.
- JNI for desktop JVM artifacts renamed to
-
MODULES
- new
kodein-leveldb-inmemory
andkodein-db-inmemory
modules that contain in-memory only backend. DO NOT USE IN PRODUCTION! This is for tests only!
- new
-
CORE
- Kotlin
1.4.10
.
- Kotlin
-
BUILD
- Restored Windows build.