- CI: Run Arm64 Test on macOS #234
- Kotlin 2.0.0
- Update Kotlin 2.0.0, Gradle 8.8, Kotest 5.9.0, jvmToolchain(17) #230
- better-sqlite3 9.2.2
- Update better-sqlite 9.2.2, fix python3 3.12 ModuleNotFoundError #204
- AGP 8.3.1
- indexeddb 0.7.1
- fix(deps): update dependency com.juul.indexeddb:core to v0.7.1 #218
This is a release for updating libraries:
- Kotlin 1.9.10
- SQLDelight 2.0.0
- Gradle 8.3
- AGP 8.3
- Android minSdk = 21 (from minSdk = 16)
- Migrate SQLDelight 2.0.0 179
- Android Platform: SQLite lock file to ${name}.db.lck 182
- fix Linux Event Test, fix KottageEventFlow #148
- Add CI Test:
- Refactor Gradle Scripts
- Update Kotlin, use New hierarchy SourceSets
- Update Gradle 8.3
- Update AGP 8.3
- chore(deps): update gradle.android to v8.1.1 #156
- fix: KottageContext constructor modifier #138
- Kottage constructor requires CoroutineScope now.
val kottage: Kottage = Kottage(
name = "kottage-name",
directoryPath = databaseDirectory,
environment = kottageEnvironment,
scope = scope // This kottage instance's living CoroutineScope
)
- change: Database schema to v4
- add index item_event_item_list_type_item_type_created_at #120
- Support Kottage.close() #114
- add KottageListPage.isNotEmpty() #112
- Add list event on item update #117
- Add KottageList.eventFlow(), exclude List Event from KottageStorage.eventFlow() #120
- Add KottageStorage.dropStorage(), KottageList.dropList(), KottageList.removeAll() #122
- KottageList.getPageFrom hangups with invalid positionId #110
- fix PRAGMA query leak on Android #115
- fix: getPageFrom previousPositionId, nextPositionId nullability #123
- update Kotlin/JS nodejs's better-sqlite3 8.0.0, SQLite3 3.40.0 #86
- add default KottageCalendar implementation #94
- 🎉 Kotlin/JS nodejs support #79
- implement Kottage.clear() on JS browser #83
- 🎉 Kotlin/JS browser support #58
- change: Database schema to v3
- fix model class's internal modifier #71
- fix Event can not be received when that has same create_at time 72
- change: KottagePage.hasPrevious, hasNext are false if next page has no available items
- now flags are false in case of nextPositionId != null but no available items.
- fix kotlinx.coroutines and kotlinx.serialization to api() dependency
- implement: KottageStorage.property() property delegate. #36
- add KottageEncoder #40
- This supports user's custom encoder, such as encryption.
- add ignoreJsonDeserializationError option #42
- fix: prevent auto compaction running twice #35
- add KottageEntry properties #36
- delete item_stats record when it's empty #41
- fix Database schema v2 migration
- fix: invalid column order if database have been migrated from v1 schema.
- A KottageList feature added.
- fix: KottageStorage.eventFlow() contains other Storages events.
- Database schema v2
- Database will be migrated automatically on the connection open.
- item_event.item_key format changed.
{item_type}+{item_key}
to{item_key}
. This affect the events created by kottage before v1.0.0.
- fix Maven metadata: project url: https://github.com/irgaly/kottage
- initial release