- 🛠 Fixes a bug (#37) where RxJava was not an optional dependency
- 🔄 Changes public API to use
actionUsingObservableformat for Rx variants of methods to avoid confusion with regular Async methods that use AsyncTasks. For example, Rx variant of
- 0️⃣ RxJava is now a provided dependency. This means that Reservoir will not include come bundled with it by default saving you a lot of unnecessary methods if you don't want to use RxJava.
- 🚚 Apache Commons IO dependency is now removed reducing the method count significantly.
- ➕ Adds support for collections. Now you can pass in your custom type to easily store and retrieve collections.
- ➕ Adds support for custom GSON instance. You can now initialize Reservoir with your own GSON instance with custom configurations.
- 👍 RxJava support.
- ➕ Added clear and clearAsync methods to the public API. These methods completely clear the cache and delete all the stored key-value pairs.
- ➕ Added tests.
- 🚚 Moved distribution from Maven Central to JitPack.
- Reservoir now uses a separate cache directory inside the application specific cache directory to store data.
- 🛠 Fix: If init is not called before calling any other methods, an IllegalStateException is thrown.
- 🛠 Fix: reservoir now checks if size of object being inserted is greater than cache size and throws and IOException if it is.
- 🛠 Fix: removed allowBackup from manifest.
- ➕ Added delete and deleteAsync.
- ✂ Removed launcher icons and renamed resources to prevent conflicts with app that uses lib.
- 🛠 Fix: typos in java docs.
- 🛠 Fix: get and getAsync would not throw NullPointerException if the returned object was null.
✂ Removed local jar dependencies for DiskLruCache, GSON and Commons IO and added gradle dependencies in the library.
➕ Added onSuccess() and onFailure() callback methods so that clients don't have to check if exception is null each time.
🎉 Initial release.