All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.2.1 - 2024-12-10
- Update JDK for GHA jobs
- Update Gradle - This requires JDK 17
- Update kotlin, coroutines, room, gson and test libraries
- Update room now compiles kotlin instead of java
- Android compile sdk is now 34 and targets 33
- Caching interface signatures have changed to allow caching to happen in parallel
- Update dokka and github actions to compile correctly
- Forcing
get,set,replaceanddeletefunctionality to be onDispatchers.IO
preload/preloadBlockingnow return a status objectPreloadReportwhich contains info about any errors encountered while preloadingpreload/preloadBlockingnow catch errors during deserialization of individual values - any errors here are reported in thePreloadReport(as above)- For completeness similar info has been added to the profiling data (see
Vessel.snapshot) - Fixed issue #36
1.0.0 - 2023-06-16
- New Vesel functions
preloadandpreloadBlocking, to load all data into the cache - this is a breaking change to the Vessel interface - New Vessel getter
profileData, which returns profiling data - time spent in the database by each thread/coroutine, cache hits - New constructor parameter
profile, to enable/disable above profiling
get/getBlockingnow caches the value read from the databaseset/setBlockingnow checks the cache before writing to avoid redundant writes to the databasedelete/deleteBlockingnow caches that the value was deletedreplacesimilarly caches the results of the replace operation- all of the above APIs now check the cache before going to the database, to avoid unnecessary I/O
- Update Robolectric to 4.7 - this allows testing on Arm Macs
0.1.3 - 2022-07-15
- VSL-24 Change code coverage engine to Kover + IntelliJ
- Remove
manifest =lines from Robolectric@Configas per http://robolectric.org/migrating/#migrating-to-40 - Remove
@ExperimentalCoroutinesApifromflowaccessor due to IDE recommendation
0.1.2 - 2022-03-23
- VSL-25 Added new
replacemethod overload to support passing in the old data model class type - VSL-3 Added the ability to enable caching for Vessel
- VSL-25 Deprecated
replacemethod overload that required the old data model object to be passed in
0.1.1 - 2021-09-10
- VSL-2 Upgrade Kotlin version from 1.3.72 ➞ 1.5.21
- VSL-5 Upgrade Android Gradle plugin version from 3.6.4 ➞ 7.0.1
- VSL-6 To match that, upgraded Gradle from 5.6.4 ➞ 7.0.2
- This in turn required changing our JDK version from 8 ➞ 11
- Upgrade the build tools from 30.0.2 ➞ 31.0.0
- Upgrade Room from 2.2.5 ➞ 2.4.0-alpha04 to be compatible with the Kotlin upgrade (2.3.0 failed to compile)
- Upgrade jacoco from 0.8.6 ➞ 0.8.7
- Upgrade Koin from 2.1.6 ➞ 3.1.2
- Updated build tools from 30.0.2 ➞ 31.0.0
- Updated compile SDK from 30 ➞ 31
- Previously the published dependencies (pom.xml) mapped
implementation➞compileandapi➞runtime. That has now been corrected toimplementation➞runtimeandapi➞compile.
0.1.0 - 2020-10-16
- Initial release of Vessel. Documentation and Release Process still WIP.